|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
  AutoIt (Programación) Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  Teleco - Emisora de A.M. Visual Basic Cosas de Windows Webs interesantes
T Búsqueda en este sitio:


.

NodeMCU en español
NodeMCU - Juan Antonio Villalpando

-- Tutorial de NodeMCU en español --

Volver al índice del tutorial NodeMCU

____________________________

60.- NodeMCU desde cero. IDE. Driver. Blink. Terminales.

- Aunque he puesto varios tutoriales del ESP8266 y del Nodemcu, voy a realizar una recompilación y volver a ver el Nodemcu desde el principio con los IDE actuales de Arduino.

- El NodeMCU es un modulito que tiene el ESP8266, además ya tiene conexión directa mediante el chip CH340 a USB, tiene Wifi y muchos terminales.

- Es muy barato, cuesta unos 3 €

- Es recomendable que lo compres y estudies porque tiene futuro.

- Se puede utilizar sin usar el Arduino, simplemente se conecta mediante USB al ordenador y puedes programarlo y utilizar su entradas y salidas.

- El cable USB de conexión del ordenador al NodeMCU es micro USB, como el que tiene los móviles.

- Tiene 16 terminales GPIO que se pueden utilizar de entradas o salidas.

- Para programarlo puedes utilizar el mismo IDE de Arduino, preferiblemente uno de tipo IDE 1.6.X o superior.

______________________________________________
- ¿Cuál es mejor el ESP8266 o este Nodemcu?

- El Nodemcu es en realidad un ESP8266-12 con conector a USB (CH340 driver), es mejor que el ESP8266 porque éste tiene más complicación al conectar y configurar ya que no tiene conector USB. Además el pequeño ESP8266-1 solo tiene dos puertos de conexión y el Nodemcu al contener al ESP6266-12 tiene 16 puertos de conexión.

- Aquí están los tres. Los tres tienen Wifi y se pueden programar con el IDE del Arduino.

- El ESP8266-1, tiene un precio aproximado de 1 € en el mercado chino. Solo tiene 2 puertos de entrada/salida. Es complicado de conectar al ordenador, hace falta un FTDI o un Arduino para conectarlo al ordenador, sus pines de conexión no entran bien en protoboard. En fin las únicas cosas buenas con su precio y su tamaño.

- El ESP8266-12E, es una versión del anterior pero con 16 puertos de entrada/salida. También tiene el mismo problema de conexión al ordenador para programarlo ya que no tiene conector USB. Su precio aproximado es de 1 € en el mercado chino. Los pines machos para el conector suele venir con el pedido, pero hay que soldarlo.

- El Nodemcu V3 Lolin, tiene un precio de unos 3 € en el mercado chino . Es una tarjetita (3 x 6 cm) que, como se ve en la imagen, tiene integrado el ESP8266-12E, con lo cual tiene 16 puertos de entrada/salida. Además la gran ventaja es que tiene el chip CH340 que sirve para conectarlo al ordenador por USB. Tiene conectores machos que se pueden insertar en protoboard pero es un poco ancho y no deja espacio en los pines laterales de la protoboard, esto para mí no tiene demasiada importancia. Velocidad 80 MHz.

- Hay también vendedores que han soldado el módulo ESP8266-12E a una placa azul parecida a la del Arduino y lo venden como Arduino con WiFi, la placa azul tiene un aspecto parecido a las placas de Arduino con terminales hembra, el precio suele ser mayor a los 16 € en el mercado nacional. En realidad hace lo mismo que el NodeMCU.

- También hay un Arduino, éste sí es oficial llamado Arduino MKR1000, pero que también es un poco caro, viene a costas más de 35 € en el mercado nacional.

- Si no te preocupa comprar en el mercado chino y puedes hacer compras por Internet, la mejor opción es el NodeMCU, ya que lo puedes encontrar por 2,6 €.

________________________________________________
- Instalación del IDE de Arduino adaptado al Nodemcu.

- Bajamos e instalamos un IDE reciente de Arduino, por ejemplo el 1.8.2: arduino-1.8.2-windows.exe (89,6 MB). Necesitará 418 MB para instalarse.

- En mi caso he instalado esta versión 1.8.2 en C:\Archivos de programa (x86)\Arduino, las librerías que tengo asociadas están en:

C:\Users\juan\Documents\Arduino\libraries

- Aquí he puesto las librerías que he utilizado en estos tutoriales: Librerias.zip

