Obsah:

Inteligentní světlo upcyklovaného budíku: 8 kroků (s obrázky)
Inteligentní světlo upcyklovaného budíku: 8 kroků (s obrázky)

Video: Inteligentní světlo upcyklovaného budíku: 8 kroků (s obrázky)

Video: Inteligentní světlo upcyklovaného budíku: 8 kroků (s obrázky)
Video: Inteligentní osvětlení: světlo se přizpůsobí vám 2024, Listopad
Anonim
Inteligentní světlo s upcyklovaným budíkem
Inteligentní světlo s upcyklovaným budíkem
Inteligentní světlo s upcyklovaným budíkem
Inteligentní světlo s upcyklovaným budíkem
Inteligentní světlo s upcyklovaným budíkem
Inteligentní světlo s upcyklovaným budíkem

V tomto projektu upcykluji úplně rozbitý navíjecí budík. Ciferník je nahrazena 12 LED diodami, osvětlenými LED páskem kolem okraje hodin. 12 LED diod ukazuje čas a LED pás je naprogramován tak, aby fungoval jako alarm a v nastavený čas se rozsvítil na plný jas. Vše je ovládáno pomocí Raspberry Pi Zero, což umožňuje nespočet možností integrace a rozšíření, jako je automatická synchronizace světelného alarmu s alarmem vašeho telefonu nebo blikání LED diod při přijetí e -mailu.

Projekt využívá relativně levné nebo znovu použité komponenty - jediná věc, kterou jsem nakonec koupil, byl regulátor napětí. Všechno ostatní, co jsem náhodou ležel, jako například přerušený LED pás. Tento Instructable vás provede tím, jak jsem svým zlomeným hodinám dal nový život a snad vás bude inspirovat k upcyklování něčeho vlastního.

Krok 1: Díly

Díly
Díly
Díly
Díly
Díly
Díly

Abychom mohli ovládat vše, použijeme Raspberry Pi Zero, protože je malý, stojí velmi málo a lze jej připojit k WiFi, což znamená, že nepotřebujeme hodiny reálného času, a proto můžeme kód snadno aktualizovat vzdáleně z notebooku. Pokud nemáte Pi Zero W, připojíme se k WiFi síti pomocí USB WiFi dongle.

Zde je seznam dílů, které jsem použil, ale většinu věcí lze vyměnit za vhodné alternativy. Například místo Raspberry Pi můžete k řízení projektu použít Arduino s hodinami reálného času.

Použité díly

  • Starý budík
  • 30 cm teplého bílého LED pásku
  • 1x karta Raspberry Pi Zero + micro SD
  • 1x USB WiFi dongle + micro USB na USB převodník
  • 12x LED
  • 12x 330ohm odpory (použijte vyšší, pokud chcete LED stmívače)
  • 1x TIP31a (nebo jiný výkonový tranzistor npn nebo MOSFET)
  • 1x 1k odpor
  • 1x LM2596 DC-DC nastavitelný převodník bucků (krok dolů 12V pro 5V pro Raspberry Pi)
  • 1x napájecí zdroj 12 V (+ způsob zapojení do vašeho projektu)
  • 10 cm x 10 cm dřeva pro ciferník (mělo by být dostatečně tenké pro montáž LED diod)
  • Různé kusy různě barevného drátu

Užitečné věci

  • Páječka + pájka
  • Horké lepidlo
  • Multimetr
  • Prkénko
  • Samičí záhlaví kolíků
  • Čtečka nebo převodník karet Micro SD
  • Počítač
  • Mini HDMI adaptér + obrazovka HDMI, pokud chcete používat desktopové prostředí Pi

Krok 2: Nastavení Raspberry Pi

Nastavení Raspberry Pi
Nastavení Raspberry Pi
Nastavení Raspberry Pi
Nastavení Raspberry Pi

Operační systém

Protože Raspberry Pi nebude připojen k obrazovce, rozhodl jsem se použít Raspbian Buster Lite, který není dodáván s desktopovým prostředím. Pokud jste v Raspberry Pi novější, možná se budete chtít držet standardního Raspbian Buster, který je dodáván s desktopem. Pokud si nejste jisti, jak nainstalovat operační systém, je to skvělý zdroj. Oba operační systémy lze stáhnout z webu Raspberry Pi.

V tuto chvíli napájejte Pi pomocí napájecího vstupu Micro USB. Připojte také USB WiFi dongle.

