Proyectos de Arduino y nodeMCU ESP8266
Hardware y software utilizados:
- Microcontrolador:
- Arduino Uno o Mega 2560
- NodeMCU ESP8266 V2 o V3
- IDE:
- Librerías:
Servo
Wire
Adafruit_GFX
Adafruit_SSD1306
ESP8266WiFi
WiFiClient
ESP8266WebServer
Proyectos que manejan entradas y salidas digitales.
Sketch para manipular salidas digitales:
- El programa hace uso de la función
digitalWrite
para manipular salidas digitales, las cuales se pueden encender o apagar cambiando el valor de una variable boolean.
Sketch para manipular salidas digitales de uno o más displays de 7 segmentos usando:
-
Una matriz de valores booleanos para representar los dígitos del display.
-
En el caso de usar varios displays, una función para cambiar el valor que se muestra en cada uno de ellos.
Sketch para manejar señales de trafico:
-
El programa hace uso de la función
digitalWrite
para manipular salidas digitales, las cuales se pueden encender o apagar cambiando el valor de una variable boolean. -
Para esto, se usan tres vectores correspondientes a:
- El tiempo de encendido de la señal de trafico.
- El pin de salida de la señal de trafico.
- El estado de la señal de trafico.
El programa para una señal de trafico funciona para multiples semaforos. Para esto:
- Se usa una matriz en lugar de un vector para el estado de las señales de trafico.
- Se usa un vector únicamente para las salidas de las señales de trafico de color rojo.
Mientras que en el sketch de una señal de trafico, los catodos de los LEDs de los semaforos se conectan a GND, en el sketch de varias señales de trafico, los catodos de los LEDs de los semaforos se conectan a los pines de salida digitales al igual que los anodos.
Sketch para controlar el encendido de un relevador con dos botones.
Simulación de las luces del auto fantastico (Knight Rider).
Simulación de la iluminación del flux capacitor de Back to the Future.
Sketch para leer entradas digitales. El programa hace uso de la función digitalRead
para leer entradas digitales:
- El programa imprime en el puerto serie el valor de la entrada digital usando el condicional
if
.
Sketch para manejar botones:
En este programa se usa la función digitalRead
para leer entradas digitales dentro de dos funciones:
- El boton 1 altera el valor de una variable.
- La función 1 hace que un LED se encienda cuando se presiona un botón 2.
- La función 2 hace que uno de tres LEDs se encienda cuando se presiona el botón 1 dependiendo del valor de la variable.
Para que un LED se encienda n cantidad de segundos:
- Un boton funciona como un contador.
- Un segundo boton funciona como un
execute
.
Uso de un sensor de infrarrojos para detectar movimiento. Para esto es necesario detectar si el sensor esta en alto o si ah pasado el suficiente tiempo desde la última detección para activar un LED según sea el caso.
Uso de un sensor de ultrasonico HC-SR04 para medir la distancia de un objeto.
Proyectos que manejan entradas y salidas analógicas.
Sketch para simular salidas analógicas usando PWM:
- Usando la función
analogWrite
se puede manipular la salida analógica. En este sketch, usando un variable entre 0 y 255, se puede manipular la salida analógica.
Crear una función para manipular un servomotor.
Control de velocidad y dirección de motores usando un puente H.
Sketch para leer entradas analógicas. El programa hace uso de la función analogRead
para leer entradas analógicas, las cuales representan normalmente sensores resistivos:
Creando una función para leer un potenciómetro, se puede usar la función analogRead
para leer la entrada analógica e imprimirla en el puerto serie.
- Usando la libreria
Servo
se puede manipular un servo usando la funciónanalogRead
para leer la entrada analógica mapeada a un valor de 0 a 180. - Usando la función
analogWrite
se puede manipular una salida analógica entre 0 y 255. - Usando un botón se puede bloquear el punto 2 para definir la salida analógica en 255.
Sketch para leer la temperatura de un sensor de temperatura TMP36 y la función analogRead
para leer la entrada analógica.
Uso de la función SerialEvent
para manejar la lectura de una entrada del puerto serie.
Proyectos disponibles para el nodemcu ESP8266 y Arduino.
Sketch para encender un LED y apagarlo. En el caso del nodeMCU, el sketch permite manejar el LED integrado en el nodemcu.
Manejo de la función analogRead
para leer entradas analógicas.
Creación de funciones dentro de un Archivo de Arduino y un Archivo de C++ para controlar salidas digitales.
Sketch para manejar una pantalla OLED por i2c.
Sketch para comunicar microcontroladores por puerto serie.
Proyectos usando librerias de servidor web para el nodemcu ESP8266.
Crear un AP con una dirección IP y una contraseña.
Unirse a un punto de acceso creado previamente y crear un servidor web.
Crear un servidor web http para manejar una salida analógica.
Proyectos para comunicar microcontroladores por puerto serie.