Uso de WiFi en sus próximos proyectos con el NodeMCU – Introducción Deja un comentario

VISIÓN DE CONJUNTO

Poder controlar o obtener información de sus proyectos usando WiFi es algo en lo que todos queremos experimentar en algún momento u otro.

Una manera fácil de comenzar es usar una placa de desarrollo que tenga WiFi incorporada, como las placas de desarrollo NodeMCU.

El NodeMCU se basa en el popular módulo WiFi ESP8266. El uso de NodeMCU facilita la conexión y el uso de las capacidades del ESP8266, así como el uso del IDE de Arduino con el que estamos familiarizados para cargar bocetos.

A medida que hagamos más tutoriales utilizando las placas NodeMCU, veremos más detalles sobre cómo funcionan, qué entradas y salidas están disponibles y las diferentes formas en que puede programarlas.

En esta primera parte controlaremos un Pixel stick (WS2812B) a través de una página web para encender y apagar, cambiaremos los colores y usaremos el Arduino IDE para programar el NodeMCU.

NODEMCU INTRODUCCIÓN

Vamos a ver dos versiones de la placa NodeMCU: Versión 2 y Versión 3:

Como puede ver en la imagen de arriba, la Versión 3 (arriba) es un poco más grande que la Versión 2 (abajo), también el V3 de la placa NodeMCU usa el chip CH340G USB a serie comparado con el V2 que usa el chip CP2102.

No hace mucha diferencia cuál se usa, siempre que cargue el controlador correcto.

La versión 2 también incluye un LED adicional a bordo.

El pin de ambos tableros es prácticamente el mismo, excepto que V3 tiene un pin de tierra más y también proporciona un pin de salida de energía USB como se puede ver en el siguiente diagrama.

CONEXIONES

La conexión para este tutorial es bastante mínima, como se puede ver en el esquema.

Para alimentar el WS2812 Pixel Stick, estamos usando los pines 3.3V y GND del NodeMCU.

El pin RX o D9 del NodeMCU está conectado al D1 (entrada digital) del WS2812 Pixel Stick.

* Nota: dado que solo estamos utilizando un WS2812 Pixel Stick, podemos alimentarlo usando el NodeMcu.

En el futuro tutorial utilizaremos una fuente de alimentación externa ya que utilizaremos más LEDs.

EL CÓDIGO

Estamos utilizando la biblioteca NeoPixelBus para controlar la barra de píxeles WS2812 RGB.

Puede encontrar un enlace para descargar la biblioteca en la parte inferior de esta página de tutorial.

Para instalar la placa NodeMCU en Arduino IDE, deberá dirigirse a:

ARCHIVO -> PREFERENCIAS ->

y agregue la siguiente información en “URLs del administrador de juntas adicionales:”

http://arduino.esp8266.com/stable/package_esp8266com_index.json

El siguiente código se conectará a una red WiFi y luego creará una página web que tendrá 2 botones para seleccionar los colores que desea visualizar.

Recuerde reemplazar la “xxxxxxx” en el código con su propio nombre y contraseña de red WiFi.

Puede abrir las ventanas del Monitor de serie al inicio para ver qué IP recibe el NodeMCU por la red WiFi.

Vamos a entrar en más detalles y complejidad en futuros tutoriales utilizando el NodeMCU.

Como siempre, no olvides mirar nuestro video Tutorial para más información.



#include "NeoPixelBus.h" // Biblioteca para controlar Pixel Stick 
#include "ESP8266WiFi.h" // Biblioteca WiFi 

