Sadržaj:

Unaprijeđeno budilica Pametno svjetlo: 8 koraka (sa slikama)
Unaprijeđeno budilica Pametno svjetlo: 8 koraka (sa slikama)

Video: Unaprijeđeno budilica Pametno svjetlo: 8 koraka (sa slikama)

Video: Unaprijeđeno budilica Pametno svjetlo: 8 koraka (sa slikama)
Video: RTV HB | Unaprijeđeno obrazovanje djece s poteškoćama 2024, Novembar
Anonim
Upciklirani budilnik Smart Light
Upciklirani budilnik Smart Light
Upciklirani budilnik Smart Light
Upciklirani budilnik Smart Light
Upciklirani budilnik Smart Light
Upciklirani budilnik Smart Light

U ovom projektu obnavljam potpuno pokvareni budilnik. Brojčanik sata zamjenjuje 12 LED dioda, osvijetljenih LED trakom oko ruba sata. 12 LED dioda govori o vremenu, a LED traka je programirana da djeluje kao alarm, pojačavajući punu svjetlinu u zadano vrijeme. Sve kontrolira Raspberry Pi Zero, omogućavajući bezbroj mogućnosti integracije i proširenja, poput automatske sinkronizacije svjetlosnog alarma sa alarmom telefona ili treptanja LED dioda kada primite e -poštu.

Projekt koristi relativno jeftine ili ponovno korištene komponente - jedino što sam na kraju kupio je regulator napona. Sve ostalo što sam slučajno ležao, poput izrezane LED trake. Ovaj Instructable će vas provesti kroz to kako sam svom novom pokvarenom satu dao novi život i nadamo se da bi vas mogao inspirirati da unaprijedite nešto svoje.

Korak 1: Dijelovi

Delovi
Delovi
Delovi
Delovi
Delovi
Delovi

Da bismo kontrolirali sve što ćemo koristiti, koristit ćemo Raspberry Pi Zero jer je mali, košta vrlo malo i može se povezati na WiFi, što znači da nam ne trebaju sat u stvarnom vremenu i stoga lako možemo ažurirati kôd daljinski s prijenosnog računala. Osim ako nemate Pi Zero W, povezat ćemo se na WiFi mrežu pomoću USB WiFi ključa.

Ovdje je popis dijelova koje sam koristio, ali većina stvari može se zamijeniti za odgovarajuće alternative. Na primjer, umjesto Raspberry Pi -a, za kontrolu projekta mogli biste koristiti Arduino sa satom u stvarnom vremenu.

Korišćeni delovi

  • Stari budilnik
  • 30 cm toplo bijele LED trake
  • 1x Raspberry Pi Zero + mikro SD kartica
  • 1x USB WiFi ključ + mikro USB u USB pretvarač
  • 12x LED dioda
  • 12x 330ohm otpornici (koristite veće ako želite prigušene LED diode)
  • 1x TIP31a (ili drugi npn tranzistor za napajanje ili MOSFET)
  • 1x 1k otpornik
  • 1x LM2596 DC-DC podesivi pretvarač dolara (smanjuje 12V za 5V za Raspberry Pi)
  • 1x 12v napajanje (+ način uključivanja u vaš projekat)
  • 10 cm x 10 cm drveta za ploču sata (treba biti prikladno tanko za ugradnju LED dioda)
  • Razni komadi žice različite boje

Korisne stvari koje treba imati

  • Lemilica + lemljenje
  • Vruće ljepilo
  • Multimetar
  • Breadboard
  • Ženske igle zaglavlja
  • Čitač ili pretvarač mikro SD kartica
  • Kompjuter
  • Mini HDMI adapter + HDMI ekran ako želite koristiti Pi -ovo radno okruženje

Korak 2: Postavljanje Raspberry Pi

Postavljanje Raspberry Pi
Postavljanje Raspberry Pi
Postavljanje Raspberry Pi
Postavljanje Raspberry Pi

Operativni sistem

Budući da Raspberry Pi neće biti povezan s ekranom, odlučio sam koristiti Raspbian Buster Lite koji ne dolazi s radnim okruženjem. Ako ste noviji u Raspberry Pi -u, možda ćete se htjeti držati standardnog Raspbian Bustera koji dolazi sa radnom površinom. Ako niste sigurni kako instalirati operativni sistem, ovo je sjajan izvor. Oba operativna sistema mogu se preuzeti sa web stranice Raspberry Pi.