Rozhovor s Raspberry Pi

Jakmile je vše zabaleno, je docela obtížné získat přístup k Pi, pokud chcete změnit kód atd. Pomocí SSH můžete použít připojení k Pi a ovládání z jiného počítače. Toto není ve výchozím nastavení zapnuto, ale můžeme to udělat jednoduše vytvořením složky s názvem ssh v zaváděcím oddílu vaší karty SD. Pokud jste se již ke svému Pi přihlásili, můžete to také udělat tak, že do terminálu napíšete sudo raspi-config a přejdete na Možnosti rozhraní> SSH a zvolením Ano jej povolíte.

Nyní se můžete ke svému Pi připojit na jiném počítači. Na počítačích Mac nebo Linux můžete používat terminálovou aplikaci, ale ve většině verzí systému Windows budete muset nainstalovat klienta SSH, jako je například PuTTY. Připojte se k Pi zadáním ssh pi@ kde název hostitele je nahrazen názvem hostitele IP adresy vašeho Pi. Výchozí název hostitele je raspberrypi.local. Požádá vás o heslo, které, pokud jste si ho ještě nezměnili, je malina.

Je nutná instalace věcí

Nejprve se ujistěte, že je vše aktuální, spuštěním sudo apt update a poté sudo apt full-upgrade.

Abychom se ujistili, co potřebujeme k ovládání pinů GPIO na typu Pi sudo apt-get install python-rpi.gpio a sudo apt-get install python3-rpi.gpio. Ty by již měly být nainstalovány v plné verzi Raspbian.

Kód

Zde je kód ke stažení, aby vše fungovalo. Pokud používáte desktopové prostředí, vložte je do složky Dokumenty.

Pokud používáte příkazový řádek SSH, přejděte do své domovské složky zadáním cd ~/Documents a stisknutím klávesy Enter. Vytvořte nový soubor s názvem test1.py pomocí nano test1.py. Tím se otevře nano textový editor, kam můžete vložit kód staženého souboru test1.py. CTRL-O a stiskněte Enter pro uložení souboru a CTRL-X pro ukončení editoru. Opakujte postup pro zbývající soubory.

Krok 3: Instalace LED pásky

Instalace LED pásku
Instalace LED pásku
Instalace LED pásku
Instalace LED pásku

Nejprve vysuňte LED pásek v hodinách, abyste zjistili, kolik budete potřebovat, označte tuto délku a ořízněte pásek v dalším místě řezu, jak je znázorněno na obrázku. Je mnohem snazší pájet dráty na pásek, než se pás zasekne na svém místě. Toto je docela dobrý návod, jak to udělat, ale pokud si nejste jisti, jen bych cvičil na pájeném spoji na díle, ze kterého jste právě odstřihli proužek. Pájejte jeden vodič na kladný bod pájky a jeden vodič na záporný. Před vložením do hodinek svůj LED pás vyzkoušejte.

Vzhledem k tomu, že LED pás, který jsem použil, byl použit dříve, než ztratil samolepicí podložku, musel jsem použít horké lepidlo k upevnění pásu kolem okraje věnce hodin. Pokud máte přebytečnou délku, zakryjte bod, kde jsou připojeny vodiče. Možná budete chtít pás nainstalovat později, ale pro mě bylo snazší ho mít zastrčený v hodinách.

Krok 4: Ovládání LED pásku

Ovládání LED pásku
Ovládání LED pásku

Připojení LED pásku

LED pás běží na 12V, takže jej nelze napájet přímo z Pi. Abychom je mohli ovládat, použijeme výkonový tranzistor (např. TIP31a) připojený až k Pi, jak je uvedeno výše. Doporučil bych nejprve zkontrolovat, zda to všechno funguje na prkénku.

  • Připojte GPIO 19 k základně přes odpor 1k
  • Vysílač by měl být připojen k GND
  • Připojte kolektor k zápornému pólu LED pásku
  • Připojte kladnou svorku LED pásku na +12V

Testování

Na příkazovém řádku nagivate do složky dokumentů (cd ~/Documents) a zadejte python test1.py a zadejte. Měli byste vidět, jak se LED pás zvyšuje a snižuje jas. Chcete-li program ukončit, stiskněte CTRL-C. V souboru (nano test1.py) můžete upravit rychlost a jas v programu.

