martes, 23 de febrero de 2016

NodeMcu - Primeros Pasos -1



Estimados hace un par de dias me llego esta tarjeta y he estado investigando y jugando bastante, así que voy a dar unos pequeños tips con esta tarjeta
.
Software a ocupar:



1- Paso siempre actualizar el software de tu placa.

Busca la última versión estable y actualiza tu placa , ya que esto corrige bug del software que trae por defecto. Para ello buscamos la última versión en el link superior y para poder aplicar usamos "NodeMcu Flasher"  esta aplicación selecciona el puerto , la velocidad a la que deseas que trabaje tu placa (independiente la que traiga programada esta la reemplaza) y por último el archivo con el firmware y ejecutar.


2 - Paso , Usa en lenguaje nativo de la NodeMcu ,si bien esta permite usar comandos c++ con la IDE de Arduino , va a mejorar tu experiencia con este dispositivo el usar el lenguaje por defecto para entender de mejor manera su funcionamiento . ya que con la IDE Arduino aun le queda detalles y no sabrás si es el software interno  o el código en arduino el que no te toma las instrucciones cargadas.



Vamos dividir la pantalla en dos pantallas para explicar.



Si tienes problema para conectar tu placa debes hacer lo siguiente:
  1. Conectar placa al puerto usb y verificar en la pantalla "administrador de dispositivo" que puerto com te asigna.
  2. En  "ESPlorer" verificar la velocidad que seleccionó al Flashear la placa y conectar
  3. Presionar el botón "RST" y en la pantalla donde se muestra el código ejecutado, debería aparecer la versión del del framework.
Si estos 3 pasos funcionaron sin problemas ya podrás ejecutar los comandos de ejemplo que aparecen en la pagina oficial de http://www.nodemcu.com

Esquema de pines que posee NodeMcu



Ejemplo que puedes probar es el siguiente :

NodeMCU - Led
  • GND - Catodo Led
  • D4 - Anodo Led
Este código va a encender el Led a intervalos de 1 segundo , si se fija los comandos escritos no aparece ninguna instrucción  Loop es porque la placa de esta en un loop infinito.


lighton=0
pin=4
tmr.alarm(0,1000,1,function()
gpio.mode(pin,gpio.OUTPUT)
if lighton==0 then
    lighton=1
    gpio.write(pin,gpio.HIGH)
    print("Encender")
else
    lighton=0
    gpio.write(pin,gpio.LOW)
    print("Apagar")  
end
end)





miércoles, 17 de febrero de 2016

Arduino Nano - Relay y sensor de movimiento PIR


Estimados acabó de terminar de jugar con mi placa Nano Arduino utilizando un sensor de movimiento (PIR) y un modulo Relay , me ha agradado bastante lo fácil de programar y conectar estos  dispositivo con los casi nulos conocimientos de electrónica que poseo , y que quise compartir lo aprendido.


Lista de materiales a utilizar.


  • 1 Placa Arduino Nano
  • 1 Sensor PIR
  • 1 Modulo Relay
  • 1 Led
  • 10 cables macho-macho y macho hembra.
  • 1 Protoboard.
Aca explico la ilustración de cómo conecté cada componente desde la Arduino a los diferentes dispositivos.

Arduino -PIR
  • GND - GND
  • D8 - OUT
  • 5V - VCC
Arduino - Relay
  • GND - GND
  • D2 - OUT
  • 5V - VCC
Arduino - Led
  • GND - Catodo Led
  • D3 - Anodo Led

Aquí comparto el código fuente para ser cargado en la placa arduino, Esto además activar el led y el modulo relay, también es capaz de enviar atraves del puerto serial  mensajes cuando se activan o apagan los dispositivos, esto podría estar conectado a una placa ethernet o una placa inalámbrica y enviar la información a algun servidor que que este recolectando los datos.


const int LEDPin= 3;
const int PIRPin= 8;
const int RELPin= 2;

int pirState = LOW;           // de inicio no hay movimiento
int val = 0;                  // estado del pin
 
void setup() 
{
  pinMode(RELPin, OUTPUT); 
  pinMode(LEDPin, OUTPUT);
  pinMode(PIRPin, INPUT);
  Serial.begin(9600);
}
 
void loop()
{
  val = digitalRead(PIRPin);
  if (val == HIGH)   //si está activado
  { 
    digitalWrite(LEDPin, HIGH);  //LED ON
    digitalWrite(RELPin, HIGH);  //RELAY ON
    delay(9000);
    if (pirState == LOW)  //si previamente estaba apagado
    {
      Serial.println("Sensor activado");
      Serial.println("Relay LUZ Encendido");
      pirState = HIGH;
    }
  } 
  else   //si esta desactivado
  {
    digitalWrite(LEDPin, LOW); // LED OFF
    digitalWrite(RELPin, LOW);  //RELAY ON
    if (pirState == HIGH)  //si previamente estaba encendido
    {
      Serial.println("Sensor parado");
      Serial.println("Relay LUZ Apagado");
      pirState = LOW;
    }
  }
}



Esto se podría usar fácilmente en domótica como el activar las luces de áreas especificas de la casa , guarda ropas , baños ,aparcamiento de vehículos, etc. El costo de estos dispositivos es realmente bajo ya que el costo de estos dispositivos no supero los $8.000.- pesos chilenos y en cuanto a espacio que ocupa eso podría entrar en una caja estanca. solo habria que ver como alimentar el dispitivo pero con un cargador de celular esto quedaría solucionado.

lunes, 15 de febrero de 2016

Nodemcu, internet de la cosas

Estimados acá les traigo una nueva placa que llegó a mis manos comprada en Valdivia , a través de un amigo dueño de http://www.electroingenio.net/ . Hace una par de meses estuve leyendo un artículo sobre esta pequeña maravilla y me entró la curiosidad de que tan fácil sería de usar en comparación a arduino mano.

Para mi sorpresa es más grande que la arduino nano ,para poder configurarla se conecta por usb, pero utiliza el cable que se usa actualmente los smartphone , los pines que trae para alimentar otros shield trabajan con 3 volt y posee dos botones uno para bootloder y otro para reset.

Lo más complicado hasta ahora a sido buscar documentación y ejemplos en la web, a pesar que esta placa ha salido  hace un tiempo (2014) no existe una comunidad de desarrollo similar a la que posee la arduino, es de esperar que esto mejore ya que esta placa al tener un módulo de WiFi incorporado reduce el tamaño de los proyecto enfocado a control remoto o manejo de sensores remotos.

La lengua nativa de esta placa es "LUA", un lenguaje de fácil aprendizaje pero también se puede programar usando el software de arduino claro si con algunas limitaciones. ALgo que llamo mi atencion es que esta placa utiliza el procesador de la tarjeta WIFI para ejecutar los comandos y interactuar con los pines de conexión, el rango es bastante bueno de 8 y 10 metro dependiendo del lugar o los materiales del edificio.