Sadržaj:
- Korak 1: Pozadina
- Korak 2: Glavne hardverske komponente
- Korak 3: Sve spojite
- Korak 4: Prilagođena PCB
- Korak 5: Ograđivanje
- Korak 6: Postavljanje Raspberry Pi
- Korak 7: Softver
- Korak 8: Što je sljedeće?
Video: Sat za povratak u budućnost: 8 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:36
Ovaj projekt započeo je život kao budilica za mog sina. Učinio sam da izgleda kao vremenski krug od Povratak u budućnost. Zaslon može prikazati vrijeme u različitim formatima, uključujući onaj iz filmova, naravno. Može se konfigurirati pomoću gumba na vrhu kućišta, ali i putem web stranice koju poslužuje Raspberry Pi Zero iznutra. U jednom od načina prikaza prikazat će lokalno vrijeme (s moje meteorološke postaje s pogonom na Arduinu), kao i prognozu i sve dnevne podsjetnike, konfigurirane putem web sučelja. Također ima zvuk zahvaljujući DAC -u i emitirat će glazbu koristeći AirPlay protokol. Zvuk alarma može biti bilo koja audio datoteka koju odaberete. Automatski će zatamniti i osvijetliti zaslon u određeno doba dana (npr. U zoru i sumrak).
Korak 1: Pozadina
Prošle godine tražio sam novi Arduino projekt, upravo sam završio svoj prvi, kućnu meteorološku stanicu. Moj 11-godišnji sin je upravo prvi put gledao filmove Povratak u budućnost pa sam pomislila da bi mu bilo zabavno izgraditi budilicu koja je izgledala kao vremenski krug u Deloreanu za njegov rođendan. Ovo nije nova ideja, postoji dosta sličnih projekata (na primjer ovaj), pa sam mislio da bi to bio lijep projekt naučiti od drugih i steći neke nove vještine.
Prva verzija je radila prilično dobro (nije bila spremna za njegov rođendan: odradio sam to do Božića), ali sam postala prilično ambiciozna u onome što sam htjela učiniti i otkrila sam da moja skica neprestano nailazi na ograničenje memorije Arduina. Imao sam i nekoliko malih vanjskih hardverskih modula (WiFi, MP3 player, audio pojačalo, RTC itd.), Pa je sve postalo pomalo nezgrapno. Na kraju sam odlučio prijeći na Raspberry Pi platformu koja je pojednostavila hardver i omogućila mi da unesem puno više funkcionalnosti i značajki.
Korak 2: Glavne hardverske komponente
Unutar kutije
Evo elektroničkih komponenti koje sam koristio. Većina njih bili su izvori iz Core Electronics -a u Australiji, ali su naravno dostupni i drugdje:
- 4 x četvero -alfanumerički zaslon -žuto -zelen
- Malina Pi Zero W
- Pimoroni pHAT DAC za Raspberry Pi Zero
- Audio pojačalo (PAM8403 IC)
- Napajanje Raspberry Pi 3+
- 4 x kratkospojna žica - 0,1 ", 5 -pinski, 12"
- 40 -polni (2 x 20) trakasti kabel
- Raspberry Pi GPIO muško zaglavlje
- Raspberry Pi model B - GPIO zakrivljeno zaglavlje (2X20)
- Zaglavlje za slaganje GPIO za Pi A+/B+/PI 2/PI 3 - izuzetno dugo 2X20
- 4 x 5 pinsko muško zaglavlje
- 2 mala 3W zvučnika
- 2 x koaksijalni kabeli za analogno audio spajanje DAC -a na pojačalo
- Veraboard ili prilagođena PCB za rukovanje Rpi na pojačalo, LED, tipke
- 5 x kratkih prekidača s tipkama
- 4 x 2-smjerne vijčane stezaljke koje se mogu montirati na PCB
Kutija
- Komadići MDF -a, vijci i vijci za izradu "šasije"
- Zeleni tonirani perspeks, lokalni dobavljač
- Stiren, ljepilo za modeliranje, boja u spreju (boja aluminija) iz lokalne hobi trgovine
-
Naljepnice (datoteka dostupna na zahtjev - otisnuo Redbubble)
Korak 3: Sve spojite
LED zaslon za sat sastoji se od alfanumeričkih zaslona od 16 x 14 segmenata, na sreću isti broj znakova kao vremenski krug Povratak u budućnost. Iako samo prva tri znaka moraju biti alfanumerička, a ostali bi mogli biti 7-segmentni numerički zasloni za oponašanje rekvizita filma, odlučio sam ih sve učiniti alfanumeričkim kako bi se omogućila određena fleksibilnost u onome što bi se moglo prikazati i kako bi svi izgledali isti. Četvero ruksaci Adafruit ovdje su odlično rješenje i mogu se koristiti na Raspberry Pi-jevom I2C autobusu. Više informacija o tim jedinicama i kako ih povezati možete pronaći ovdje na web stranici Adafruit. Jedino pomalo nestandardno što sam morao učiniti je promijeniti tri od njih tako da je svaki ruksak jedinstven.
Za reprodukciju zvuka (u stereo) uključio sam Pimoroni pHAT DAC i stereo audio pojačalo od 2 x 3 W zasnovano na čipu PAM8403. PHAT DAC je zaista jednostavno spojiti na Pi. Stavio sam 2 x 20 pinsko muško zaglavlje na Pi i GPIO zaglavlje za slaganje na DAC tako da se mogu spojiti jedan na drugi. Pinovi muškog zaglavlja prolaze kroz vrh DAC-a, omogućujući mi da provedem vrpčani kabel sa ženskim konektorima, isprva do Raspberry Pi proboja za testiranje matične ploče, ali na kraju do zakrivljenog zaglavlja na PCB-u po mjeri.
Za audio pojačalo postoji mnogo mogućnosti (uključujući samo nabavku čipa i sastavljanje vlastitog). Ovaj ima mogućnost utišavanja izlaza samo promjenom stanja jednog od pinova (visoko je uključeno, nisko je isključeno), a ja sam ga povezao tako da se to može kontrolirati s Pi -a. U svojim početnim pokušajima da to povežem, otkrio sam dosta pozadinske buke kada je zvuk bio uključen. Nakon puno igranja s uzemljenjem, na kraju sam pokušao premjestiti ulazni napon napajanja s Pi -ovih 5V na 3.3V i to ga je popravilo. Pretpostavljam da postoji dosta buke koju stvaraju različiti digitalni signali koji lete uokolo, ali čini se da je napajanje od 3,3 V nekako izolirano.
Ostale veze uključuju analogni zvuk iz DAC -a na pojačalo (ovdje sam koristio koaksijalni kabel za pomoć pri preuzimanju šuma) i izlaz zvuka na par malih 3W zvučnika koji stanu u kućište. Postoje i GPIO priključci za četiri trenutna prekidača na vrhu kutije, a ja sam ožičio trenutačni gumb na pinove "RUN" za resetiranje (pogledajte odjeljak Dodatne veze na ovoj stranici). Gumb za resetiranje montiran je izvan vidokruga na stražnjoj strani kućišta. Evo dijagrama koji prikazuje veze:
Korak 4: Prilagođena PCB
Iako nema ništa previše komplicirano u vezi sa krugom, postoji prilično malo ožičenja, a ploča može prilično brzo izgledati kao špageti. Stoga sam dizajnirao PCB kako bi sve držao pod kontrolom. To je jednostrana ploča za domaće kuhanje i dobio sam prijatelja koji će mi pomoći u izradi. Nakon što je napravljen i ožičen, shvatio sam da sam zaboravio uključiti priključke za priključne blokove za zvuk, a kasnije sam promijenio promjenu napajanja audio pojačala s 5 V na 3,3 V, tako da nije idealno i morao sam se uključiti neki Veroboard koji dopušta audio veze. Također, spojevi na ploči audio pojačala nalaze se na nestandardnoj razdvojenosti (čak se razlikuju i između pinova) pa je veza s glavnom PCB-om pomalo užasna s 11 kratkih žica za povezivanje ~ 1 cm.
Da sam napravio drugu ploču, uključio bih sve ove izmjene i također promijenio konektor za četiri gumba u nešto malo ljepše. DAC i Pi složili bi se točno na vrh, tako da nije potreban vrpčni kabel. Gornji dijagram prikazuje kako bi to moglo izgledati.
Korak 5: Ograđivanje
Htio sam napraviti kućište koje je izgledalo kao jedan red vremenskog kruga filma. Tri reda LED zaslona bili bi previše za budilicu i značajno bi povećali troškove. Razmišljao sam o tome da napravim kućište od aluminija, ali nemam nikakvih vještina u tom području. U životu sam ipak napravio dosta plastičnih modela i imam iskustva u obradi drveta, pa sam odlučio napraviti okvir od MDF-a za postavljanje LED dioda i zvučnika i fiksirati perspeks na prednju stranu, a zatim to prekriti petostranom stirolom kutija s okvirom na prednjoj strani, obojena metalnom bojom u boji metala. Plastika i boja nabavljeni su u lokalnoj trgovini modela. Pomno sam pogledao naljepnice na rekvizitu za film i dao sve od sebe da kopiram boje, vrstu fonta i veličinu. Koristio sam Photoshop za izradu naljepnica i ispisao ih kao naljepnice iz Redbubblea.
Gornje slike prikazuju:
- Prednji dio šasije od MDF -a. 4 LED ruksaka montirana su sprijeda sa zeleno obojenim staklom
- Unutar kutije. Ruksaci montirani i postavljeni, Raspberry Pi i prilagođena PCB, zvučnici s obje strane.
- Instalirano ožičenje i vanjska ljuska spremna za nastavak. Bilo je malo stisnuti!
Korak 6: Postavljanje Raspberry Pi
Imao sam nekih problema s kompatibilnošću s Raspbian Stretch -om (što bi se moglo riješiti da sam ustrajao), ali Jessie se s tim odlično slaže, pa sam odlučio nastaviti s tim.
Postavio sam Pi kao jedinicu bez glave s VNC i SSH pristupom. To se moglo učiniti bez ikakvog priključivanja tipkovnice ili monitora, ali samo sam posudio televizor i izbacio tipkovnicu, i brzo sam uspio. Od tada sam od tada prilično koristio VNC.
Moj kôd sata koristi Python 2.7.9 i oslanja se na dosta biblioteka, dolje navedenih. Osim toga, pokrećem web poslužitelj Flask i MQTT za daljinsko upravljanje i Shairplay za streaming glazbe. Samo sam slijedio upute za instalaciju na mreži za sve to i nisam imao nikakvih problema. Ovdje su knjižnice python i drugi paketi itd. Koje sam trebao instalirati s vezama na bilješke o instalaciji ili samo naredbom koju trebate pokrenuti da biste je dobili:
Python knjižnice
- Adafruit_LED_Ranac
- Rpi. GPIO (apt-get install python-rpi.gpio)
- alsaaudio
- paho.mqtt.client (pip install paho-mqtt)
- flask (apt-get install python-flask)
Ostali paketi itd
- komarac (apt-get install komarac)
- shairport
- Pimoronijevo web mjesto ima dobru dokumentaciju o postavljanju DAC -a, pa sam upravo to i pročitao.
Korak 7: Softver
Kôd sata napisan je na Pythonu i koristi nit za reprodukciju alarma i povremene zvukove u pozadini bez blokiranja ažuriranja zaslona. Koristio sam biblioteku ConfigParser i konfiguracijska datoteka koju održava čita i piše pomoću sata, kao i web aplikacije Flask, tako da se sinkronizira kad god se konfiguracija promijeni putem web sučelja ili sata. Softver za sat također uključuje posrednika MQTT koji omogućuje daljinsku kontrolu načina prikaza i isključivanja zvuka. Moj skriveni motiv je na kraju napisati iOS aplikaciju za daljinski upravljač, ali web sučelje za sada radi dovoljno dobro.
Prva gornja slika prikazuje kako sat izgleda u različitim načinima prikaza, a tu je i kratki video zapis koji ga prikazuje u načinu pomicanja.
Iako kôd nije lijep za pogledati, lijep je i stabilan. Rado ću ga poslati svima koji to zatraže i staviti ga na mrežu kad bude bolje organiziran i komentiran.
Web aplikacija
Sljedeća slika prikazuje kako izgleda web sučelje sata. Tu su i stranice za konfiguriranje i kontrolu, koje znatno olakšavaju igru sa satom bez puno gnječenja gumba:-).
Korak 8: Što je sljedeće?
Dostupan je dekoder metapodataka Python shareport pa mislim da ću dodati neki kôd za prikaz informacija poput naslova i izvođača tijekom reprodukcije glazbe. Također bi bilo prilično lako izračunati vrijeme izlaska i zalaska sunca tako da se zaslon može automatski posvijetliti i zatamniti, umjesto da ga ručno postavljate. Možda bi i dodavanje značajke internetskog radija bilo zabavno. Pomakni zaslon također bi se mogao više konfigurirati.
Preporučeni:
Povratak u budućnost Antigravitacijski pad vode - Seeeduino Lotus: 5 koraka
Natrag u budućnost Antigravitacijska kap vode - Seeeduino Lotus: StoryTime je poput bujice koja gura ljude naprijed. Postoji li trenutak u kojem želite da mirno stanete ili se vratite unatrag? Pažljivo pogledajte kapljicu vode. Kapa li dolje ili ide gore? Djelo je inspirirano fenomenom vizualne perzij
Kristalna kugla: Pogledajte u svoju budućnost!: 7 koraka
Kristalna kugla: Pogledajte u svoju budućnost !: Želite li znati tajne svemira? Pa ne možeš! Međutim, možete saznati što vam donosi budućnost izradom vlastite kristalne kugle. Mislim, što se ima izgubiti? Ako ja mogu napraviti jedan, onda možete i vi pomoću LCD monitora, kundaka
3D ispis natrag u budućnost Sat sa krugom: 71 korak (sa slikama)
3D ispisano natrag do budućeg vremenskog kruga: Slijeva prednja lijeva LED.stl datoteka bila je netočna i ažurirana je. Vremenski sklop prikazat će sljedeće putem LED zaslona. Vrijeme odredišta - (Top-Red) Odredište je područje koje prikazuje fiksni datum i vrijeme. Koristite ovo su
Povratak miša: 10 koraka (sa slikama)
Mousebot Revisited: Mousebot iz Make vol 2 zabavan je uvod u robotiku. Tako zabavno da sam od početka do kraja stvorio ovu proširenu dokumentaciju o Mousey verziji, s nekoliko dodatnih savjeta koje nećete pronaći u mag. Ovaj se način rada najbolje razumije nakon realizacije
Kako napraviti vijenac od jabuka za jesen ili povratak u školu: 13 koraka (sa slikama)
Kako napraviti vijenac od jabuka za jesen ili povratak u školu: Anjeanette iz tvrtke RootsAndWingsCo napravila je ovaj preslatki vijenac od jabuka od filca i materijala. Bio je to jednostavan projekt koji čak i oni koji kažu da ne znaju šivati-mogu! (Sve dok možete provući iglu.)