#define PixelCount 8 // Número de leds en stick 
#define PixelPin 2 // NodoMCU pin 2 (RX) conectado a Digital In de Pixel Stick const char * sid =  "xxxxxxx" ; // Nombre de la red WiFi
 const char * contraseña =  "xxxxxxx" ; // Contraseña de la red WiFi En t primer intento =  0 ; // Comprobar Si sistema acaba de ser encendido En t Presionado por un botón =  5 ; // Para mantener presionado el botón en la página web // Inicializar biblioteca
 NeoPixelBus NeoGrbFeature, Neo800KbpsMethod > tira (PixelCount, PixelPin); // Definir matrices para colores largo switchled00 [] = { 0x0E5219 , 0x52160E , 0x0E5219 , 0x52160E , 0x0E5219 , 0x52160E , 0x0E5219 , 0x52160E }; largo switchled01 [] = { 0x19257B , 0x7B7A19 , 0x19257B , 0x7B7A19 , 0x19257B , 0x7B7A19 , 0x19257B , 0x7B7A19 };



 Servidor WiFiServer ( 80 ); // Definir el puerto del servidor web

 void setup () {
 De serie . empezar( 115200 );
 retrasar( 10 );

 tira . Empezar(); // Init de Pixel Stick
 tira . Espectáculo(); // Clears alguna iluminado Leds // Conéctate a la red WiFi
 De serie . impresión ( "Conectado a " );
 De serie . println (ssid);
 Wifi . comenzar (ssid, contraseña); // Espere hasta que esté conectado a WiFi mientras (Wifi . estado() ! = WL_CONNECTED) {
 retrasar( 250 );
 De serie . impresión ( "." );
 } // Confirmación de que WiFi es conectado
 De serie . println ( "" );
 De serie . println ( "WiFi conectado" ); // Inicie el servidor web
 servidor . empezar();
 De serie . println ( "Servidor web iniciado" ); // Mostrar dirección IP
 De serie . impresión ( "Puede conectarse al servidor aquí:" );
 De serie . impresión ( "http: //" );
 De serie . impresión (Wifi . localIP ());
 De serie . println ();
 De serie . println ();

 }


 void loop () { // Comprobar Si alguien es conectado
 Cliente WiFiClient = servidor . disponible(); Si ( ! cliente) { regreso ;
 } // Lea qué botón se presionó en la página web
 Solicitud de cadena = cliente . readStringUntil ( '  r ' ); // Leds iluminados basados ​​en el botón presionado Si (solicitud . índice de( "/ REDGREEN = 1" ) ! =  - 1 ) { para ( En t LED =  0 ;  LED  8 ;  LED ++ ) {
 tira . SetPixelColor (led, HtmlColor (switchled00 [led]));
 }
 tira . Espectáculo();
 Presionado por un botón = BAJO;
 primer intento = 1 ;
 } Si (solicitud . índice de( "/ BLUEYELLOW = 1" ) ! =  - 1 ) { para ( En t LED =  0 ;  LED  8 ;  LED ++ ) {
 tira . SetPixelColor (led, HtmlColor (switchled01 [led]));
 }
 tira . Espectáculo();
 Presionado por un botón = ALTO;
 primer intento = 1 ;
 } // Crear página web
 cliente . println ( "HTTP / 1.1 200 OK" ); // Encabezado HTML
 cliente . println ( "Content-Type: text / html" );
 cliente . println ( "" );
 cliente . println ( "" );

 cliente . println ( "" ); // Inicio de HTML

 cliente . println ( " 

 

);
 cliente . println ( "body {background-color: #ACAEAD;}" ); // Establecer color de fondo
 cliente . println ( "" ); Si (primer intento ==  0 ) {
 cliente . impresión ( "Haz clic en un botón" );
 } más {
 cliente . impresión ( "El último botón presionado fue" );
 } Si (Presionado por un botón == BAJO) {
 cliente . impresión ( "Rojo verde" );
 } Si (Presionado por un botón == ALTO){
 cliente . impresión ( "Azul amarillo" );
 }
 cliente . println ( " 

" );
 cliente . println ( "  " / REDGREEN = 1  "" > " );
 cliente . println ( "  " / BLUEYELLOW = 1  "" > 
" );
 cliente . println ( "" );
 retrasar( 10 );

 }


VIDEO TUTORIAL

DESCARGAR

Copie el código de Sketch anterior en su software Arduino IDE para programar su placa NodeMCU.

Bibliotecas usadas:

Descargue la biblioteca NeoPixel

creado por ‘Makuna’:

https://github.com/Makuna/NeoPixelBus

Una vez descargado, simplemente extrae el contenido de los archivos zip dentro de tu ” arduino / en la carpeta “libraries”, y asegúrese de reiniciar el software Arduino IDE (Cerrar y volver a abrir) para que detecte esta biblioteca recién instalada.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Enviar Whatsapp
Hola 👋
¿En qué podemos ayudarte?