Talaan ng mga Nilalaman:
- Hakbang 1: Background
- Hakbang 2: Pangunahing Mga Bahagi ng Hardware
- Hakbang 3: Pagsasama-sama sa Lahat ng Ito
- Hakbang 4: Isang Pasadyang PCB
- Hakbang 5: Ang Enclosure
- Hakbang 6: Pag-set up ng Raspberry Pi
- Hakbang 7: Software
- Hakbang 8: Ano ang Susunod?
Video: Isang Balik sa Hinaharap na Orasan: 8 Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:14
Ang proyektong ito ay nagsimula ng buhay bilang isang alarm clock para sa aking anak na lalaki. Ginawa ko ito upang magmukhang ang circuit ng oras mula sa Balik sa Hinaharap. Maaaring ipakita ng display ang oras sa iba't ibang mga format, kasama ang isa mula sa mga pelikula syempre. Maaari itong mai-configure sa pamamagitan ng mga pindutan sa tuktok ng enclosure ngunit sa pamamagitan din ng isang web page na hinahain ng Raspberry Pi Zero sa loob. Sa isa sa mga mode ng pagpapakita ay ipapakita nito ang lokal na panahon (mula sa aking istasyon ng panahon na pinapatakbo ng Arduino) pati na rin ang pagtataya at anumang pang-araw-araw na paalala, na-configure sa pamamagitan ng web interface. Mayroon din itong audio salamat sa isang DAC at mag-stream ng musika gamit ang AirPlay protocol. Ang tunog ng alarma ay maaaring maging anumang audio file na iyong pinili. Ito ay magdilim at magpapasaya sa display nang awtomatiko sa mga naibigay na oras ng araw (hal. Bukang-liwayway at takipsilim).
Hakbang 1: Background
Noong nakaraang taon ay naghahanap ako para sa isang bagong proyekto ng Arduino na natapos lamang ang aking una, isang istasyon ng panahon sa bahay. Ang aking 11-taong-gulang na anak na lalaki ay nanood lamang ng mga pelikulang Balik sa Hinaharap sa kauna-unahang pagkakataon kaya naisip kong magiging masaya ang pagbuo sa kanya ng isang alarm clock na kagaya ng time circuit sa Delorean para sa kanyang kaarawan. Hindi ito isang bagong ideya, may ilang mga katulad na mga proyekto doon (halimbawa ang isang ito), kaya naisip ko na magiging isang magandang proyekto upang matuto mula sa iba at kunin ang ilang mga bagong kasanayan.
Ang unang bersyon ay gumana nang maayos (hindi ito handa para sa kanyang kaarawan: Natapos ko ito sa Pasko) ngunit medyo ambisyoso ako sa nais kong gawin at nalaman na ang aking sketch ay patuloy na tumatakbo sa limitasyon ng memorya ng Arduino. Nagkaroon din ako ng maraming maliliit na mga module ng panlabas na hardware (WiFi, MP3 player, audio amplifier, RTC atbp), kaya't medyo nakakakuha ng mahina ang lahat. Sa huli, nagpasya akong lumipat sa isang platform ng Raspberry Pi na pinasimple ang hardware at pinapayagan akong mag-pack ng mas maraming pagpapaandar at tampok.
Hakbang 2: Pangunahing Mga Bahagi ng Hardware
Sa loob ng Kahon
Narito ang mga elektronikong sangkap na ginamit ko. Karamihan sa kanila ay mapagkukunan mula sa Core Electronics sa Australia ngunit syempre handa din silang magamit sa ibang lugar:
- 4 x Quad Alphanumeric Display -Yellow-Green
- Raspberry Pi Zero W
- Pimoroni pHAT DAC para sa Raspberry Pi Zero
- Audio Amp (PAM8403 IC)
- Suplay ng kuryente na Raspberry Pi 3+
- 4 x Jumper wire - 0.1 ", 5-pin, 12"
- 40 pin (2 x 20) ribbon cable
- Raspberry Pi GPIO Lalaki Header
- Raspberry Pi Model B - GPIO Shrouded Header (2X20)
- GPIO Stacking Header para sa Pi A + / B + / PI 2 / PI 3 - sobrang haba ng 2X20
- 4 x 5 pin male header
- 2 maliit na 3W speaker
- 2 x coaxial cables para sa koneksyon ng audio audio na DAC sa Amp
- Veraboard o pasadyang PCB upang hawakan ang Rpi sa isang amp, LED, na mga pindutan
- 5 x panandalian switch-button switch
- 4 x 2-way na mga bloke ng terminal ng mountable na PCB
Ang kahon
- Mga piraso at piraso ng MDF, mga turnilyo at bolt upang gawin ang 'chassis'
- Green na kulay na pawis, lokal na tagapagtustos
- Styrene, modeling glue, spray pintura (kulay ng aluminyo) mula sa isang lokal na tindahan ng libangan
-
Mga sticker (magagamit ang file kapag hiniling - naka-print ng Redbubble)
Hakbang 3: Pagsasama-sama sa Lahat ng Ito
Ang LED display para sa orasan ay binubuo ng 16x14-segment na mga alphanumeric display, sa kabutihang palad ang parehong bilang ng mga character bilang Back to the Future time circuit. Habang ang unang tatlong mga character lamang ang kailangang maging alphanumeric at ang natitira ay maaaring 7-segment na mga numerong ipinapakita upang tularan ang prop ng pelikula, nagpasya akong gawin silang lahat ng alphanumeric upang payagan ang ilang kakayahang umangkop sa maipakita at panatilihin silang lahat na nakikita ang pareho Ang Adafruit quad-backpacks ay isang mahusay na solusyon dito at maaaring patakbuhin sa I2C bus ng Raspberry Pi. Ang karagdagang impormasyon sa mga yunit na ito at kung paano i-wire ang mga ito ay matatagpuan dito sa website ng Adafruit. Ang tanging bahagyang hindi pamantayang bagay na dapat kong gawin ay baguhin ang mga address ng tatlo sa kanila kaya natatangi ang bawat backpack.
Upang i-play ang audio (sa stereo), isinama ko ang Pimoroni pHAT DAC at isang 2 x 3W stereo audio amplifier batay sa PAM8403 chip. Ang pHAT DAC ay talagang madaling kumonekta sa Pi. Naglagay ako ng 2 x 20 pin male header sa Pi at isang GPIO stacking header sa DAC upang maaari silang mai-plug sa tuktok ng iba pa. Ang mga male header pin ay dumaan sa tuktok ng DAC, na pinapayagan akong magpatakbo ng isang ribbon cable na may mga babaeng konektor, una sa isang breakout ng Raspberry Pi para sa pagsubok sa breadboard ngunit sa huli ay sa isang nakabalot na header sa isang pasadyang PCB.
Para sa audio amplifier, maraming mga pagpipilian (kabilang ang pagkuha ng maliit na tilad at pag-assemble ng iyong sarili). Ang isang ito ay may pagpipilian ng pag-mute ng output sa pamamagitan lamang ng pagbabago ng estado ng isa sa mga pin (mataas ay nakabukas, mababa ang patay) at wired ko ito upang makontrol ito mula sa Pi. Sa aking paunang pagtatangka na i-wire ito, natuklasan ko ang maraming mga ingay sa background kapag ang audio ay nakabukas. Matapos ang maraming pag-play sa paligid na may saligan, sa huli ay sinubukan kong ilipat ang boltahe ng input ng input mula sa 5V ng Pi hanggang sa 3.3V at naayos ito. Sa palagay ko mayroong lubos na maraming ingay na nabuo ng iba't ibang mga digital signal na lumilipad sa paligid ngunit tila ang pagkakaloob ng 3.3V ay kahit papaano ay nakahiwalay.
Ang iba pang mga koneksyon ay kasama ang analog audio mula sa DAC hanggang sa amplifier (Gumamit ako ng coaxial cable dito upang makatulong na pamahalaan ang pag-pickup ng ingay) at pag-output ng audio sa isang pares ng maliliit na 3W speaker na umaangkop sa enclosure. Mayroon ding mga koneksyon sa GPIO para sa apat na saglit na switch sa tuktok ng kahon at nag-wire ako ng isang pansamantalang pindutan sa hard reset na "RUN" na mga pin (tingnan ang seksyong Karagdagang Mga Koneksyon sa pahinang ito). Ang pindutan ng pag-reset ay naka-mount sa labas ng paningin sa likod ng enclosure. Narito ang isang diagram na nagpapakita ng mga koneksyon:
Hakbang 4: Isang Pasadyang PCB
Habang walang masyadong kumplikado tungkol sa circuit, mayroong medyo isang kable at ang isang breadboard ay maaaring magmukhang spaghetti na medyo mabilis. Kaya't dinisenyo ko ang isang PCB upang mapanatili itong kontrolado. Ito ay isang board na solong panig ng home-brew at mayroon akong isang kaibigan na tutulong na makamit ito. Matapos itong magawa at mai-wire, napagtanto kong nakalimutan kong isama ang mga koneksyon para sa mga bloke ng terminal para sa audio at sa paglaon ay gumawa ako ng isang pagbabago upang ilipat ang suplay ng audio amp mula 5V hanggang 3.3V, kaya't hindi ito perpekto at kailangan kong harapin ilang Veroboard upang payagan ang mga koneksyon sa audio. Gayundin, ang mga audio amp board pinout ay nasa isang hindi pamantayang paghihiwalay (nag-iiba pa rin sila sa pagitan ng mga pin) kaya't ang koneksyon para dito sa pangunahing PCB ay medyo kakila-kilabot na may 11 maikling ~ 1cm na mga wire sa koneksyon.
Kung gumawa ako ng isa pang board, isasama ko ang lahat ng mga pagbabagong ito at babaguhin ko rin ang konektor para sa apat na mga pindutan sa isang bagay na medyo mas maganda. Ang DAC at Pi ay isasalansan mismo sa itaas, kaya't hindi kailangan ng ribbon cable. Ipinapakita ng diagram sa itaas kung paano ito maaaring magmukhang.
Hakbang 5: Ang Enclosure
Nais kong gumawa ng isang enclosure na mukhang isang hilera ng time circuit ng pelikula. Ang tatlong mga hilera ng LED display ay masyadong marami para sa isang alarm clock at maaaring maidagdag nang malaki sa gastos. Naisip ko ang tungkol sa paggawa ng enclosure sa labas ng aluminyo ngunit wala akong anumang mga kasanayan sa lugar na iyon. Gumawa ako ng ilang mga plastik na modelo sa aking buhay, at may ilang karanasan sa paggawa ng kahoy, kaya't nagpasya akong gumawa ng isang frame gamit ang MDF upang mai-mount ang mga LED at speaker at ayusin ang perspex sa harap, pagkatapos ay takpan iyon ng isang 5-sided styrene kahon na may isang bezel sa harap, na ipininta sa isang aluminyo metal na pinturang spray. Ang plastik at pintura ay nakuha mula sa isang lokal na modelo ng tindahan. Sinilip ko ng mabuti ang mga label sa prop ng pelikula at ginawa ang aking makakaya upang makopya ang mga kulay, uri ng font at laki. Gumamit ako ng Photoshop upang maitayo ang mga label at mai-print ang mga ito bilang mga sticker mula sa Redbubble.
Ipinapakita ang mga imahe sa itaas:
- Ang harap ng chassis ng MDF. Ang 4 LED backpacks ay naka-mount sa harap na may berdeng-kulay na perspex
- Sa loob ng kahon. Ang mga backpacks ay naka-mount at naka-line up, Raspberry Pi at pasadyang PCB sa, mga speaker sa magkabilang panig.
- Naka-install ang mga kable at panlabas na shell na handa nang magpatuloy. Ito ay isang maliit na pagpiga!
Hakbang 6: Pag-set up ng Raspberry Pi
Mayroon akong ilang mga isyu sa pagiging tugma sa Raspbian Stretch (na maaaring solusyunan kung magpumilit ako) ngunit gumagana ito kay Jessie, kaya't napagpasyahan kong sumabay doon.
Itinakda ko ang Pi bilang isang walang yunit na yunit na may access sa VNC at SSH. Ito ay maaaring magawa nang hindi kailanman nag-plug sa isang keyboard o monitor ngunit hiniram ko lang ang TV at nag-scroung ng isang keyboard, at napabilis itong mabilis na walang ulo. Mula noon, medyo ginamit ko na ang VNC mula noon.
Ang aking code sa orasan ay gumagamit ng Python 2.7.9 at umaasa sa ilang mga aklatan, nakalista sa ibaba. Pati na rin ito, nagpapatakbo ako ng isang Flask web server at MQTT para sa remote control at Shairplay para sa streaming ng musika. Sinundan ko lang ang mga tala ng pag-install na on-line para sa lahat ng ito at wala akong mga isyu sa lahat. Narito ang mga library ng sawa at iba pang mga package atbp na kailangan kong i-install na may mga link sa mga tala sa pag-install o ang utos na kailangan mo lamang upang tumakbo upang makuha ito:
Mga aklatan ng Python
- Adafruit_LED_Backpack
- Rpi. GPIO (apt-get install python-rpi.gpio)
- alsaaudio
- paho.mqtt.client (pip install paho-mqtt)
- prasko (apt-get install python-flask)
Iba pang mga package atbp
- lamok (apt-get install lamok)
- shairport
- Ang web site ng Pimoroni ay may ilang mabuting dokumentasyon sa pag-set up ng DAC, kaya't tumakbo lang ako kasama nito.
Hakbang 7: Software
Ang code ng orasan ay nakasulat sa Python at gumagamit ng threading upang patugtugin ang alarma at paminsan-minsang pagpapaputi sa background nang hindi hinaharangan ang mga update sa display. Ginamit ko ang ConfigParser library at ang config file na pinapanatili nito ay nabasa at isinulat ng code ng orasan pati na rin ang Flask web app upang sa tuwing nabago ang pagsasaayos sa pamamagitan ng web interface o orasan, makakakasabay ito. Kasama rin sa orasan software ang isang MQTT broker upang payagan ang kontrol ng display mode at ang mute ay makontrol nang malayuan. Ang aking ulterior motive ay sa huli ay magsulat ng isang iOS app para sa remote control ngunit ang web interface ay gumagana nang maayos para sa ngayon.
Ipinapakita ng unang imahe sa itaas kung paano ang hitsura ng orasan sa iba't ibang mga display mode, at mayroong isang maikling video na ipinapakita ito sa scrolling mode.
Habang ang code ay hindi maganda upang tingnan ito ay maganda at matatag. Masaya kong ipadala ito sa sinumang humiling nito at ilalagay ito sa online kapag mas mahusay itong ayos at nagkomento.
Ang Web app
Ipinapakita ng susunod na imahe kung paano ang hitsura ng web interface sa orasan. Mayroon ding pag-configure at isang pahina ng kontrol at ang mga ito ay ginagawang mas madali upang i-play sa orasan nang walang maraming pag-mash button:-).
Hakbang 8: Ano ang Susunod?
Mayroong isang Python shareport metadata decoder na magagamit kaya sa palagay ko ay magdaragdag ako ng ilang code upang maipakita ang impormasyon tulad ng pamagat at artist kapag pinatugtog ang musika. Napakadali din upang kalkulahin ang mga oras ng pagsikat at paglubog ng araw upang ang display ay maaaring awtomatikong lumiwanag at lumabo, sa halip na itakda ito nang manu-mano. Siguro ang pagdaragdag ng isang tampok sa radyo sa internet ay magiging masaya din. Ang pag-scroll sa display ay maaari ding mas mai-configure.
Inirerekumendang:
I-convert ang Ordinaryong Orasan sa Bahay Sa Sariling Kumikinang na Orasan: 8 Hakbang (na may Mga Larawan)
I-convert ang Ordinaryong Orasan sa Bahay sa Sarili na Kumikinang na Orasan: UNA NAKO GINAGBIGAY ANG AKING PUSO NG PUSO SA INSTRUCTABLES TEAM GUMAGAWA NG AKING PANGKALUSUGANG ARAW NG PAGKABUHAY ….. Sa mga itinuturo na ito, nais kong ibahagi sa inyo kung paano i-convert ang inyong ordinaryong orasan sa bahay sa sarili na kumikinang na orasan. > > Para sa paggawa nito
Ipagtaguyod ang isang Hard Drive Sa isang Orasan: 19 Hakbang (na may Mga Larawan)
Ipagtaguyod ang isang Hard Drive Sa Isang Orasan: Kung naisip mo kung ano ang maaari mong gawin sa mga lumang bahagi ng computer, ito ang Maituturo para sa iyo - at sa tamang oras para sa oras ng pagtipid ng araw! Sa Instructable na ito, bibigyan kita ng mga tip sa Pro tungkol sa kung paano maiangat ang isang computer hard drive sa isang one-of-a
Paano Gumawa ng Mga Artifact Mula sa Hinaharap sa Pier 9: 11 Mga Hakbang (na may Mga Larawan)
Paano Gumawa ng Mga Artifact Mula sa Kinabukasan sa Pier 9: Una sa lahat, ano ang Mga Artifact mula sa Hinaharap? Isipin na maaari kang kumuha ng isang ekspedisyon ng isang arkeologo sa hinaharap upang mangolekta ng mga bagay at mga piraso ng teksto o larawan upang maunawaan kung ano ang pang-araw-araw na buhay maging katulad ng 10, 20, o 50 taon. Arti
Mga outlet ng Hinaharap na Aka In-wall USB Charger: 7 Mga Hakbang (na may Mga Larawan)
Mga outlet ng Hinaharap na Aka In-wall USB Charger: Patay ang iyong Iphone, may nagpatakbo kasama ang iyong Ipod wall charger, kung dito lamang kung saan ang hinaharap at lahat ng outlet ay USB! Ipapakita sa iyo ng itinuturo na ito kung paano i-convert ang isang karaniwang outlet sa isang inwall USB Charger. Ako
Pasadyang Orasan na May Mga Kamay ng Larawan: 5 Hakbang (na may Mga Larawan)
Pasadyang Orasan Na May Mga Kamay sa Larawan: Ang ilang mga tao ay mga relo ng orasan. Ngayon lahat ay maaaring maging orasan. Ang iba pang mga proyekto ay ipasadya ang mukha ng orasan. Pinasadya ng isang ito ang mga kamay ng orasan. Mukhang mahal ito, ngunit mas mababa sa $ 5 dolyar, at mga 30 minuto bawat orasan. Perpekto para sa Chr