Trenutno napajajte Pi preko Micro USB ulaza za napajanje. Povežite i USB WiFi ključ.

Razgovaram sa Raspberry Pi

Nakon što se sve upakuje, prilično je teško pristupiti Pi ako želite promijeniti kôd itd. Korištenje SSH -a omogućuje vam povezivanje s Pi -om i upravljanje njime s drugog računara. Ovo nije zadano uključeno, ali to možemo učiniti jednostavnim stvaranjem mape pod nazivom ssh na particiji za pokretanje vaše SD kartice. Ako ste se već prijavili na svoj Pi, to možete učiniti i tako da upišete sudo raspi-config u terminal i prijeđete na Interfacing Options> SSH i odaberete Yes da biste ga omogućili.

Sada se možete povezati na svoj Pi na drugom računaru. Na Mac -u ili Linuxu možete koristiti svoju terminalnu aplikaciju, ali na većini verzija sustava Windows morat ćete instalirati SSH klijenta, poput PuTTY -a. Povežite se sa Pi upisivanjem ssh pi@ gdje je ime hosta zamijenjeno imenom hosta IP adrese vašeg Pi. Zadano ime hosta je raspberrypi.local. Od vas će se tražiti lozinka koja je, ako je još niste promijenili, malina.

Instaliranje potrebnih stvari

Prvo provjerite je li sve ažurirano pokretanjem sudo apt update, a zatim sudo apt potpunom nadogradnjom.

Da bismo bili sigurni šta nam je potrebno za kontrolu GPIO pinova na Pi tipu sudo apt-get install python-rpi.gpio i sudo apt-get install python3-rpi.gpio. Oni bi već trebali biti instalirani na punoj verziji Raspbiana.

Kod

Evo koda za preuzimanje kako bi sve funkcioniralo. Ako koristite okruženje radne površine, zalijepite ih u mapu Dokumenti.

Ako koristite komandnu liniju SSH -a, idite do matične fascikle upisivanjem cd ~/Documents i pritiskom na enter. Napravite novu datoteku pod nazivom test1.py sa nano test1.py. Ovo će otvoriti uređivač nano teksta gdje možete zalijepiti kôd preuzete datoteke test1.py. CTRL-O i pritisnite enter za spremanje datoteke, a CTRL-X za napuštanje uređivača. Ponovite postupak za preostale datoteke.

Korak 3: Ugradnja LED trake

Ugradnja LED trake
Ugradnja LED trake
Ugradnja LED trake
Ugradnja LED trake

Prvo umetnite LED traku u sat da vidite koliko vam je potrebno, označite ovu dužinu i odrežite traku na sljedećoj točki rezanja kao što je prikazano. Mnogo je lakše lemiti žice na traku prije nego što se traka zaglavi na mjestu. Ovo je prilično dobar vodič kako to učiniti, ali ako niste sigurni, samo bih vježbao na lemljenju spoja na komadu s kojeg ste upravo izrezali traku. Lemite jednu žicu na pozitivnu tačku lemljenja i jednu žicu na negativnu. Pobrinite se da testirate da li LED traka radi prije nego je zalijepite u sat.

Budući da je LED traka koju sam koristio bila korištena prije nego što je izgubila samoljepljivu podlogu, morao sam koristiti vruće ljepilo da pričvrstim traku oko ruba ruba sata. Ako imate višak duljine, pokrijte mjesto na kojem su žice pričvršćene. Možda ćete kasnije htjeti instalirati traku, ali bilo mi je lakše da je sklonim u sat.

Korak 4: Upravljanje LED trakom

Upravljanje LED trakom
Upravljanje LED trakom

Priključivanje LED trake

LED traka radi na 12V pa se ne može napajati direktno iz Pi -ja. Da bismo ih kontrolirali, koristit ćemo tranzistor za napajanje (npr. TIP31a) spojen na Pi kao što je prikazano gore. Preporučio bih da prvo provjerite radi li sve na ploči.

  • Spojite GPIO 19 na bazu preko 1k otpornika
  • Odašiljač bi trebao biti spojen na GND
  • Spojite kolektor na negativni terminal LED trake
  • Priključite pozitivni terminal LED trake na +12V

Testiranje

U komandnoj liniji pređite u fasciklu sa dokumentima (cd ~/Documents) i otkucajte python test1.py i unesite. Trebali biste vidjeti kako se LED traka povećava i smanjuje svjetlina. Da biste izašli iz programa, pritisnite CTRL-C. Možete urediti datoteku (nano test1.py) da biste promijenili brzinu i svjetlinu u programu.

