Taula de continguts:
- Pas 1: matriu de làmpades
- Pas 2: Teoria de l’enfosquiment
- Pas 3: pràctica d’enfosquiment
- Pas 4: controlador de làmpada (ESP32)
- Pas 5: Tauler de control
- Pas 6: gaudiu
Vídeo: Llum de control de sol brillant i controlable: 6 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:11
Alguna vegada us heu despertat a les 7 anys, el temps habitual que necessiteu per despertar-vos per treballar i us heu trobat a les fosques? L’hivern és un moment terrible, oi? Cal despertar-se a mitja nit (en cas contrari, per què és tan fosc?), Arrencar-se del llit i enviar el cos semiconscient a la dutxa.
Aquest projecte pretén resoldre un dels problemes: la foscor del matí.
Hi ha moltes làmpades de sortida del sol barates, però totes són de poca potència i pàl·lides. Són més com un llum de nit, que se suposa que us farà dormir millor. No és el que vull en absolut.
Al mateix temps, només encendre la llum brillant us despertarà immediatament, però no amb prou suavitat. El que vull és una combinació d'ambdós enfocaments: il·luminar amb poca brillantor, arribar lentament a la màxima velocitat, després s'activa una alarma real i ja no tens tanta son. Afegim-hi una cançó d’ocells i cada matí et lleves al cel!
Pas 1: matriu de làmpades
En primer lloc, necessitem la làmpada mateixa. Tinc una habitació bastant gran amb parets i sostres blancs, així que vaig optar per 7 làmpades LED GU10, de 6W cadascuna, amb més de 40W de potència pura. N’hi ha prou per fer-vos sentir que ja és de dia. També es pot utilitzar com a il·luminació habitual de l'habitació durant el dia.
Realment no importa com el munteu, quines làmpades utilitzeu i quins endolls. Tot el que importa: han de ser làmpades regulables.
En el meu cas, tinc un tauló de fusta amb 7 endolls GU10 connectats, connectats tots junts. Més endavant el posaré en una caixa de plàstic.
Pas 2: Teoria de l’enfosquiment
En teoria no hi ha diferència entre teoria i pràctica. A la pràctica n’hi ha.
Controlar un regulador d’intensitat d’ESP32 / Arduino no semblava tan senzill com imaginava. Tinc un dels mòduls de regulador de llum AC de RobotDyn. El fabricant suggereix una biblioteca per a això. No funciona a ESP32 (i és molt difícil d’adaptar, ja que utilitza un munt d’accés de registre específic ATMega de baix nivell), funciona a Arduino Nano, donant un parpelleig terrible a la brillantor mitjana baixa. És per això que vaig dedicar un temps a investigar com funciona tot i a fer el meu camí.
Una mica de teoria
El mòdul dimmer escollit utilitza un TRIAC molt popular: BTA16. Hi ha molts articles al respecte. Intentaré resumir-ho aquí.
TRIAC és un mòdul que pot transmetre una tensió positiva o negativa d’entrada a la sortida o pot bloquejar-la. Per defecte, ho bloqueja tot. Per obrir-lo, hauríem de donar-li un senyal elevat a l'entrada de la porta per 100 us. Després, romandrà obert fins que el corrent caigui a zero, cosa que passa quan una tensió d’entrada canvia el signe, creuant una tensió zero. Aleshores, al següent cicle hauríem de fer un altre pols de 100 us, etc. En triar quan donar un pols, controlem la brillantor: feu-ho al principi, i s’acostarà al 100% de la transmissió de potència. Feu-ho més tard i quedarà atenuat. Mireu el diagrama anterior explicant-lo.
Per generar impulsos en el mateix punt del cicle, hem de saber exactament quan comença. És per això que el mòdul de regulador té un detector de creu zero integrat. Simplement genera un senyal (que capturarem com a interrupció de maquinari a Arduino) cada vegada que la tensió creua zero.
Pas 3: pràctica d’enfosquiment
Sí, és així com et despertaries si el llum no té atenuació i posa els 40W de potència als teus ulls adormits.
Problemes comuns
Hi ha diversos problemes que hem d’abordar.
Parpelleig.
El temps del microcontrolador ha de ser realment precís per activar i desactivar la sortida de la porta. La biblioteca RobotDyn suggereix, té una interrupció del temporitzador cada 100us i canvia el nivell de la porta només en el temporitzador. Vol dir que pot estar a +/- 50 microsegons del valor òptim. Dóna un bon resultat amb una brillantor elevada, però parpelleja molt amb una brillantor baixa. A més, si el microcontrolador fa moltes coses, disminueix la precisió del temps, de manera que idealment s’hauria d’utilitzar un microcontrolador dedicat per al regulador.
Brillantor mínima: els LED tenen un convertidor de potència incorporat, que només es negarà a treballar sense tenir prou energia. Les meves làmpades semblaven funcionar bé a partir del 10-11%.
Fins i tot amb aquest valor, algunes de les meves làmpades es van negar a encendre-se a l’arrencada. Fins i tot quan augmenten la brillantor més tard, es mantenen fosques. Per això, quan passem de l’estat OFF a una brillantor positiva, comencem amb un període d’escalfament de 5 cicles, quan donem plena potència a les làmpades. Després continuem amb la brillantor desitjada. És gairebé inapreciable, però realment ajuda.
Freqüència de xarxa de 50/60 Hz. Cal saber quant cal esperar abans del zero següent. És bastant senzill: només observem la diferència horària entre les dues darreres interrupcions.
Canvi de brillantor gradual: l’ESP32 és bastant lent, triga 0,5 segons a processar una petita trivial HTTP o fins i tot una sol·licitud WebSocket, així que no espereu una transició de brillantor suau, s’ha d’implementar d’alguna manera al nivell més feble. És per això que, quan rep una nova brillantor des d’un port sèrie, només defineix l’objectiu i després s’acosta lentament amb el pas del temps.
La solució
Aquí teniu el meu senzill codi Arduino per al regulador. S'espera una ordre (un byte amb la nova brillantor) de l'entrada serial, gestiona les interrupcions Zero-Cross, controla el TRIAC, gestionant tots els problemes anteriors.
Pas 4: controlador de làmpada (ESP32)
Aquí teniu l’esquema de connexió de tots els components que tinc. La placa ESP32 és molt diferent a la que faig servir jo (Heltec), de manera que els pins triats semblen una mica estranys, però encara hauria de funcionar bé. No dubteu a utilitzar diferents pins al vostre projecte.
Aquí teniu el codi que ho controla tot. És força senzill.
Les principals característiques
Controlable: el llum es connecta a WiFi, inicia un servidor WebSocket al port 81, espera les ordres. El format de l’ordre és
De moment només s’admeten dues ordres: "set_brightness" i "update_settings", que són … bastant autodescriptives.
Obtenir temps des de NTP. No vull complicar massa les coses i afegir un rellotge en temps real a l’esquema. Tenim accés a Internet, cosa que significa que podem obtenir el temps real d'algun servidor NTP i després fer un seguiment de l'hora actual mitjançant els temporitzadors del sistema.
Alarma de sortida del sol: podeu configurar una alarma. El que realment fa: comença amb la brillantor mínima i va gradualment a la brillantor màxima durant 10 minuts. Després es queda un parell d’hores encès. Després s’apaga gradualment durant 60 segons.
Tots els paràmetres anteriors són configurables.
Birds singing. DFPlayer mini s’utilitza per reproduir música. Hi ha moltes guies per fer-ho, però bàsicament només cal connectar una targeta MicroSD, formatada a FAT32, amb un fitxer anomenat 0001.mp3. Aquest fitxer pot tenir qualsevol cosa que vulgueu, en el meu cas són 15 minuts cantant d’ocells (es farà un bucle) i fa que el meu matí sigui increïble. Tingueu en compte que hi ha un condensador enorme a la potència i resistències d’1 kOhm a la línia serial ESP32 i DFplayer: són opcionals, però ajuden a reduir el soroll.
Emmagatzematge dels paràmetres a EEPROM. Tots els paràmetres s’escriuen a EEPROM i es carreguen a l’inici. Permet utilitzar la làmpada amb almenys una funció d'alarma sense un controlador connectat.
Representant informació a la pantalla OLED. El meu Heltec ESP32 té una pantalla SSD1306 128X64 I2C integrada. Hi apareix tota la informació essencial. Ja ho sé, la caixa sembla lletja, acabo d’imprimir en 3D algunes coses i he tallat els forats i les finestres amb un trepant. Ràpid, brut, però funciona!
Pas 5: Tauler de control
Aquest és el cor del projecte. Un Raspberry Pi amb una pantalla original de 7 polzades, amb un frontal Kivy.
Aquí teniu el codi font complet.
Les característiques
Escrit a Python. M’encanta Kivy, és un marc de Python per a interfícies d’usuari. Molt senzill, però flexible i eficaç (utilitza molts codis C a l'interior per a un alt rendiment i acceleració del maquinari).
Temps: mostra la temperatura i la pressió actuals a l’exterior. Si connecteu un sensor remot, també a la temperatura interior, també sol·liciteu i analitzeu la previsió meteorològica durant les següents 12 hores i us aviseu sobre la probabilitat de pluja.
Controlador SunriseLamp. Un altre panell mostra informació bàsica sobre l'alarma i us permet ajustar la brillantor. Si aneu a la configuració, podeu configurar qualsevol paràmetre de la làmpada, inclosa la programació de l'alarma, el volum màxim d'àudio, etc.
Screensaver. Renders Game of Life a la pantalla després d'un període d'inactivitat.
Abans n’hi havia més, però semblaven inútils altres coses.
Instal·lació
Ho he instal·lat tot manualment a Raspbian i ara puc dir: no repetiu els meus errors. Utilitzeu el KivyPie, ja ho té tot preinstal·lat.
A part d’això, només cal que seguiu la guia d’instal·lació del dipòsit de codis.
Pas 6: gaudiu
Personalment estic satisfet amb el dispositiu. L’utilitzo com a il·luminació principal a casa durant un dia i em deixa despertar al matí, és increïble.
Sé que les instruccions no són molt detallades i descriptives. Si algú fa el mateix i té problemes, estaré encantat d'ajudar-lo.
Recomanat:
Llum de Lego súper brillant A partir de 14 $ Llum d'escriptori Radio Shack: 8 passos (amb imatges)
Llum de Lego súper brillant A partir de 14 € Llum d’escriptori Radio Shack: amb una mica d’ajuda del vostre gat, converteix fàcilment una làmpada d’escriptori de Radio Shack a una potent llum Lego amb molts usos. A més, podeu alimentar-lo per CA o USB. Comprava peces per afegir il·luminació a un model Lego quan ho vaig trobar per accident
Llum de bicicleta molt brillant amb PCB de panells de llum personalitzats: 8 passos (amb imatges)
Llum molt brillant per a bicicletes amb PCB de panells de llum personalitzats: si teniu una bicicleta, sabreu fins a quin punt poden resultar desagradables els sots als pneumàtics i al cos. Ja tenia prou bufat els pneumàtics, així que vaig decidir dissenyar el meu propi panell led amb la intenció d’utilitzar-lo com a llum de bicicleta. Un que se centra en ser E
Com fer llum flash súper brillant amb LED - DIY: llum súper brillant: 11 passos
Com fer llum flash súper brillant amb LED - DIY: llum súper brillant: mireu el vídeo al principi
Wi-fi controlable per llum LED multicolor de bricolatge: 11 passos (amb imatges)
Wi-fi controlable per llum LED multicolor de bricolatge: Bon Nadal a tothom el connecteu a la xarxa wifi de casa vostra, aneu en aquesta pàgina web i l’espectacle pot iniciar el projecte
Mini llum de nit de llum de nit / llum: 5 passos
Llum / làmpada nocturna de nit de mini LED: primer, hauria de dir que es va inspirar en la làmpada LED de peu Mini de Sunbanks. En lloc d’utilitzar un biro per mantenir el led allunyat de l’escriptori, he utilitzat un clar perspex per projectar la llum de la base. Aquest petit projecte és un prototip