Taula de continguts:
- Pas 1: parts
- Pas 2: Configuració del Raspberry Pi
- Pas 3: Instal·lació de la tira LED
- Pas 4: Control de la tira LED
- Pas 5: fer la cara del rellotge
- Pas 6: alimentació del Pi
- Pas 7: completeu el circuit i l'embalatge
- Pas 8: pengeu el codi + Finalitza
Vídeo: Llum intel·ligent de rellotge despertador reciclat: 8 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:12
En aquest projecte faig un cicle de despertador completament trencat. La cara del rellotge és substituïda per 12 LEDs, il·luminats per una tira LED al voltant de la vora del rellotge. Els 12 LED indiquen l'hora i la tira LED està programada per actuar com una alarma i augmentar la brillantor a l'hora establerta. Tot està controlat per un Raspberry Pi Zero que permet innombrables possibilitats d’integració i expansió, com la sincronització automàtica de l’alarma de llum amb l’alarma del telèfon o el parpelleig dels LEDs quan rebeu un correu electrònic.
El projecte utilitza components relativament econòmics o reutilitzats: l’únic que vaig acabar comprant va ser el regulador de tensió. Tota la resta que em passava per allà, com ara un tall de tira de LED. Aquest instructiu us guiarà a través de com he donat una nova vida al meu rellotge trencat i espero que us pugui inspirar a millorar el vostre compte.
Pas 1: parts
Per controlar tot, utilitzarem un Raspberry Pi Zero ja que és petit, costa molt poc i es pot connectar a WiFi, cosa que significa que no necessitem rellotge en temps real i, per tant, podem actualitzar fàcilment el codi des d’un ordinador portàtil. Tret que tingueu un Pi Zero W, ens connectarem a una xarxa WiFi mitjançant un dongle USB WiFi.
Aquí hi ha una llista de les parts que he utilitzat, però la majoria de coses es poden canviar per alternatives adequades. Per exemple, en lloc d'un Raspberry Pi, podeu utilitzar un Arduino amb un rellotge en temps real per controlar el projecte.
Peces utilitzades
- Un vell despertador
- 30cm de tira LED càlida de color blanc
- 1x targeta micro SD Raspberry Pi Zero +
- 1 x USB Dongle WiFi + convertidor micro USB a USB
- 12x LEDs
- Resistències de 12x 330ohm (utilitzeu-les més altes si voleu LEDs més atenuats)
- 1x TIP31a (o un altre transistor de potència npn o MOSFET)
- 1x 1k resistència
- 1 convertidor de dòlars ajustable DC-DC LM2596 (baixa 12V per 5V per al Raspberry Pi)
- 1 alimentació de 12v (+ forma d’entrar al vostre projecte)
- 10cm x 10cm de fusta per a la cara del rellotge (hauria de ser suficientment fina per muntar-hi els LED)
- Diverses peces de filferro de diferents colors
Coses útils per tenir
- Soldador + soldador
- Cola calenta
- Multímetre
- Taula de pa
- Clavilles femenines
- Lector o convertidor de targetes Micro SD
- Un ordinador
- Adaptador Mini HDMI + pantalla HDMI si voleu utilitzar l'entorn d'escriptori del Pi
Pas 2: Configuració del Raspberry Pi
Sistema operatiu
Com que el Raspberry Pi no es connectarà a una pantalla, vaig optar per utilitzar Raspbian Buster Lite que no inclou un entorn d’escriptori. Si sou més recent de Raspberry Pi, us recomanem que us quedeu amb el Raspbian Buster estàndard que ve amb un escriptori. Si no esteu segur de com instal·lar el vostre sistema operatiu, aquest és un recurs fantàstic. Tots dos sistemes operatius es poden descarregar des del lloc web Raspberry Pi.
De moment, alimenteu el Pi mitjançant la seva entrada d’alimentació Micro USB. Connecteu també el dongle USB WiFi.
Parlant amb el Raspberry Pi
Un cop empaquetat tot, és bastant difícil accedir al Pi si voleu canviar el codi, etc. L'ús de SSH permet utilitzar la connexió al Pi i controlar-lo des d'un altre ordinador. Això no està activat per defecte, però ho podem fer simplement creant una carpeta anomenada ssh a la partició d'arrencada de la vostra targeta SD. Si ja heu iniciat la sessió al vostre Pi, també podeu fer-ho escrivint sudo raspi-config al Terminal i navegant a Opcions d’interfície> SSH i escollint Sí per activar-lo.
Ara podeu connectar-vos al vostre Pi en un altre ordinador. A Mac o Linux podeu utilitzar la vostra aplicació de terminal, però a la majoria de versions de Windows haurà d’instal·lar un client SSH com PuTTY. Connecteu-vos al Pi escrivint ssh pi @ on el nom d’amfitrió és substituït pel nom de l’adreça IP del vostre Pi. El nom d'amfitrió per defecte és raspberrypi.local. Us demanarà una contrasenya que, si encara no l’heu canviat, és raspberry.
Instal·lació del material necessari
Primer assegureu-vos que tot estigui al dia executant sudo apt update i, a continuació, sudo apt full-upgrade.
Per assegurar-nos del que necessitem per controlar els pins GPIO al tipus Pi sudo apt-get install python-rpi.gpio i sudo apt-get install python3-rpi.gpio. Aquests ja haurien d’estar instal·lats a la versió completa de Raspbian.
El codi
Aquí teniu el codi que heu de descarregar perquè tot funcioni. Si feu servir un entorn d'escriptori, enganxeu-los a la carpeta Documents.
Si utilitzeu la línia d'ordres de SSH, aneu a la carpeta d'inici escrivint cd ~ / Documents i prement Intro. Feu un fitxer nou anomenat test1.py amb nano test1.py. Això obrirà l'editor de text nano on podeu enganxar el codi del fitxer test1.py descarregat. CTRL-O i premeu Retorn per desar el fitxer i CTRL-X per sortir de l'editor. Repetiu el procés per a la resta de fitxers.
Pas 3: Instal·lació de la tira LED
Primer, introduïu la tira LED al rellotge per veure quant necessiteu, marqueu aquesta longitud i talleu la tira al següent punt de tall, tal com es mostra. És molt més fàcil soldar cables a la tira abans que la tira s’enganxi al seu lloc. Aquesta és una guia bastant bona sobre com fer-ho, però si no esteu segur, només hauria de practicar la soldadura de la peça de la qual acabeu de tallar la tira. Soldeu un cable al punt de soldadura positiu i un cable al negatiu. Assegureu-vos de provar que la tira LED funcioni abans de posar-la al rellotge.
Com que la tira LED que he utilitzat s’havia utilitzat abans que perdés el seu suport autoadhesiu, vaig haver d’utilitzar cola calenta per fixar la tira al voltant de la vora del rellotge. Si teniu un excés de longitud, cobriu el punt on s’uneixen els cables. És possible que vulgueu instal·lar la tira més endavant, però em va semblar més fàcil tenir-la amagada al rellotge.
Pas 4: Control de la tira LED
Connexió de la tira LED
La tira LED funciona en 12V, de manera que no es pot alimentar directament des del Pi. Per controlar-los utilitzarem un transistor de potència (per exemple, TIP31a) connectat fins al Pi, tal com es mostra a dalt. Recomanaria primer comprovar que tot funcioni en una taula de treball.
- Connecteu GPIO 19 a la base mitjançant una resistència de 1 k
- L'emissor hauria d'estar connectat a GND
- Connecteu el col·lector al terminal negatiu de la tira LED
- Connecteu el terminal de la tira LED positiva a + 12V
Proves
A la línia d'ordres, accediu a la carpeta de documents (cd ~ / Documents) i escriviu python test1.py i introduïu. Hauríeu de veure com augmenta i disminueix la brillantor de la tira LED. Per sortir del programa, premeu CTRL-C. Podeu editar el fitxer (nano test1.py) per canviar la velocitat i la brillantor del programa.
importar RPi. GPIO com a GPIOimportar el temps GPIO.setmode (GPIO. BCM) # Utilitzeu el pinout BCM GPIO.setwarnings (fals) # Ignoreu les advertències sobre els pins que s’utilitzen per a altres coses ledStripPin = 19 # La tira LED es condueix des d’aquest pin GPIO.setup (ledStripPin, GPIO. OUT) # Estableix ledStripPin com a sortida pwm = GPIO. PWM (ledStripPin, 100) # PWM a ledStripPin amb freqüència 100Hz dutyCycle = 0 # Lluminositat inicial com a percentatge pwm.start (dutyCycle) intenta: mentre que True: per dutyCycle a l'interval (0, 101, 1): # Fade up pwm. ChangeDutyCycle (dutyCycle) time.sleep (0,05) per a dc a l'interval (95, -1, -1): # Fade down pwm. ChangeDutyCycle (dc) time.sleep (0,05), excepte KeyboardInterrupt: # Premeu CTRL-C per sortir i, a continuació,: pwm.stop () # Atureu el pwm GPIO.cleanup () # Netejar els pins GPIO
Pas 5: fer la cara del rellotge
Talla el tros de fusta del rellotge cap avall a la mida perquè encaixi amb el rellotge. Vaig fer que el meu descansés a uns 3cm de la part davantera. Traieu 12 forats del diàmetre dels vostres LED (normalment de 3 mm o 5 mm) a 30 graus l’un de l’altre. Liureu la cara frontal cap avall i apliqueu un acabat que vulgueu. Des de la part posterior, col·loqueu els LED perquè apuntin cap a la part frontal. Vaig utilitzar cola calenta per mantenir els LEDs al seu lloc amb el terminal positiu (cable més llarg) cap a l'interior. La mida de la cara del meu rellotge significava que podia soldar tots els terminals negatius junts (vegeu més amunt), de manera que només calia un cable per connectar els 12 LED a GND. A continuació, soldeu un cable a cada LED.
Si voleu provar-ho en una placa de taula, primer recordeu-vos d’utilitzar una resistència (330ohm és bastant estàndard) en sèrie amb cada LED abans de connectar-lo a un dels pins GPIO Pi. Juga amb el valor de la resistència que fas servir per obtenir un nivell de brillantor amb el qual estiguis satisfet. Un t-cobbler és realment útil per trencar els passadors del Pi a una taula de treball, tot i que haureu de soldar els passadors de capçalera. Utilitzeu test2.py (executeu-lo amb python test2.py) però assegureu-vos que primer editeu el programa i introduïu els pins GPIO del Pi que heu utilitzat per a cada LED.
importar RPi. GPIO com a GPIO
temps d'importació GPIO.setmode (GPIO. BCM) # Utilitzeu el pinout BCM GPIO.setwarnings (fals) # Ignoreu les advertències sobre els pins que s'utilitzen per a altres coses # Substituïu un, dos, … amb el número de pin corresponent hourPin = [un, dos, tres, quatre, cinc, sis, set, vuit, nou, deu, onze, dotze] # Els pins als quals es connecten els LED d'1-12 per a i en l'interval (0, 12): GPIO.setup (hourPin , GPIO. OUT) # Definiu tots els hourPins com a sortides GPIO.output (hourPin , 0) # Assegureu-vos que tots els LED estan apagats proveu: mentre que True: per a l’interval (0, 12) GPIO.output (hourPin , 1): time.sleep (0,05) per a l’interval (0, 12) GPIO.output (hourPin , 0): time.sleep (0,05) excepte KeyboardInterrupt: # Premeu CTRL-C per sortir i llavors: GPIO.cleanup () # Neteja els pins GPIO
Pas 6: alimentació del Pi
Necessitem una manera senzilla d’aconseguir 5V al Pi Zero per poder desfer-nos del cable micro USB que hem utilitzat per alimentar-lo fins ara. Hi ha una sèrie de solucions que redueixen 12V a 5V, com ara un regulador de tensió lineal LM7805, però no són molt eficients, així que, en canvi, vaig optar per utilitzar el convertidor de dòlar ajustable més eficient mitjançant el xip LM2596. Tingueu en compte que haureu de girar el potenciòmetre fins que la tensió de sortida es redueixi a 5V segons sigui necessari, de manera que necessiteu alguna manera de mesurar el voltatge.
Utilitzar el LM2596 és senzill: connecteu el + 12V a IN +, la terra a IN-. El Pi es pot connectar directament a 5V connectant OUT + a un dels pins de 5V del Pi, però assegureu-vos que heu canviat el voltatge de sortida a 5V abans de fer això o fregireu el vostre Pi.
Pas 7: completeu el circuit i l'embalatge
Ara hem cobert els tres elements del circuit que es mostren junts al circuit general anterior. Per estalviar espai i fer que el circuit sigui més net, col·loqueu el circuit a la placa de tires o al tauler prototip. Primer soldar els components més petits, les resistències, després el transistor de potència, els connectors i, finalment, els cables. Planifiqueu el circuit abans de soldar per assegurar-vos que teniu espai per a tot.
Vaig connectar-ho tot en un PCB de prototipatge i vaig utilitzar pins de capçalera femella perquè el Pi pogués muntar-se directament al PCB. Els LED de la cara del rellotge es connecten a través de resistències d’un costat de la placa i he mantingut espai a l’altre costat de la placa per al transistor de potència i lliure per a qualsevol altre circuit que vulgueu afegir més endavant.
Col·loqueu la cara del rellotge al rellotge i assegureu-vos que tots els aparells electrònics hi càpiguen. Tot estava molt ajustat per a mi, de manera que és possible que hàgiu de fer una mica de reordenació. Connecteu la font d'alimentació i executeu test1.py i test2.py des de SSH per comprovar que tot funciona abans de connectar la part posterior.
Pas 8: pengeu el codi + Finalitza
El codi
Finalment, si encara no ho heu fet, carregueu el codi i adapteu-lo com vulgueu (mitjançant nano filename.py). L’avantatge de connectar-se al Pi mitjançant SSH és que podeu actualitzar el codi sense obrir el rellotge.
Aquests programes python del pas 2 fan el següent:
- light_clock_simple.py simplement mostra l'hora en els LED i s'esvaeix cap amunt i cap avall de la tira de LED en determinats moments
- light_clock_pwm.py és el mateix que l’anterior, però també permet reduir la brillantor dels LED i mostra els minuts a una brillantor diferent de les hores. Haureu de jugar amb els nivells de brillantor de tots dos, de manera que es nota el contrast entre tots dos
Aquests haurien de proporcionar una base sòlida per afegir al codi, per exemple, és possible que vulgueu afegir un botó per posposar l'alarma de llum.
Per iniciar el programa quan arrenca el Pi, hem d'afegir '@reboot nohup python light_clock_pwm.py &' al final del fitxer crontab que es pot obrir des del terminal amb crontab -e. Reinicieu el Raspberry Pi per comprovar que funcioni amb sudo shutdown -r ara.
Increments potencials
Aquí hi ha algunes idees de funcionalitats addicionals que es podrien afegir
- Afegir un botó de posposició
- Afegir un mode de llum
- Connexió a IFTTT (per exemple, la llum es pot encendre quan l'alarma del telèfon s'apaga / parpelleja quan es rep el correu electrònic)
- Afegint capacitat tàctil, és a dir, converteix el rellotge en un llum tàctil
Podeu notar quan utilitzeu PWM que, de vegades, sobretot amb una brillantor inferior, el LED parpelleja una mica. Això es deu al fet que el Pi utilitza programari PWM, de manera que els processos de la CPU poden afectar el cicle de treball. Tenir menys processos en execució ajuda amb això, així que vaig utilitzar el sistema operatiu reduït Raspbian Lite. El PWM de maquinari també està disponible en uns quants pins, de manera que si el parpelleig està demostrant un problema, potser hauríem de tenir en compte.
Espero que hagueu trobat aquesta informació instructiva i us sentiu inspirats a fer un rellotge despertador antic o a utilitzar elements del codi per al vostre propi projecte.
Accèssit al LED Strip Speed Challenge
Recomanat:
Llum LED d'escriptori intel·ligent - Il·luminació intel·ligent amb Arduino - Espai de treball Neopixels: 10 passos (amb imatges)
Llum LED d'escriptori intel·ligent | Il·luminació intel·ligent amb Arduino | Espai de treball de Neopixels: ara passem molt de temps a casa estudiant i treballant virtualment, per què no fer que el nostre espai de treball sigui més gran amb un sistema d’il·luminació personalitzat i intel·ligent basat en els LEDs Arduino i Ws2812b. Aquí us mostro com construir el vostre Smart Llum LED d'escriptori que
Converteix un telèfon intel·ligent no utilitzat en una pantalla intel·ligent: 6 passos (amb imatges)
Converteix un telèfon intel·ligent no utilitzat en una pantalla intel·ligent: el tutorial de Deze es troba a Engels, per a la versió del clàssic espanyol. Teniu un telèfon intel·ligent (antic) sense utilitzar? Convertiu-lo en una pantalla intel·ligent amb Fulls de càlcul de Google i paper i llapis seguint aquest senzill tutorial pas a pas. Quan hagis acabat
Rellotge despertador intel·ligent - Intel Edison - Iot RoadShow - São Paulo: 4 passos
Rellotge despertador intel·ligent - Intel Edison - Iot RoadShow - São Paulo: una de les grans virtuts de qui viu o treballa en una gran ciutat és la gestió del temps. Avui en dia els viatges són constants i, com que el trànsit és un dels principals factors. Pensant-hi, he creat una petita aplicació que utilitza la integració amb Google M
Rellotge despertador intel·ligent: un despertador intel·ligent fabricat amb Raspberry Pi: 10 passos (amb imatges)
Rellotge despertador intel·ligent: un rellotge despertador intel·ligent fet amb Raspberry Pi: Heu volgut mai un rellotge intel·ligent? Si és així, aquesta és la solució per a vosaltres. He creat Smart Alarm Clock (Rellotge despertador intel·ligent), aquest és un rellotge que permet canviar l’hora de l’alarma segons el lloc web. Quan l’alarma s’activi, hi haurà un so (brunzidor) i 2 llums
Com controlar l'interruptor intel·ligent bàsic Sonoff basat en ESP8266 amb un telèfon intel·ligent: 4 passos (amb imatges)
Com controlar el commutador intel·ligent bàsic de Sonoff basat en ESP8266 amb un telèfon intel·ligent: Sonoff és una línia de dispositius per a Smart Home desenvolupada per ITEAD. Un dels dispositius més flexibles i econòmics d’aquesta línia és Sonoff Basic. És un commutador habilitat per Wi-Fi basat en un gran xip, ESP8266. En aquest article es descriu com configurar el Cl