importovat RPi. GPIO jako GPIOimport čas GPIO.setmode (GPIO. BCM) # Použijte BCM pinout GPIO.setwarnings (False) # Ignorujte varování o pinech, které se používají pro jiné věci ledStripPin = 19 # LED pásek je poháněn z tohoto pinu GPIO.setup (ledStripPin, GPIO. OUT) # Nastavit ledStripPin jako výstupní pwm = GPIO. PWM (ledStripPin, 100) # PWM na ledStripPin s frekvencí 100Hz dutyCycle = 0 # Počáteční jas v procentech pwm.start (dutyCycle) zkusit: zatímco True: pro 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.sleep (0,05) kromě KeyboardInterrupt: # Stiskněte CTRL-C pro ukončení a poté: pwm.stop () # Zastavte pwm GPIO.cleanup () # Vyčistěte piny GPIO

Krok 5: Výroba ciferníku

Vytváření ciferníku
Vytváření ciferníku
Vytváření ciferníku
Vytváření ciferníku
Vytváření ciferníku
Vytváření ciferníku

Odřízněte kus dřeva pro hodiny tak, aby se vešel do hodin. Moje jsem nechal odpočívat asi 3 cm odepředu. Vyvrtejte 12 otvorů o průměru vašich LED diod (obvykle 3 mm nebo 5 mm) vzdálených 30 stupňů od sebe. Přední stranu obrouste lícem dolů a naneste povrch podle svého výběru. Ze zadní strany umístěte LED diody tak, aby směřovaly dopředu. Použil jsem horké lepidlo, abych udržel LED na místě kladným pólem (delší vodič) směrem dovnitř. Velikost mého ciferníku znamenala, že jsem mohl pájet všechny záporné svorky dohromady (viz výše), takže k připojení všech 12 LED k GND byl potřeba pouze jeden vodič. Dále ke každé LED připájejte vodič.

Pokud to chcete vyzkoušet na prkénku, nezapomeňte použít rezistor (330 ohmů je docela standardní) v sérii s každou LED diodou, než jej připojíte k jednomu z pinů Pi GPIO. Pohrajte si s hodnotou odporu, kterou používáte, abyste získali úroveň jasu, se kterou jste spokojeni. T-cobbler je opravdu užitečný pro rozbití pinů Pi na prkénko, i když k tomu budete muset připájet kolíky záhlaví. Použijte test2.py (spusťte pomocí pythonu test2.py), ale ujistěte se, že nejprve upravíte program a zadáte GPIO piny Pi, které jste použili pro každou LED.

importujte RPi. GPIO jako GPIO

čas importu GPIO.setmode (GPIO. BCM) # Použijte BCM pinout GPIO.setwarnings (False) # Ignorujte varování o pinech používaných pro jiné věci # Nahraďte jeden, dva,… odpovídajícím počtem pinů hourPin = [jeden, dva, tři, čtyři, pět, šest, sedm, osm, devět, deset, jedenáct, dvanáct] # Kolíky, ke kterým jsou LED diody připojeny od 1-12 pro i v rozsahu (0, 12): GPIO.setup (hourPin , GPIO. OUT) # Nastavit všechny hourPiny jako výstupy GPIO.output (hourPin , 0) # Ujistěte se, že jsou všechny LED zhasnuté zkuste: while True: pro i v dosahu (0, 12) GPIO.output (hourPin , 1): time.sleep (0,05) pro i v rozsahu (0, 12) GPIO.output (hourPin , 0): time.sleep (0,05) kromě KeyboardInterrupt: # Stiskněte CTRL-C pro ukončení a potom: GPIO.cleanup () # Vyčistěte kolíky GPIO

Krok 6: Napájení Pi

Napájení Pi
Napájení Pi

Potřebujeme snadný způsob, jak dostat 5V do Pi Zero, abychom se mohli zbavit kabelu micro USB, který jsme dosud používali k napájení. Existuje řada řešení, která snižují napětí 12 V na 5 V, jako je lineární regulátor napětí LM7805, ale nejsou příliš účinná, takže jsem se místo toho rozhodl použít efektivnější nastavitelný převodník buck pomocí čipu LM2596. S tím budete muset otáčet potenciometrem, dokud nebude výstupní napětí podle potřeby sníženo na 5V, takže budete potřebovat nějaký způsob měření napětí.

