Obsah:
- Krok 1: Diely
- Krok 2: Nastavenie Raspberry Pi
- Krok 3: Inštalácia pásky LED
- Krok 4: Ovládanie pásu LED
- Krok 5: Vytvorenie ciferníka
- Krok 6: Napájanie Pi
- Krok 7: Dokončite obvod a balenie
- Krok 8: Nahrajte kód + Dokončiť
Video: Inteligentné svetlo upcyklovaného budíka: 8 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:56
V tomto projekte upcyklujem úplne pokazený budík. Ciferník je nahradená 12 diódami LED, osvetlenými pásikom LED okolo okraja hodín. 12 LED diód udáva čas a páska LED je naprogramovaná tak, aby pôsobila ako alarm a v nastavený čas sa rozsvietila na plný jas. Všetko je riadené Raspberry Pi Zero, ktoré umožňuje nespočetné možnosti integrácie a rozšírenia, ako je automatická synchronizácia svetelného alarmu s alarmom telefónu alebo blikanie diód LED pri prijatí e -mailu.
Projekt používa relatívne lacné alebo opakovane používané komponenty - jediné, čo som nakoniec kúpil, bol regulátor napätia. Všetko ostatné, čo som náhodou ležal, ako napríklad prerušený LED pás. Tento návod vás prevedie tým, ako som svojim zlomeným hodinám dal nový život, a dúfajme, že vás inšpiruje k upcyklovaniu niečoho vlastného.
Krok 1: Diely
Aby sme mohli ovládať všetko, použijeme Raspberry Pi Zero, pretože je malý, stojí veľmi málo a je možné ho pripojiť k sieti Wi -Fi, čo znamená, že nepotrebujeme hodiny v reálnom čase, a preto môžeme kód ľahko aktualizovať na diaľku z prenosného počítača. Pokiaľ nemáte Pi Zero W, pripojíme sa k sieti WiFi pomocou USB WiFi kľúča.
Tu je zoznam použitých dielov, ale väčšinu vecí je možné vymeniť za vhodné alternatívy. Napríklad namiesto Raspberry Pi môžete na ovládanie projektu použiť Arduino s hodinami reálneho času.
Použité diely
- Starý budík
- 30 cm teplého bieleho LED pásu
- 1x karta Raspberry Pi Zero + micro SD
- 1x USB WiFi dongle + prevodník z micro USB na USB
- 12x LED diódy
- 12x 330ohm odpory (použite vyššie, ak chcete stmievateľné LED diódy)
- 1x TIP31a (alebo iný výkonový tranzistor npn alebo MOSFET)
- 1x 1k odpor
- 1x LM2596 DC-DC nastaviteľný buck prevodník (pre Raspberry Pi zníži napätie 12V na 5V)
- 1x napájací zdroj 12 V (+ spôsob zapojenia do vášho projektu)
- Drevený ciferník s rozmermi 10 cm x 10 cm (mal by byť dostatočne tenký na namontovanie diód LED)
- Rôzne kusy rôznofarebného drôtu
Užitočné veci mať
- Spájkovačka + spájka
- Horúce lepidlo
- Multimeter
- Breadboard
- Ženské kolíkové hlavičky
- Čítačka alebo prevodník kariet Micro SD
- Počítač
- Mini HDMI adaptér + obrazovka HDMI, ak chcete používať desktopové prostredie Pi
Krok 2: Nastavenie Raspberry Pi
Operačný systém
Pretože Raspberry Pi nebude pripojený k obrazovke, rozhodol som sa použiť Raspbian Buster Lite, ktorý nie je dodávaný s desktopovým prostredím. Ak ste s Raspberry Pi novší, možno budete chcieť použiť štandardný Raspbian Buster, ktorý sa dodáva s počítačom. Ak si nie ste istí, ako nainštalovať operačný systém, je to skvelý zdroj. Oba operačné systémy je možné stiahnuť z webovej stránky Raspberry Pi.
V tejto chvíli napájajte Pi pomocou zdroja napájania Micro USB. Pripojte aj USB WiFi dongle.
Rozhovor s Raspberry Pi
Akonáhle je všetko zabalené, je dosť ťažké získať prístup k Pi, ak chcete zmeniť kód atď. Použitie SSH vám umožní použiť pripojenie k Pi a ovládať ho z iného počítača. Toto nie je predvolene zapnuté, ale môžeme to urobiť jednoduchým vytvorením priečinka ssh v zavádzacom oddiele vašej karty SD. Ak ste sa už do svojho Pi prihlásili, môžete to urobiť aj tak, že na terminál napíšete sudo raspi-config a prejdete na Možnosti rozhrania> SSH a zvolením Áno ho povolíte.
Teraz sa môžete k svojmu Pi pripojiť na inom počítači. Na počítačoch Mac alebo Linux môžete používať svoju koncovú aplikáciu, ale vo väčšine verzií systému Windows budete musieť nainštalovať klienta SSH, napríklad PuTTY. Pripojte sa k Pi zadaním ssh pi@, kde názov hostiteľa je nahradený názvom hostiteľa IP adresy vášho Pi. Predvolený názov hostiteľa je raspberrypi.local. Požiada vás o heslo, ktoré, ak ste ho ešte nezmenili, je malina.
Potrebná inštalácia vecí
Najprv sa uistite, že je všetko aktuálne, spustením sudo apt update a potom sudo apt full-upgrade.
Aby sme sa uistili, že potrebujeme ovládať piny GPIO na type Pi sudo apt-get install python-rpi.gpio a sudo apt-get install python3-rpi.gpio. Tie by už mali byť nainštalované v plnej verzii Raspbian.
Kód
Tu je kód na stiahnutie, aby všetko fungovalo. Ak používate desktopové prostredie, vložte ich do priečinka Dokumenty.
Ak používate príkazový riadok SSH, prejdite do svojho domovského priečinka zadaním cd ~/Documents a stlačením klávesu Enter. Vytvorte nový súbor s názvom test1.py pomocou programu nano test1.py. Otvorí sa nano textový editor, do ktorého môžete vložiť kód stiahnutého súboru test1.py. CTRL-O a stlačením klávesu Enter súbor uložíte a CTRL-X ukončíte editor. Opakujte postup pre zostávajúce súbory.
Krok 3: Inštalácia pásky LED
Najprv vysuňte LED pásik na hodinách, aby ste zistili, koľko budete potrebovať, označte si túto dĺžku a odstrihnite pás v nasledujúcom bode strihu, ako je znázornené na obrázku. Je oveľa jednoduchšie spájkovať drôty s pásikom, než sa pásik zasekne na svojom mieste. Toto je celkom dobrý návod, ako to urobiť, ale ak si nie ste istí, zacvičím si na spájkovaní na kúsku, z ktorého ste práve odstrihli pásik. Spájajte jeden vodič na kladný bod spájky a jeden vodič na záporný. Pred vložením do hodiniek si najskôr vyskúšajte, či váš LED pás funguje.
Pretože LED pásik, ktorý som použil, bol použitý skôr, ako stratil samolepiaci podklad, a tak som musel použiť horúce lepidlo na upevnenie pásika okolo okraja hodín. Ak máte nadbytočnú dĺžku, zakryte bod, kde sú pripevnené drôty. Možno budete chcieť pás nainštalovať neskôr, ale pre mňa bolo jednoduchšie nechať ho zastrčený v hodinách.
Krok 4: Ovládanie pásu LED
Pripojenie LED pásika
LED pás beží na 12 V, takže ho nemožno napájať priamo z Pi. Na ich ovládanie použijeme výkonový tranzistor (napr. TIP31a) zapojený do Pi, ako je uvedené vyššie. Odporúčam najskôr skontrolovať, či to všetko funguje na doske.
- Pripojte GPIO 19 k základni pomocou rezistora 1k
- Vysielač by mal byť pripojený k GND
- Pripojte kolektor k zápornému pólu LED pásky
- Pripojte kladný pól svorky LED na +12V
Testovanie
Na príkazovom riadku nagivate do priečinka s dokumentmi (cd ~/Documents) napíšte python test1.py a zadajte. Mali by ste vidieť, ako sa LED pás zvyšuje a znižuje jas. Program ukončíte stlačením klávesov CTRL-C. V súbore (nano test1.py) môžete upraviť rýchlosť a jasy programu.
importujte RPi. GPIO ako GPIOimportový čas GPIO.setmode (GPIO. BCM) # Použite BCM pinout GPIO.setwarnings (False) # Ignorujte upozornenia na piny používané pre iné veci ledStripPin = 19 # LED pásik je poháňaný z tohto kolíka GPIO.setup (ledStripPin, GPIO. OUT) # Nastaviť ledStripPin ako výstup pwm = GPIO. PWM (ledStripPin, 100) # PWM na ledStripPin s frekvenciou 100 Hz dutyCycle = 0 # Počiatočný jas v percentách pwm.start (dutyCycle) skúste: kým True: pre dutyCycle v rozsahu (0, 101, 1): # Fade up pwm. ChangeDutyCycle (dutyCycle) time.sleep (0,05) for dc in range (95, -1, -1): # Fade down pwm. ChangeDutyCycle (dc) time.spánok (0,05) okrem prerušenia klávesnice: # Ukončite stlačením klávesu CTRL-C a potom: pwm.stop () # Zastavte pwm GPIO.cleanup () # Vyčistite kolíky GPIO
Krok 5: Vytvorenie ciferníka
Odrežte kus dreva pre hodiny tak, aby sa zmestil do vašich hodín. Svoju som nechal odpočívať asi 3 cm odpredu. Vyvŕtajte 12 otvorov s priemerom vašich LED diód (zvyčajne 3 mm alebo 5 mm) v odstupe 30 stupňov od seba. Prednú stranu obrúste lícom nadol a naneste povrchovú úpravu podľa vlastného výberu. Zo zadnej strany umiestnite diódy LED tak, aby smerovali dopredu. Použil som horúce lepidlo, aby LED diódy držali na svojom mieste tak, aby kladný pól (dlhší vodič) smeroval dovnútra. Veľkosť môjho ciferníka znamenala, že som mohol spájkovať všetky záporné póly dohromady (pozri vyššie), takže na pripojenie všetkých 12 LED diód k GND bol potrebný iba jeden vodič. Ďalej ku každej dióde LED spájkujte drôt.
Ak to chcete vyskúšať na doske, najskôr nezabudnite použiť rezistor (330 ohmov je celkom štandardný) v sérii s každou LED diódou, než ho pripojíte k jednému z pinov Pi GPIO. Hrajte sa s hodnotou odporu, ktorý používate, aby ste dosiahli úroveň jasu, s ktorou ste spokojní. T-cobbler je skutočne užitočný pri rozbíjaní pinov Pi na doske, aj keď na to budete musieť spájkovať kolíky záhlavia. Použite test2.py (spustite pomocou pythonu test2.py), ale uistite sa, že najskôr upravíte program a zadáte GPIO piny Pi, ktoré ste použili pre každú LED.
importujte RPi. GPIO ako GPIO
čas importu GPIO.setmode (GPIO. BCM) # Použite BCM pinout GPIO.setwarnings (False) # Ignorujte upozornenia na piny, ktoré sa používajú na iné účely # Nahraďte jeden, dva,… zodpovedajúcim počtom pinov hourPin = [jeden, dva, tri, štyri, päť, šesť, sedem, osem, deväť, desať, jedenásť, dvanásť] # Kolíky, ku ktorým sú LED diódy pripojené od 1 do 12 pre i v rozsahu (0, 12): GPIO.setup (hourPin , GPIO. OUT) # Nastaviť všetky hourPiny ako výstupy GPIO.output (hourPin , 0) # Uistite sa, že sú všetky LED zhasnuté, skúste: while True: for i in range (0, 12) GPIO.output (hourPin , 1): time.sleep (0,05) pre i v rozsahu (0, 12) GPIO.output (hourPin , 0): time.sleep (0,05) okrem KeyboardInterrupt: # Stlačením CTRL-C ukončíte a potom: GPIO.cleanup () # Vyčistite kolíky GPIO
Krok 6: Napájanie Pi
Potrebujeme jednoduchý spôsob, ako dostať 5 V na Pi Zero, aby sme sa mohli zbaviť kábla micro USB, ktorý sme doteraz používali na jeho napájanie. Existuje niekoľko riešení, ktoré znižujú napätie 12 V na 5 V, ako napríklad lineárny regulátor napätia LM7805, ale nie sú príliš účinné, takže som sa namiesto toho rozhodol použiť účinnejší nastaviteľný prevodník dolárov pomocou čipu LM2596. S týmto budete musieť krútiť potenciometrom, kým sa výstupné napätie nezníži na 5 V podľa potreby, takže budete potrebovať nejaký spôsob merania napätia.
Použitie LM2596 je jednoduché: zapojte +12V do IN +, uzemnenie do IN-. Pi môže byť pripojený priamo k 5V pripojením OUT+ k jednému z 5V pinov Pi, ale uistite sa, že ste zmenili výstupné napätie na 5V predtým, ako to urobíte, inak budete Pi opekať!
Krok 7: Dokončite obvod a balenie
Teraz sme pokryli všetky tri prvky obvodu, ktoré sú zobrazené spoločne v celkovom obvode vyššie. Aby ste ušetrili miesto a aby bol obvod úhľadnejší, umiestnite svoj obvod na pásovú alebo prototypovú dosku. Najprv spájkujte najmenšie súčiastky, odpory, potom výkonový tranzistor, akékoľvek konektory a nakoniec vodiče. Pred spájkovaním si naplánujte svoj obvod, aby ste sa presvedčili, že máte priestor na všetko.
Všetko som zapojil do prototypu DPS a použil som zásuvkové kolíky, aby sa Pi mohol pripojiť priamo na DPS. LED diódy na ciferníku sú pripojené cez odpory na jednej strane dosky a na druhej strane dosky som ponechal priestor pre výkonový tranzistor a voľný pre všetky ďalšie obvody, ktoré by som mohol neskôr chcieť pridať.
Pripevnite ciferník k hodinám a uistite sa, že všetka elektronika do seba zapadne. Všetko mi celkom sedelo, takže možno budete musieť urobiť nejaké preskupenie. Pripojte napájanie a spustite test1.py a test2.py zo SSH a pred pripevnením chrbta skontrolujte, či všetko funguje.
Krok 8: Nahrajte kód + Dokončiť
Kód
Nakoniec, ak ste to ešte neurobili, nahrajte kód a upravte ho podľa seba (pomocou nano filename.py). Výhodou pripojenia k Pi cez SSH je, že kód môžete aktualizovať bez otvárania hodín.
Tieto programy pythonu z kroku 2 robia nasledovné:
- light_clock_simple.py jednoducho zobrazuje hodinu na diódach LED a v určitých časoch mizne hore a dole na páse LED
- light_clock_pwm.py je rovnaký ako vyššie, ale tiež umožňuje zníženie jasu diód LED a zobrazuje minúty s iným jasom ako hodiny. Budete sa musieť pohrať s úrovňami jasu oboch, aby bol kontrast medzi týmito dvoma nápadný
Mali by poskytnúť pevný základ pre pridanie do kódu, napríklad by ste mohli chcieť pridať tlačidlo na odloženie svetelného alarmu.
Na spustenie programu pri štarte Pi potrebujeme pridať „@reboot nohup python light_clock_pwm.py &“na koniec súboru crontab, ktorý je možné otvoriť z terminálu pomocou crontab -e. Reštartujte svoj Raspberry Pi a skontrolujte, či teraz funguje so sudo shutdown -r.
Možné dodatky
Tu je niekoľko nápadov na ďalšie funkcie, ktoré by bolo možné pridať
- Pridanie tlačidla odložiť
- Pridanie režimu žiarovky
- Pripojenie k IFTTT (napr. Svetlo sa môže rozsvietiť, keď sa vypne budík telefónu/bliká pri prijatí e -mailu)
- Rozširuje kapacitu dotykových funkcií, tj robí z hodín dotykové svetlo
Pri použití PWM si môžete všimnúť, že občas, najmä pri nižšom jasu, LED dióda trochu bliká. Dôvodom je, že Pi používa softvér PWM, takže procesy CPU môžu ovplyvniť pracovný cyklus. Keďže s tým beží menej procesov, pomohlo mi to, a tak som použil zredukovaný operačný systém Raspbian Lite. Hardvérový PWM je k dispozícii aj na niekoľkých kolíkoch, takže ak problém predstavuje blikanie, možno by ste sa mali na to pozrieť.
Dúfam, že ste našli tento návod, ktorý je informatívny, a buď sa inšpirujete k upcyklovaniu starého budíka alebo použijete prvky kódu pre svoj vlastný projekt.
Druhá cena v súťaži LED Strip Speed Challenge
Odporúča:
Inteligentné stolné LED svetlo - Inteligentné osvetlenie W/ Arduino - Pracovný priestor Neopixels: 10 krokov (s obrázkami)
Inteligentné stolné LED svetlo | Inteligentné osvetlenie W/ Arduino | Neopixels Workspace: Teraz niekoľko dní trávime veľa času doma, virtuálne študujeme a pracujeme, tak prečo si náš pracovný priestor nevylepšiť pomocou vlastného a inteligentného systému osvetlenia založeného na diódach Arduino a Ws2812b LED. Tu vám ukážem, ako si vytvoriť inteligentný Stolné LED svetlo, ktoré
LED inteligentné cloudové svetlo: 11 krokov (s obrázkami)
LED Smart Cloud Light: Toto je inteligentný cloud LED, ktorý je možné kombinovať s minimálnym počtom nástrojov. S ovládačom môžete vykonávať všetky druhy vzorov a farebných možností. Pretože LED diódy sú jednotlivo adresovateľné (každá LED môže mať inú farbu a/alebo jas), clo
Merač úrovne zvuku z upcyklovaného VFD: 7 krokov
Merač úrovne zvuku z upcyklovaného VFD: VFD - vákuové fluorescenčné displeje, druh dinosaura zobrazovacej technológie, stále veľmi pekný a cool, nájdete v mnohých zastaraných a zanedbaných domácich elektronických zariadeniach. Vyhodíme ich teda? Noooo, stále ich môžeme používať. Stálo to trochu námahy
Inteligentné svetlo: 7 krokov (s obrázkami)
Intelligent-Light: Dobrý deň, tvorcovia, chcete vedieť, prečo sú vaše mesačné účty za elektrinu „také vysoké“? Dôvodom je, že keď osoba v miestnosti narýchlo opustí miestnosť, nevedome nechá zapnuté svetlá a ventilátory. Existuje mnoho riešení, ako
Relé budíka Arduino: 6 krokov (s obrázkami)
Relé budíka Arduino: Mám veľa problémov vstávať skoro ráno, najmä ak som poslednú noc zostal neskoro. Tento projekt vám v zásade umožňuje otvoriť relé v čase, ktorý nastavíte pomocou klávesnice a LCD. Toto relé môže ovládať mnoho zariadení od zapnutia