OBJETIVOS
El principal objetivo de esta práctica introductoria es hacer parpadear un LED. Uno de los ejercicios más sencillos que podemos realizar y una excelente forma para comenzar desde cero.
También aprovecharemos para repasar algunos conceptos básicos de electrónica que nos servirán de ayuda en el futuro.
MATERIAL NECESARIO
CONCEPTOS BÁSICOS
Resulta conveniente, antes de iniciar la construcción del circuito y realizar su programación recordar unos pequeños conceptos que nos permitirán evitar errores en un futuro:
- Es importante saber que los procesadores ESP trabajan a 3,3 voltios, tanto las entradas como las salidas digitales. Siempre debemos comprobar que al conectar un componente a este voltaje funcionará correctamente (se deberá verificar que el voltaje es suficiente para que el componente funcione o que el voltaje no excesivo para quemarlo).
- Los diodos LED(light emitting diode), como cualquier diodo, tienen polaridad. Esto significa que la corriente eléctrica circula desde el ánodo (+) hacia el cátodo (-) y no en sentido contrario, por lo que debemos estar atentos a la hora de conectarlos.
El ánodo (+) lo conectaremos con el pin de salida de la placa NodeMCU y el cátodo (-) con uno de los pines GND (ground / tierra) de la placa. Es indiferente el pin GND ya que todos están interconectados entre sí.
Existen tres formas principales de conocer la polaridad de un LED:
- El LED tiene un voltaje de funcionamiento aproximado entre 1,8 y 2,1 voltios. La intensidad de funcionamiento que debe circular por él está comprendida entre 10 y 20 miliamperios (mA). Estos valores son genéricos, ya que varían en función del modelo, fabricante, color…
Si conectáramos directamente el LED en el circuito, sin una resistencia que disipe el exceso de energía que suministra la placa, se quemaría y dejaría de funcionar en poco tiempo.
El valor de la resistencia que debemos colocar es de 100 Ω y 0,25 Watios.
Resulta fácil calcular este valor de la aplicando la Ley de Ohm:
Resistencia = Voltaje / Intensidad R = V/I
La resistencia a instalar debe disipar, en forma de calor, la energía producida por la diferencia entre el voltaje suministrado por la placa (VNodeMCU = 3,3 V) y el voltaje consumido por el LED (VLED). Tomaremos para el voltaje consumido por el LED el valor mínimo de funcionamiento para estar por el lado de la seguridad (VLED = 1,8 V).
VResistencia = VNodeMCU – VLED = 3,3 V – 1,8 V = 1,5 V
La intensidad que circule por el LED no debe ser superior a su límite máximo de 20 mA. Un valor habitual de diseño son 17 mA que nos da un 15% de margen de seguridad.
Con estos valores podemos resolver la ecuación y obtener el valor de la resistencia:
R = V/I = VResistencia/I = 1,5 V / 0,017 A = 88,24 Ω
Dado que no se fabrican resistencias de 88,24 Ω, elegimos la primera resistencia comercial que esté por encima de este valor. Será de 100 Ω.
Para calcular la potencia que consume la resistencia, y definir su valor, debemos saber que la potencia es el producto del voltaje por la intensida
P = V·I = VResistencia·I = 1,5 V · 0,017 A = 0,026 W
Comercialmente tampoco encontraremos resistencias de 0,026 W. El valor comercial de resistencias para circuitos electrónicos que encontraremos será de 0,25 W (1/4 W).
- Los pines que sirven para suministrar corriente pare el encendido del LED, son todos los pines GPIO (General Purpose Input/Output). Esto será independiente del modelo de placa que utilicemos (NodeMCU, Mini-NodeMCU, Wemos D1, Wemos D1 R2…).
¡¡¡IMPORTANTE!!! A la hora de programar en el entorno de desarrollo de Arduino (IDE Integrated Development Environment), los pines se referencian por el número del puerto GPIO y no por su denominación en la placa. Para conocer el dato nos guiaremos por las correspondientes hojas técnicas de los fabricantes. Por ejemplo el pin D1 que corresponde con el GPIO05, a la hora de programar, es el pin “5”. |
Una vez repasado esto, estaremos listos para construir el circuito y subir el sketch/programa a la placa NodeMCU
Recordamos que la denominación de sketch a los programas en el IDE de Arduino, es un guiño a su origen, Processing, que es un lenguaje de programación orientado al diseño gráfico. Sketch se traduce como boceto.
CIRCUITO ELECTRÓNICO
El circuito que debemos conexionar en una placa modelo NodeMCU es el siguiente (en otros modelos de placas será igual, únicamente tendremos que elegir la salida adecuada):
SKETCH
Y este será nuestro sketch:
/* NodeMCU Parpadeo/Blink por Dani No www.esploradores.com Hace parpadear un LED conectado a la salida D1 (GPIO05) del módulo NodeMCU. Este código de ejemplo es de público dominio. */ int LED_aparpadear = 5; // Definimos la variable y el número del GPIO a conectar el LED a parpadear. // Lo hacemos en el encabezado del programa para que // sea una variable global, accesible a todo el programa. void setup() { // La función “setup” incializa las configuraciones de // los diferentes elementos del programa. // Únicamente se ejecuta una vez. pinMode(LED_aparpadear, OUTPUT); // Inicializa el LED_aparpadear como una salida. } void loop() { // La función “loop” se ejecuta una y otra vez, indefinidamente. digitalWrite(LED_aparpadear, HIGH); // Enciende el LED. delay(1000); // Espera un segundo. digitalWrite(LED_aparpadear, LOW); // Apaga el LED. delay(2000); // Espera dos segundos. }
Para poder ejecutar el sketch realizamos los siguiente pasos:
- Abrimos el IDE de Arduino en el ordenador.
- Copiamos el sketch en zona de edición del IDE (borrando las líneas de código que nos aparecen inicialmente).
- Conectamos la placa NodeMCU con el ordenador a través del cable USB.
- Pulsamos SUBIR, en el IDE de Arduino y este nos preguntará el nombre que queremos asignarle al fichero. En nuestro caso le hemos puesto Sketch001_Parpadeo_LED, pero podría ser otro cualquiera. Una vez asignado el nombre, el IDE compilará el programa. A continuación lo subirá a la placa y el LED que hemos conectado en la protoboard comenzará a parpadear.
OTROS PUERTOS GPIO…
Es interesante comprobar que podemos hacer parpadear el LED también el otros puertos GPIO, a parte del GPIO05 (D1).
No debemos olvidar, al probar estas variantes, que debemos cambiar el pin al que está conectado el LED, así como modificar el sketch seleccionando el puerto GPIO correcto.
Si lo hacemos, podremos verificar lo siguiente:
- Si elegimos el puerto GPIO16 (D0), cuando se apaga el LED de la protoboard, se enciende un LED azul en la placa que está vinculado a dicho puerto (la placa V3 de Lolin no dispone de este LED).
- Si elegimos el puerto GPIO04 (D2), cuando se apaga el LED de la protoboard, se enciende un LED azul en el ESP-12E instalado en la placa (junto a la antena), que está vinculado a dicho puerto.
- Si elegimos el puerto GPIO01 (TX) tendremos dificultades al subir elsketch a la placa, debido a que este puerto se utiliza en la comunicación con el ordenador. La opción es quitar el cable que debe conexionar el GPIO01 con el LED mientras subimos el sketch y una vez que esté subido reconexionarlo.
Debemos tener siempre precaución con los puertos GPIO01 (TX) y GPIO03( RX), si los utilizamos como entradas o salidas de datos y a parte utilizamos la conexión USB. Lo más probable es que tengamos conflictos de comunicación, por ello resulta conveniente evitar su uso.
1 Comment
Leave your reply.