- [Aquí tienes versiones antiguas (release) del IDE de Arduino: https://www.arduino.cc/en/Main/OldSoftwareReleases#previous]

- Una vez instalamos le asignamos la Placa: NodeMCU 1.0 (ESP-12E Module)

- Fíjate tiene una velocidad de 80 MHz y 1MB de memoria para almacenamiento de programas. El Arduino UNO solo tiene 16 MHz de velocidad y 32KB de memoria.

Ajustes de la instalación.

1.- Si no te sale lo indicado en el apartado anterior ve a Archivo / Preferencias y escribes

http://arduino.esp8266.com/versions/2.3.0/package_esp8266com_index.json (pulsa para ver de qué trata).

- [Antes estaban aquí: http://downloads.arduino.cc/packages/package_index.json]

2.- Ve también a Herramientas / Placa: / Gestor de tarjetas...

- Luego busca esp8266 by ESP8266 Community versión...

- El ESP8266 funciona con un lenguaje de programación llamado LUA, la Comunidad del ESP8266 ha creado una adaptación para que pueda ser programado con el IDE del Arduino.

3.- El puerto USB.

- El chip que conecta al puerto USB del ordenador es el CH340 (CH341), a veces los ordenadores lo reconocen y otras no. En caso de que tu ordenador no lo reconozca instálale el driver para el chip CH340.

Driver para que el ordenador con Windows reconozca al chip CH340 (CH341).

Lo instalé de la siguiente forma bajé el Driver: CH341SER.rar. Lo descomprimí y pulsé en Setup.exe. INSTALL

- Si está correctamente instalado, en el Administrador de dispositivos de Windows verás el puerto que se le ha asignado, en el caso de la imagen es el COM25.

- Si todo ha ido bien, quedará así...

- En mi caso ha tomado el USB adaptado al puerto serie COM22. En tu caso puede ser otro. Además puedes tener varios puertos COM del ratón, teclado,... para ver si el puerto indicado es el de tu Nodemcu, conecta y desconecta éste y comprueba si se quita ese COM. Cada vez que lo hagas deber quitar la ventana y volver a pulsar en Herramientas.

4.- Error

Error complilando para la tarjeta NodeMCU 1.0 (ESP-12E Module)

Tarjeta nodemcuv2 (plataforma esp8266, empaquetado esp8366) no encontrado.

- Si te sale ese error ve a:

C:\Users\juan\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266

ahí puede haber varias carpeta, quítalas todas, deja solo la última.

 

________________________________________________
- Código 1.

- El primer programa (sketch) que se ejecuta a modo de pruebas en el Blink (parpadeo). Parpadeará el LED azul integrado en la placa Nodemcu.

- Ese LED se suele denominar BUILTIN_LED otra veces se denomina LED_BUILTIN, está conectado al terminal 2 del módulo ESP8266.

- [Este LED sería el LED 13 del Arduino, pero aquí tiene otro puerto.]

- Nosotros vamos a reconocerlo en el terminal 2 del módulo ESP8266.

- Copia este código en el IDE del Arduino, luego lo guardas en una carpeta.

Código Blink.ino
void setup() {
pinMode(2, OUTPUT);
}

void loop() {
digitalWrite(2, LOW);
delay(1000);
digitalWrite(2, HIGH);
delay(500);
}

- En esta tarjeta, digamos, que el LED está puesto al revés, es decir cuando enviamos un cero el LED enciende y cuando enviamos un uno el LED apaga.

- Nota: en el código anterior cambia el pin 2, al pin 16. Comprueba si parpadea otro LED.

- Cuando lo subas al Nodemcu saldrá algo así...

________________________________________________
- Código 2.

- Vamos a insertar el Nodemcu en una protoboard como indica la figura, ten cuidado de no equivocarte y poner todo la línea de conexiones en una línes de alimentación.

- Ponemos un LED entre D0 y GND

- Otro LED entre D4 y GND.

- Debemos tener en cuenta en el código que D0 es GPIO16 y D4 es GPIO2.

- No hace falta ponerle resistencia limitadora a los LED ya que la tensión de salida es de 3,3 V.

Código Blink2.ino
void setup() {
pinMode(2, OUTPUT);
pinMode(16, OUTPUT);
Serial.begin(9600); } void loop() { digitalWrite(2, LOW);
digitalWrite(16, LOW);
Serial.println("BAJO"); delay(1000); digitalWrite(2, HIGH);
digitalWrite(16, HIGH); Serial.println("ALTO"); delay(500); }

- Con el pulsador RST que tiene el modulo NodeMCU podemos reiniciar el programa.

- Con el Serial Monitor podemos ver cómo evoluciona el parpadeo. Cuando salga el Monitor Serie lo debes poner a 9600 baudios.

____________________________
- LOS TERMINALES DEL NODEMCU.

- Esto es muy importante y un poco lioso para los que empiezan. Los terminales del NodeMCU, los GPIO, los terminles en el código.

- Los terminales de la tarjeta NodeMCU se denominan: D0, D1, D2, D3, D4, D5, D6, D7, D8(RX), D9(TX), D10, SD2 y SD3.

- Los terminales del integrado ESP8266-12E, que está soldado a la tarjeta se denominan: GPIO0, GPIO1, GPIO2, GPIO3, GPIO4, GPIO5, GPIO6, GPIO7, GPIO8, GPIO9, GPIO10, GPIO11, GPIO12, GPIO13.

- Y resulta que no coincidien, es decir el D7 NO es el GPIO7. Esta será tu confusión a los largo de todos esto tutoriales.

- Aquí tienes la tabla donde relaciono los terminales de la tarjeta NodeMCU con los del ESP8288-13E.

Terminales de la tarjeta NodeMCU
Terminales correspondientes del integrados ESP8266-12E
D0
16 (Además es el LED azul de la tarjeta)
D1
5 (Además es el SCL del I2C)
D2
4 (Además es el SDA del I2C)
D3
0
D4
2 (Además es el LED azul del modulito ESP8266-12E)
D5
14
D6
12
D7
13
D8
15
D9 (RX)
3 (Además es el RX del puerto serie por defecto)
D10 (TX)
1 (Además es el TX del puerto serie por defecto)
SD2
9
SD3
10

- ¿Qué quiere decir esto?

- Supongamos que conectamos un LED al terminal D1 de la tarjeta NodeMCU, como indica la imagen:

- El terminal D1 de la tarjeta se corresponde con el GPIO5, según la tabla anterior.

- En el código debemos poner el número 5, es decir el GPIO5. No te confundas con el número de terminal de la tarjeta.

- Esto que parece fácil, te confundirá hasta que no lo controles.

Código Blink.ino
void setup() {
pinMode(5, OUTPUT);
}

void loop() {
digitalWrite(5, LOW);
delay(1000);
digitalWrite(5, HIGH);
Serial.println("ALTO"); delay(500); }

________________________________________________
- Detalles del NodeMCU.

- Observamos el LED azul integrado en la plaquita del ESP8266-12E.

- AI-THINKER es el fabricante.

- La frecuencia del WiFi es de 2,4 GHz, es decir

- Longitud de onda = λ = velocidad de la luz / frecuencia = 300.000.000 / 2.400.000.000 = 12,5 cm

- Las ondas emitidas tienen un longitud de 12,5 cm, por eso se llaman microondas.

- Potencia de 25 dBm, son decibelios referenciados a miliwatios, para convertirlos en watios...

10^(25/10) * 10^(-3) = 0,32 W es la potencia de emisión.

- Otros elementos que contiene la tarjeta NodeMCU.

- Observamos el CHIP340, el conector micro USB, un cristal de 12 MHz.

- Un regulador de tensión que cambia los 5 V del USB a los 3,3 V que necesita el ESP8266.

- También se observa dos pulsadores uno FLASH y otro RST.

- Varias resistencias de superficie SMD, por ejemplo la de 103 sería de 10.000 ohmios. La de 471, sería de 470 ohmios.

- Comprar.

- Podemos comprar este: http://es.aliexpress.com/item/V3-Wireless-module-NodeMcu-4M-bytes-Lua-WIFI-Internet-of-Things-development-board-based-ESP8266-for/32460412205.html

 

- Este es el V3, el LoLin.

Ver esquema del NodeMCU

Ver esquema del ESP8266-12E

- Patillaje de la tarjeta Nodemcu.

- Patillaje del ESP8266-12E.

- Documentación del ESP8266 en inglés.

- Documentación ESP8266-12E

- 0A-ESP8266-Datasheet-EN-v4.3.pdf

- El ESP8266EX contiene un microprocesador llamado Tensilica L106 32-bit y trabaja a 80 MHz.

______________________________________________

- Los LED azules.

- Hay que tener en cuenta que disponemos de dos LED azules.

- Uno en el ESP8266-12E, correspondiente a su GPIO2 (que irá al terminal D4 del Nodemcu).

- Otro en la misma tarjeta del NodeMCU, correspondiente al GPIO16 (que irá al terminal D0 del Nodemcu).

_______________________________

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información