uvoz RPi. GPIO kao GPIOimport vreme GPIO.setmode (GPIO. BCM) # Koristite BCIO pinout GPIO.setwarnings (False) # Zanemarite upozorenja o pinovima koji se koriste za druge stvari ledStripPin = 19 # LED traka se pokreće sa ovog pina GPIO.setup (ledStripPin, GPIO. dutyCycle u rasponu (0, 101, 1): # Smanjivanje pwm. ChangeDutyCycle (dutyCycle) time.sleep (0.05) za dc u rasponu (95, -1, -1): # Smanjivanje pwm. ChangeDutyCycle (dc) vrijeme.sleep (0.05) osim KeyboardInterrupt: # Pritisnite CTRL-C za izlaz, a zatim: pwm.stop () # Zaustavite pwm GPIO.cleanup () # Očistite GPIO pinove

Korak 5: Postavljanje brojača sata

Postavljanje brojača sata
Postavljanje brojača sata
Postavljanje brojača sata
Postavljanje brojača sata
Postavljanje brojača sata
Postavljanje brojača sata

Odrežite komad drveta za sat licem prema dolje tako da stane u vaš sat. Ja sam svoj napravio da miruje na otprilike 3 cm od prednje strane. Izbušite 12 rupa prečnika vaših LED dioda (obično 3 mm ili 5 mm) razmaknutih 30 stepeni jedna od druge. Brusite prednju stranu prema dolje i nanesite završnu obradu po vašem izboru. Sa stražnje strane postavite LED diode tako da pokazuju prema naprijed. Koristio sam vruće ljepilo kako bih LED diode držao na mjestu s pozitivnim priključkom (dulja žica) prema unutra. Veličina mog sata znači da mogu spajati sve negativne terminale zajedno (vidi gore) pa je potrebna samo jedna žica za spajanje svih 12 LED dioda na GND. Zatim lemite žicu na svaku LED diodu.

Ako želite ovo testirati na ploči, sjetite se da upotrijebite otpornik (330 ohma je prilično standardan) u nizu sa svakom LED -om prije nego što ga spojite na jedan od Pi GPIO pinova. Poigrajte se vrijednošću otpornika koju koristite da biste postigli nivo svjetline s kojim ste zadovoljni. T-cobbler je zaista koristan za razbijanje Pi-ovih igala na ploču, iako ćete za to morati lemiti igle zaglavlja. Koristite test2.py (pokrenite ga pomoću python test2.py), ali prvo uredite program i unesite Pi -ove GPIO pinove koje ste koristili za svaku LED diodu.

uvezite RPi. GPIO kao GPIO

vrijeme uvoza GPIO.setmode (GPIO. BCM) # Koristite BCIO pinout GPIO.setwarnings (False) # Zanemarite upozorenja o pinovima koji se koriste za druge stvari # Zamijenite jedan, dva,… odgovarajućim brojem pinova hourPin = [jedan, dva, tri, četiri, pet, šest, sedam, osam, devet, deset, jedanaest, dvanaest] # Igle na koje su LED diode spojene od 1-12 za i u rasponu (0, 12): GPIO.setup (hourPin , GPIO. OUT) # Postavite sve hourPinove kao izlaze GPIO.output (hourPin , 0) # Uverite se da su sve LED diode isključene try: while True: za i u opsegu (0, 12) GPIO.output (hourPin , 1): time.sleep (0.05) za i u rasponu (0, 12) GPIO.output (hourPin , 0): time.sleep (0.05) osim KeyboardInterrupt: # Pritisnite CTRL-C za izlaz, i zatim: GPIO.cleanup () # Očistite GPIO pinove

Korak 6: Napajanje Pi -a

Napajanje Pi
Napajanje Pi

Potreban nam je jednostavan način da 5V dovedemo do Pi Zero kako bismo se riješili mikro USB kabela koji smo do sada koristili za napajanje. Postoje brojna rješenja koja smanjuju 12V na 5V, poput linearnog regulatora napona LM7805, ali ona nisu baš učinkovita, pa sam se umjesto toga odlučila za korištenje učinkovitijeg podesivog pretvarača u vrijednosti pomoću čipa LM2596. Napomena: s ovim ćete morati okretati potenciometar dok se izlazni napon ne smanji na 5V prema potrebi pa će vam trebati neki način mjerenja napona.