Použití LM2596 je jednoduché: připojte +12V k IN +, uzemněte k IN-. Pi lze připojit přímo k 5V připojením OUT+ k jednomu z 5V pinů Pi, ale ujistěte se, že jste změnili výstupní napětí na 5V, než to uděláte, jinak smažete svůj Pi!

Krok 7: Dokončete obvod a balení

Dokončete obvod a balení
Dokončete obvod a balení
Dokončete obvod a balení
Dokončete obvod a balení
Dokončete obvod a balení
Dokončete obvod a balení
Dokončete obvod a balení
Dokončete obvod a balení

Nyní jsme pokryli všechny tři prvky obvodu, které jsou zobrazeny společně v celkovém obvodu výše. Chcete -li ušetřit místo a udělat obvod hezčí, umístěte svůj obvod na desku nebo prototypovou desku. Nejprve připájejte nejmenší součástky, odpory, poté výkonový tranzistor, jakékoli konektory a nakonec vodiče. Před pájením si naplánujte svůj obvod, abyste se ujistili, že máte místo na všechno.

Všechno jsem připojil na prototypovou desku plošných spojů a použil jsem zásuvkové kolíky, aby se Pi mohl připojit přímo na desku plošných spojů. LED diody na ciferníku jsou připojeny přes odpory na jedné straně desky a na druhé straně desky jsem ponechal prostor pro výkonový tranzistor a volný pro jakékoli další obvody, které bych chtěl později přidat.

Připojte ciferník k hodinám a ujistěte se, že se do něj vejde veškerá elektronika. Všechno mi docela sedělo, takže možná budete muset provést nějaké přeskupení. Připojte napájecí zdroj a spusťte test1.py a test2.py z SSH a zkontrolujte, zda vše funguje, než připojíte zadní část.

Krok 8: Nahrajte kód + Dokončit

Nahrajte kód + Dokončit
Nahrajte kód + Dokončit
Nahrajte kód + Dokončit
Nahrajte kód + Dokončit
Nahrajte kód + Dokončit
Nahrajte kód + Dokončit

Kód

Nakonec, pokud jste to ještě neudělali, nahrajte kód a upravte jej, jak chcete (pomocí nano filename.py). Výhodou připojení k Pi přes SSH je, že můžete kód aktualizovat bez otevírání hodin.

Tyto programy pythonu z kroku 2 provádějí následující:

  • light_clock_simple.py jednoduše zobrazuje hodinu na LED diodách a v určitých časech mizí nahoru a dolů po LED pásku
  • light_clock_pwm.py je stejný jako výše, ale také umožňuje snížit jas LED diod a zobrazuje minuty v jiném jasu než v hodinách. Budete si muset pohrát s úrovněmi jasu obou, aby byl kontrast mezi nimi patrný

Ty by měly poskytnout pevný základ pro přidání do kódu, například budete chtít přidat tlačítko pro odložení světelného alarmu.

Ke spuštění programu při spuštění Pi potřebujeme přidat '@reboot nohup python light_clock_pwm.py &' na konec souboru crontab, který lze otevřít z terminálu pomocí crontab -e. Restartujte svůj Raspberry Pi a zkontrolujte, zda nyní funguje se sudo shutdown -r.

Potenciální přírůstky

Zde je několik nápadů na další funkce, které by mohly být přidány

  • Přidání tlačítka odložit
  • Přidání režimu lampy
  • Připojení k IFTTT (např. Světlo se může rozsvítit, když se vypne budík telefonu/bliká při přijetí e -mailu)
  • Přidání kapacity dotykové funkce, tj. Přeměňte hodiny na dotykovou lampu

Při používání PWM si můžete všimnout, že občas, zvláště při nižším jasu, LED trochu bliká. Důvodem je, že Pi používá software PWM, takže procesy CPU mohou ovlivnit pracovní cyklus. S tímto spuštěním pomáhá méně procesů, takže jsem použil rozebraný operační systém Raspbian Lite. Hardwarový PWM je také k dispozici na několika pinech, takže pokud blikání ukazuje problém, může to být něco, na co byste se měli podívat.

Doufám, že jste našli tento Instructable informativní a buď se cítíte inspirováni k upcyklování starého budíku nebo používáte prvky kódu pro svůj vlastní projekt.

LED Strip Speed Challenge
LED Strip Speed Challenge
LED Strip Speed Challenge
LED Strip Speed Challenge

Druhá cena v LED Strip Speed Challenge

Doporučuje: