Diferencia entre revisiones de «NodeMCU»

De ArduWiki
Saltar a: navegación, buscar
(Ejemplo 1)
(Ejemplo 2)
Línea 120: Línea 120:
  
 
== Ejemplo 2 ==
 
== Ejemplo 2 ==
 +
<syntaxhighlight lang="c++">
 +
void setup() {
 +
  pinMode(D2, OUTPUT);
 +
}
 +
 +
void loop() {
 +
  //El LED tiene una resistencia pull-up, por eso se enciende con LOW
 +
  digitalWrite(D2, LOW);
 +
  delay(1000); //Esperar un segundo
 +
  //Apagar el LED
 +
  digitalWrite(D2, HIGH);
 +
  delay(1000); //Esperar un segundo
 +
}
 +
</syntaxhighlight>
  
 
== Vea tambien ==
 
== Vea tambien ==

Revisión del 13:03 18 sep 2019

Descripción

NodeMCU integra el ESP8266 con un modulo WiFi (ESP-12E). Este módulo tiene, además del microprocesador (Tensilica), una antena PCB, un LED conectado al GPIO2 y una memoria flash de 16 Mbit (= 4 MB). Es un proyecto de código abierto, el firmware y el diseño hardware esta disponible en GitHub.

Cuando fue presentada, no existía la integración de ESP8266 con el entorno de IDE de Arduino. No usaba un lenguaje compilado sino uno interpretado llamado LUA. Como todas las placas que usan ESP8266, se les puede cargar cualquier firmware. Puede usarse desde el propio de NodeMCU con lenguaje LUA, a MicroPython. También se puede usar como una placa de Arduino, donde nosotros hacemos el firmware desde cero.

Caracteristicas

Especificaciones técnicas
Parámetro Valor
uC Tensilica ESP8266
Bus 32 bits
Velocidad 80-160 MHz
Memoria flash 4MB (512KB normal)
Memoria SRAM 2KB
Memoria EEPROM 1KB
Alimentación 5V (USB)
Entrada 3V3
Pines digitales 13 (6 PWM de 8 bits)
Pines analógicos 1 (A0) de ADC de 10 bits
Corriente por pines 12 mA
WiFi 2.4 GHz, 802.11, max 5 simultaneas

Pines

Especificaciones técnicas
Pin GPIO Nombre
D0 16 Digital 0 (LED)
D1 5 Digital 1
D2 4 Digital 2
D3 0 Digital 3
D4 2 Digital 4 (LED ESP-12E)
D5 14 Digital 5
D6 12 Digital 6
D7 13 Digital 7
D8 15 Digital 8
D9 3 Digital 9
D10 1 Digital 10
VIN +5V (USB)
3V +3.3V
G GND

Pines digitales

  • Tenemos 11 pines de entrada/salida digital. Pero no te recomiendo usar los pines 6~11 porque están conectados a la memoria flash.

PWM

  • ESP8266 tiene cuatro (4) salidas PWM.
  • El rango de frecuencia es de 100 Hz a 1 KHz.

Pines analogicos

  • El ESP8266 tiene un solo puerto análogo (A0) con ADC de 10 bits.

LEDs

  • LED1: D4 y pertenece al ESP-12E.
  • LED2: D0 es de la propia placa, parpadea durante la carga de un programa

Botones

  • Tiene dos botones: RST (reset) y FLASH, que permite activar el modo de carga de firmware.
  • Si usamos el IDE Arduino no son necesarios.
RST
Reset, reinicia la placa pero no borra código.
FLASH
Dejar estado de ejecución y pasar a estado de recibir código.

Puerto serie

  • El puerto serie esta en pin 1 (Rx) y pin 3 (Tx), están protegidos con resistencias de 470 ohms.
Rx0
GPIO 3
Tx0
GPIO 1
Rx1
GPIO 2
Tx1
GPIO 8

I2c bus

  • Soporta i2c maestro y esclavo.
  • Frecuencia maxima 100 kHz
SCL
GPIO 14
SDA
GPIO 2

Sintaxis

WiFi.mode(WIFI_STA);               //Modo cliente WiFi
WiFi.begin(ssid, clave);

Ventajas

  • Bajo precio, mucho menor que Arduino
  • WiFi incorporado

Desventajas

  • No muy intuitivo las referencias entre numero de pin y puerto GPIO.
  • Alimantacion de 3.3 V

Ejemplo 1

Ejemplo 2

void setup() {
   pinMode(D2, OUTPUT);
}
 
void loop() {
   //El LED tiene una resistencia pull-up, por eso se enciende con LOW
   digitalWrite(D2, LOW);
   delay(1000); //Esperar un segundo
   //Apagar el LED
   digitalWrite(D2, HIGH);
   delay(1000); //Esperar un segundo
}

Vea tambien

Referencias externas