Korištenje LM2596 je jednostavno: spojite +12V na IN +, uzemljite na IN-. Pi se može spojiti direktno na 5V spajanjem OUT+ na jedan od Pi -ovih 5V pinova, ali provjerite jeste li promijenili izlazni napon na 5V prije nego što to učinite ili ćete pržiti svoj Pi!

Korak 7: Dovršite krug i pakiranje

Dovršite krug i pakiranje
Dovršite krug i pakiranje
Dovršite krug i pakiranje
Dovršite krug i pakiranje
Dovršite krug i pakiranje
Dovršite krug i pakiranje
Dovršite krug i pakiranje
Dovršite krug i pakiranje

Sada smo pokrili sva tri elementa kola koja su prikazana zajedno u cjelokupnom krugu iznad. Da biste uštedjeli prostor i učinili krug urednijim, stavite svoje kolo na trakastu ploču ili prototipnu ploču. Prvo lemite najmanje komponente, otpornike, zatim tranzistor za napajanje, sve konektore i na kraju žice. Isplanirajte svoj krug prije lemljenja kako biste bili sigurni da imate prostora za sve.

Sve sam povezao na prototipsku PCB i koristio sam ženske pinove zaglavlja tako da se Pi mogao montirati direktno na PCB. LED diode na brojčaniku sata povezane su otpornicima s jedne strane ploče, a s druge strane ploče ostavio sam prostor za tranzistor za napajanje i slobodan za bilo koja druga kola koja bih kasnije htio dodati.

Spojite sat sa satom i provjerite da li mu elektronika odgovara. Sve mi je sasvim odgovaralo pa ćete možda morati malo preurediti. Priključite napajanje i pokrenite test1.py i test2.py sa SSH -a da provjerite radi li sve prije postavljanja stražnje strane.

Korak 8: Otpremite kôd + Završi

Otpremite kôd + Završi
Otpremite kôd + Završi
Otpremite kôd + Završi
Otpremite kôd + Završi
Otpremite kôd + Završi
Otpremite kôd + Završi

Kod

Na kraju, ako već niste, prenesite kôd i prilagodite ga kako želite (koristeći nano filename.py). Prednost povezivanja na Pi preko SSH -a je to što možete ažurirati kôd bez otvaranja sata.

Ovi python programi iz 2. koraka rade sljedeće:

  • light_clock_simple.py jednostavno prikazuje sat na LED -ovima i blijedi gore -dolje LED traku u određeno vrijeme
  • light_clock_pwm.py je isti kao gore, ali također dozvoljava smanjenje svjetline LED dioda i prikazuje minute s drugačijom svjetlinom u odnosu na sate. Morat ćete se poigrati s razinama osvjetljenja kako biste vidjeli kontrast između njih

Ovo bi trebalo pružiti solidnu osnovu za dodavanje koda, na primjer možda biste htjeli dodati dugme za odgodu svjetlosnog alarma.

Da bismo pokrenuli program kada se Pi pokrene, moramo dodati '@reboot nohup python light_clock_pwm.py &' na kraj datoteke crontab koja se može otvoriti s terminala pomoću crontab -e. Ponovo pokrenite svoj Raspberry Pi da provjerite radi li sada sa sudo shutdown -r.

Potencijalni dodaci

Evo nekoliko ideja dodatne funkcionalnosti koje se mogu dodati

  • Dodavanje dugmeta za odgodu
  • Dodavanje režima lampe
  • Povezivanje s IFTTT -om (npr. Svjetlo bi se moglo upaliti kada se alarm telefona isključi/bljeska kada primite e -poštu)
  • Dodatni kapacitet dodira, tj. Pretvorite sat u lampu na dodir

Možda ćete primijetiti pri korištenju PWM -a da LED dioda ponekad, posebno pri nižoj svjetlini, malo treperi. To je zato što Pi koristi softverski PWM pa procesi procesora mogu utjecati na radni ciklus. Imajući manje pokrenutih procesa u tome mi pomaže, pa sam koristio smanjeni operativni sistem Raspbian Lite. Hardverski PWM dostupan je i na nekoliko pinova pa ako treperenje dokazuje problem, ovo bi moglo biti nešto za razmotriti.

Nadam se da ste pronašli ovo uputstvo poučno i da ćete se ili nadahnuti da obnovite stari budilnik ili upotrijebite elemente koda za svoj projekt.

Izazivanje brzine LED traka
Izazivanje brzine LED traka
Izazivanje brzine LED traka
Izazivanje brzine LED traka

Druga nagrada u izazovu brzine LED traka

Preporučuje se: