Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-23 14:40
En esta publicación, presentaría los elementos a continuación:
- Los LED necesitan un circuito de corriente limitante
- como hacer una linterna
- hacer una luz alimentada por la batería portátil y atenuar los LED por ESP8266 a través de MQTT
El video es un resumen y una breve explicación de cómo funciona esto.
Planeé tener un sensor PIR incluido, pero el tutorial es bastante largo, por lo que el sensor PIR se presentará en la segunda parte de este tema
Así que comencemos.
Paso 1: los LED necesitan que la corriente sea limitada
Para los principiantes, esto es extraño considerando la frecuencia con la que se enciende una bombilla incandescente o fluorescente. No se preocupe, esas bombillas LED en el estante ya vienen con un adaptador de corriente de CA a CC y una corriente de limitación. Pero sería bueno hacer algo desde cero.
Una clave para encender un LED es un circuito limitador de corriente. Esta funciona como una válvula para la corriente de modo que una vez que la tensión aplicada al LED que lo convierte en conductor, la corriente que fluye a través de los LED no puede ser mayor que la regulada por el circuito. Las fallas de los LED generalmente se deben a un sobrecalentamiento. La falta de un circuito limitador de corriente en su lugar es una forma segura de quemar los LED en unos segundos. Por cierto, la fijación de los chips LED, los que vienen en el marco de aluminio, a un disipador de calor reduce el chip LED y generalmente se recomienda.
Me rascaba mucho la cabeza cuando aprendí esto alrededor de 2015, y todavía me rascaba la cabeza (por diferentes razones). Aprendí de este tutorial y su clara explicación me salvó algunos problemas.
El circuito está adjunto. Las líneas en negrita significan la ruta de carga principal y las más delgadas indican el mecanismo de control para controlar la corriente de la ruta principal que es de aproximadamente 150 mA. Wikipedia tiene un artículo breve y algunas referencias adjuntas. La limitación de corriente se puede construir con un transistor reemplazando MOSFET con transistores de carga de corriente media como BD135, BD139.
Paso 2: haz una linterna
Piezas necesarias:
- un MOSFET de canal N (IRF540N $ 1.62 / 10 piezas, 30N06, $.1.75 / 10 piezas)
- un transistor NPN (como S8085)
- 3,9 ohmios - resistencia de 2 W, la corriente limitada alrededor de 0,6 / 3,9 = 153 mA
- Resistencia de 100kR (1 / 4W)
- Un interruptor de bloqueo
- Hay 0.5W 8mm LED, $ 3.18 / 100pcs aquí
- Una batería de litio 18660. Rescaté algunos de ellos de un banco de energía. Batería de computadora portátil (4, 6, 8 celdas) hecha de 18650 celdas pero cuidado con eso.
- 1 tablero de aumento de hasta 12V, como este, $ 0.56
- 1 cargador de litio como este, $ 0.30
La principal diferencia con el circuito anterior es el uso de una batería de litio (18660) con placa de refuerzo en lugar de un adaptador de corriente de 5V de maqueta.
La última foto muestra la linterna final y se estaba cargando desde cualquier fuente micro USB (> 1A).
Paso 3: ¿Internet de las cosas con esta linterna?
Divido esta parte en tres pasos:
- Prepare un suscriptor (este)
- Configurar el servidor MQTT (siguiente paso)
- y preparar un editor (el siguiente)
Partes:
Primero, sí, usé esa palabra de moda, también conocida como IOT, pero esta podría hacer una buena combinación de usar el circuito en el Paso 2 con un ESP8266 y luego controlar la intensidad de la luz mediante el método MQTT.
Las partes del circuito son idénticas, excepto:
- Reemplace 12V boost up por MT3608 boost up board, $ 1.92 / 5pcs, este puede aumentar el voltaje de una batería 18650 (aproximadamente 3.7V) a 28 V, suficiente para alimentar 8 LED (en lugar de 3).
- La posición de desenchufar en el interruptor está conectada al GPIO 1 o 2 en el ESP8266 para la señal PWM.
- ESP8266 01, $ 1.68 cada uno. Como éste
- AMS1117 3.3 V, un regulador de voltaje para ESP8266, algunos condensadores
- Un módulo USB para flashear ESP8266, $ 0.78 / pcs como este
Por cierto. esos enlaces son para su conveniencia.
Soldar y cargar:
- Soldar piezas juntas y usar los esquemas anteriores. Algunos circuitos de voltaje 3.3 prefabricados pueden ahorrarle algo de tiempo ($ 1.38 / 5 piezas como esta). Estaba confundido al recordar el pin cuando volteé la placa PCB y terminé satisfaciendo un regulador de voltaje AMS1117.
- Próximo. Haga una pequeña modificación como en la tercera foto para mantener presionado el GPIO 0 a GND, toque rápidamente el Pin RST con el pin GND para poner el ESP8266 en Flashmode.
- Descargue el código aquí desde mi GitHub y cargue el código en ESP 8266 usando Arduino IDE.
Destaqué la línea para mostrar el tema al que se suscribió el suscriptor. Cualquier mensaje publicado en este tema se transmitirá a otros clientes (suscriptores) de este tema. El EPS8266 en este circuito escuchará el mensaje JSON publicado en el tema y se activará si se realizó un cambio en el canal Tres
* Érase una vez, pensé que podría poner una resistencia desplegable (100k) para conectar a tierra la puerta del MOSFET cuando no se presentó el ESP8266. Esto funciona en ausencia de un ESP8266, pero con ESP8266, la resistencia también baja el GPIO0 o 2 a GND, convirtiéndolos en modo Flash o no arrancando (cuando GPIO2 es BAJO)). Verá un verde sólido si esto sucede.
Paso 4: configurar el servidor MQTT
MQTT (Message Queue Server Telemetry Transport) es un protocolo de mensajería basado en el método de publicación-suscripción. El dispositivo que aloja la entrada y salida de mensajes MQTT se denomina intermediario. Como un corredor real, aloja el intercambio entre editores (vendedores) y suscriptores (compradores). No hay dinero que cambie de manos. Hay muchos tutoriales para esto.
Aquí está la recapitulación. Raspberry Pi es el dispositivo más popular para esto. Primero, instale MQTT mediante:
sudo apt-get install mosquitto mosquitto-clients
pruebe si el servidor MQTT está funcionando abriendo dos terminales en Raspberry, uno escriba la primera línea y el otro para la siguiente:
mosquitto_sub -h localhost -t "yourtopic"
mosquitto_pub -t "yourtopic" -h localost -m "di algo"
Debería ver el mensaje "decir algo" en la primera terminal. ¡Walah! Funciona.
El "#" podría usarse para escuchar cualquier tema, reemplace "yourtopic" por "#"
Ahora que no desea que alguien pueda publicar o suscribirse a su servidor MQTT, debe configurar una contraseña, haciéndolo de la siguiente manera:
cd ~
mosquitto_passwrd -c pwfile mqtt_user
mqtt_user pueden ser otros nombres de usuario que le gusten, ingrese la contraseña dos veces y actualice el archivo.conf de la siguiente manera:
sudo nano /etc/mosquitto/mosquitto.conf
agrega estas dos líneas:
allow_anonymous falso
archivo_contraseña / home / pi / pwfile
luego reinicie el mosquitto por:
sudo systemctl reiniciar mosquitto
haga una prueba incluyendo el nombre con una contraseña como:
mosquitto_sub -h localhost -t "yourtopic" -u "mqtt_user" -P "123456"
mosquitto_pub -h localhost -t "yourtopic" -u "mqtt_user" -P "123456" -m "¿esto está protegido?"
Además, si MQTT rechaza la conexión, intente esto para poner el servicio MQTT en un segundo plano del sistema Linux de la siguiente manera:
mosquitto -d
Encontré que estas referencias son buenas para echar un vistazo. Hoy aprendí algo de estos dos.
- Adafruit:
- Stees-internet-guide.com
Paso 5: preparar un editor
Para este, hago un tablero simple para enviar el mensaje al servidor MQTT. En el modo de soporte, la pantalla LCD muestra el reloj.
Partes:
- Pantalla de visualización SSD1306, $ 2.41 cada una
- EPS8266 WEMOS D1 Mini, $ 2.53 cada uno
- Un potenciómetro
- Un interruptor deslizante de 4 pines.
- dos LED de 3 mm,
- algunas resistencias
Soldadura:
Aquí están los esquemas de esta terminal:
Sube el código:
Es agradable trabajar con la marca WEMOS ESP8266. Solo necesita un micro USB, presione el botón de carga en Arduino IDE para flashear el chip. El código está aquí (GitHub):
Para publicar un mensaje, presione el interruptor para encender el LED verde (y el rojo apagado), luego deslice hacia arriba el pin y ajuste, y finalmente presione el botón nuevamente para enviar el mensaje al servidor MQTT. El tablero podría publicar un mensaje JSON en 4 canales.
Eche un vistazo al resaltado del código (captura de pantalla). Ese es el tema al que el tablero envía el mensaje, y nuestros LED están muy ansiosos por ver cualquier novedad del mensaje JSON
Eso es todo. Espero que el tutorial sea de ayuda.
Recomendado:
Refuerzo de linterna frontal / linterna: 13 pasos (con imágenes)
Refuerzo de linterna frontal / linterna: la linterna frontal se modifica utilizando circuitos de una luz solar de jardín. Le permitirá usar solo 2 baterías en lugar de 3. Esto es útil al comprar baterías. A menudo, solo se venden en paquetes de 2 o 4, pero no de tres. También puede permitir 'dead ba
Timbre con sensor de movimiento: 5 pasos (con imágenes)
Timbre con sensor de movimiento: cuando le conté a mi hijo Jayden sobre el desafío, inmediatamente pensó en usar el set LEGO WeDo. Ha jugado con Legos durante años, pero no fue hasta el comienzo del año escolar pasado que tuvo la oportunidad de codificar con WeDo 2.0
Sensor de movimiento PIR Openhab MQTT: 7 pasos
Sensor de movimiento PIR Openhab MQTT: Hola, En este instructivo, le mostraré cómo puede hacer su propio sensor de movimiento para Openhab
Tira de LED activada por sensor de movimiento con temporizador: 6 pasos (con imágenes)
Tira de LED activada por sensor de movimiento con temporizador: ¡Hola a todos! Estoy muy feliz de estar escribiendo otro instructable en este momento. Este proyecto surgió cuando un compañero instructable-er (?!) (David @dducic) me contactó hace varios meses pidiendo ayuda con el diseño. Así que aquí estaba la especificación original: & q
Salida controlada por movimiento: desde una luz de detección de movimiento: 6 pasos
Salida controlada por movimiento: desde una luz de detección de movimiento: Imagina que eres un truco o trato que va a la casa más aterradora de la cuadra. Después de pasar todos los demonios, fantasmas y cementerios, finalmente llegas al último camino. ¡Puedes ver los dulces en un tazón delante de ti! Pero luego, de repente, un gho