Tabla de contenido:
- Paso 1: Cableado de los módulos y el circuito NRF24L01
- Paso 2: codificación del transmisor
- Paso 3: codificación del receptor
- Paso 4: ¡HECHO
Video: Lámpara LED inalámbrica Arduino Light-Matching con fotorresistor: 4 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
Este instructivo detalla los pasos necesarios para construir una lámpara LED de detección de luz inalámbrica rudimentaria usando Arduino Unos y un fotorresistor. Una posible aplicación para este dispositivo sería iluminar una habitación que no tiene ventanas con luz solar artificial, coincidiendo con las condiciones reales de iluminación exterior en tiempo real. ¡Empecemos!
Lista de suministros:
Arduino Uno x2
NRF24L01 Transceptor inalámbrico x2 (Opcional - Mochila NRF24L01 x2)
Transistor darlington TIP120
Fotorresistencia
LED de 5 mm x3
Presionar el botón
Resistencia de 100 ohmios x3
Resistencia de 10 k ohmios x3
Varios cables de puente
Paso 1: Cableado de los módulos y el circuito NRF24L01
En este proyecto, un Arduino actuará como transmisor, enviando datos de nivel de luz desde el fotorresistor cuando se presiona el botón. El otro Arduino servirá como receptor, tomando esos datos y transformándolos en la señal a los LED. La primera imagen muestra el diagrama del transmisor y la segunda muestra el receptor.
Nota: en las fotos de mi proyecto, notarás que los transceptores NRF24L01 están conectados a otra PCB. Este es un módulo de mochila para los transceptores, que actúa como regulador de potencia. Además de facilitar el cableado, estas mochilas regulan la entrada de energía para el NRF24L01, permitiendo el uso de una fuente de alimentación de 5V. He omitido estas mochilas en mi diagrama en aras de la claridad.
(Si decide usar las mochilas, consulte este enlace para ver un diagrama de las ubicaciones de los pines en referencia al stock NRF24L01).
A continuación se adjunta una copia en PDF del circuito, para facilitar el zoom y la visualización detallada.
Paso 2: codificación del transmisor
El último paso es la codificación. Deberá instalar la biblioteca RadioHead o una biblioteca equivalente para usar con los módulos NRF24L01.
Para este proyecto, el transmisor y el receptor Arduino usan un código diferente en cada uno. Aquí está el código del transmisor:
También he adjuntado el archivo.ino (NRF_Send) para mayor comodidad.
#incluir
#incluir
RH_NRF24 nrf24; // Inicializando un transceptor como nrf24
botón int = 5; // Configuración de los valores de los pines para el botón y la fotorresistencia
int pResistor = A0; valor int = 0; // Valor de la luz de 0-1023
configuración vacía ()
{Serial.begin (9600); pinMode (botón, ENTRADA); pinMode (pResistor, ENTRADA); if (! nrf24.init ()) // Alerta al usuario si falla la inicialización del módulo Serial.println ("init falló"); // Los valores predeterminados después de init son 2.402 GHz (canal 2), 2Mbps, 0dBm if (! Nrf24.setChannel (1)) Serial.println ("setChannel failed"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF falló"); }
bucle vacío ()
{if (digitalRead (button)) {// Enviar un mensaje si se presiona el botón value = analogRead (pResistor); // Leer el valor del fotorresistor (0-1023) uint8_t data = {value}; // Establece una matriz llamada "data " que contiene el valor de luz nrf24.send (data, sizeof (data)); // Envía la matriz al receptor nrf24.waitPacketSent (); // Espere hasta que el paquete haya sido enviado Serial.println ("Light Value:" + String (value)); // Imprime el valor de la luz en el monitor de serie}}
Paso 3: codificación del receptor
Para el receptor, el código también usa la biblioteca RadioHead.
#incluir
#incluir
RH_NRF24 nrf24;
int LEDPin = 3;
valor int = 0; // Valor de la luz de 0-1023
configuración vacía ()
{Serial.begin (9600); pinMode (LEDPin, SALIDA); if (! nrf24.init ()) Serial.println ("error de inicio"); // Los valores predeterminados después de init son 2.402 GHz (canal 2), 2Mbps, 0dBm if (! Nrf24.setChannel (1)) Serial.println ("setChannel failed"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF falló"); }
bucle vacío ()
{// Espere un mensaje uint8_t buf [RH_NRF24_MAX_MESSAGE_LEN]; // Almacena el mensaje recibido como una matriz llamada "buf " uint8_t len = sizeof (buf); // Almacena el tamaño de buf como "len" while (nrf24.waitAvailableTimeout (200) && nrf24.recv (buf, & len)) // Recibe el mensaje durante 200 milisegundos o hasta que se recibe el mensaje completo {value = buf [0]; // Establece el valor en el primer índice de buf , que es el int del fotorresistor analogWrite (LEDPin, map (value, 0, 1023, 0, 255)); // Establece el pin PWM para generar un valor escalado entre 0-255 para el brillo del LED Serial.println (String (value)); } analogWrite (LEDPin, 0); }
Paso 4: ¡HECHO
¡Disfruta jugando con diferentes niveles de luz y observa cómo los LED los combinan! El fotorresistor a veces puede ser delicado y funciona mejor en una habitación oscura con una fuente de luz localizada (pero también puede funcionar al aire libre con el sol).
Recomendado:
Cómo usar un fotorresistor para encender un LED con Aurduino: 12 pasos
Cómo usar un fotorresistor para encender un LED con Aurduino: ¡Buenos días / tardes / noches a todos los entusiastas de Arduino! Hoy, voy a demostrar cómo usar una fotorresistencia (fotocélula) para encender un LED. El código proporcionado con este Instructable permitirá que el LED se apague normalmente, pero parpadeará cuando
Lámpara de cubo de Rubik inalámbrica fácil de cambiar de color basada en inclinación: 10 pasos (con imágenes)
Lámpara de cubo de Rubik inalámbrica de fácil cambio de color basada en inclinación: hoy vamos a construir esta increíble lámpara de cubo de Rubik que cambia de color según el lado que esté hacia arriba. El cubo funciona con una pequeña batería LiPo, cargada con un cable micro-usb estándar y, en mis pruebas, tiene una duración de batería de varios días. Esta
LED fotorresistor Arduino: 4 pasos
Arduino Photoresistor LED: Mi proyecto trata sobre una fotorresistencia que reduce la luz de un LED dependiendo de la luz exterior. Me inspiré en Tech, A Style. "LED de fotoresistor Arduino encendido / apagado". Instructables, Instructables, 8 de octubre de 2017, www.instructables.com/Arduino-Photore
Rainbow Light inalámbrica con tecnología Tesla Coil: 6 pasos
Luz arco iris inalámbrica con tecnología Tesla Coil: este es un proyecto que utiliza energía de radiofrecuencia generada por una pequeña bobina Tesla bipolar para energizar un anillo de lámparas de cátodo frío multicolores. Como con cualquier dispositivo de alto voltaje, tenga cuidado y buen juicio al operar
LÁMPARA SOLAR INALÁMBRICA CON BRAZO FLEXIBLE MAGNÉTICO: 8 Pasos (con Imágenes)
LÁMPARA SOLAR INALÁMBRICA CON BRAZO FLEXIBLE MAGNÉTICO: Este proyecto se hizo a partir de una lámpara rota & nodeMCU. Esta lámpara decorativa se puede ajustar en cualquier dirección & adherido a materiales magnéticos o poner sobre la mesa. Se puede controlar en dos modos de la siguiente manera: - Modo de control inalámbrico, como