Orodha ya maudhui:

Kurudi kwa Saa ya Baadaye: Hatua 8 (na Picha)
Kurudi kwa Saa ya Baadaye: Hatua 8 (na Picha)

Video: Kurudi kwa Saa ya Baadaye: Hatua 8 (na Picha)

Video: Kurudi kwa Saa ya Baadaye: Hatua 8 (na Picha)
Video: Goodluck Gozbert - Hauwezi Kushindana (Official Video) SMS SKIZA 8633371 TO 811 TO GET THIS SONG 2024, Novemba
Anonim
Kurudi kwa Saa ya Baadaye
Kurudi kwa Saa ya Baadaye

Mradi huu ulianza maisha kama saa ya kengele kwa mtoto wangu. Nilifanya ionekane kama mzunguko wa wakati kutoka Nyuma hadi Baadaye. Onyesho linaweza kuonyesha wakati katika fomati anuwai, pamoja na ile ya sinema bila shaka. Inaweza kusanidiwa kupitia vifungo juu ya ua lakini pia kupitia ukurasa wa wavuti uliotumiwa na Raspberry Pi Zero ndani. Katika moja ya modes za kuonyesha itaonyesha hali ya hewa ya eneo lako (kutoka kituo changu cha hali ya hewa inayotumia Arduino) na vile vile utabiri na vikumbusho vyovyote vya kila siku, vilivyosanidiwa kupitia kiolesura cha wavuti. Pia ina shukrani ya sauti kwa DAC na itatiririsha muziki kwa kutumia itifaki ya AirPlay. Sauti ya kengele inaweza kuwa faili yoyote ya sauti unayochagua. Itapunguza na kung'arisha onyesho moja kwa moja kwa nyakati zilizopewa za mchana (k.m asubuhi na jioni).

Hatua ya 1: Usuli

Mwaka jana nilikuwa nikitafuta mradi mpya wa Arduino ukiwa umemaliza wa kwanza kabisa, kituo cha hali ya hewa nyumbani. Mtoto wangu wa miaka 11 alikuwa ametazama sinema za Rudi kwa Baadaye kwa mara ya kwanza kwa hivyo nilidhani itakuwa raha kumjengea saa ya kengele ambayo ilionekana kama mzunguko wa wakati huko Delorean kwa siku yake ya kuzaliwa. Hili sio wazo jipya, kuna miradi kadhaa inayofanana huko nje (hii kwa mfano), kwa hivyo nilidhani itakuwa mradi mzuri kujifunza kutoka kwa wengine na kupata ujuzi mpya.

Toleo la kwanza lilifanya kazi vizuri (haikuwa tayari kwa siku yake ya kuzaliwa: nilimaliza na Krismasi) lakini nilikuwa na hamu kubwa kwa kile nilitaka ifanye na nikagundua kuwa mchoro wangu uliendelea kuingia kwenye kikomo cha kumbukumbu cha Arduino. Pia nilikuwa na moduli kadhaa ndogo za vifaa vya nje (WiFi, kicheza MP3, kipaza sauti, RTC n.k. Mwishowe, niliamua kuhamia kwenye jukwaa la Raspberry Pi ambalo lilirahisisha vifaa na kuniruhusu kupakia utendaji na huduma nyingi zaidi.

Hatua ya 2: Sehemu kuu za vifaa

Ndani ya Sanduku

Hapa kuna vifaa vya elektroniki nilivyotumia. Wengi wao walikuwa vyanzo kutoka Core Electronics huko Australia lakini kwa kweli zinapatikana mahali pengine pia:

  • 4 x Quad Alphanumeric Onyesha -Njani-Kijani
  • Raspberry Pi Zero W
  • Pimoroni pHAT DAC kwa Raspberry Pi Zero
  • Audio Amp (PAM8403 IC)
  • Usambazaji wa umeme wa Raspberry Pi 3+
  • 4 x Jumper waya - 0.1 ", pini 5, 12"
  • Pini 40 (2 x 20) kebo ya utepe
  • Raspberry Pi GPIO Kichwa cha Kiume
  • Mfano wa Raspberry Pi B - Kichwa kilichofunikwa na GPIO (2X20)
  • Kichwa cha GPIO Stacking kwa Pi A + / B + / PI 2 / PI 3 - 2X20 ndefu zaidi
  • 4 x 5 pini kichwa cha kiume
  • Spika ndogo 2W 3W
  • 2 x nyaya coaxial kwa unganisho la sauti ya Analog DAC kwa Amp
  • Veraboard au PCB ya kawaida kushughulikia Rpi kwa amp, LED, vifungo
  • 5 x swichi za kushinikiza za kitambo
  • 4 x 2-njia PCB-mountable vitalu terminal terminal

Sanduku

  • Vipande na vipande vya MDF, screws na bolts kutengeneza 'chassis'
  • Kijani chenye rangi ya kijani kibichi, muuzaji wa ndani
  • Styrene, mfano wa gundi, rangi ya dawa (rangi ya aluminium) kutoka duka la kupendeza la hapa
  • Stika (faili inapatikana kwa ombi - iliyochapishwa na Redbubble)

Hatua ya 3: Kuiweka Pamoja

Kuiweka Pamoja
Kuiweka Pamoja

Onyesho la LED kwa saa linajumuisha sehemu za 16x14-alphanumeric maonyesho, kwa bahati idadi sawa ya wahusika kama Mzunguko wa Wakati wa Kurudi kwa Baadaye. Wakati wahusika watatu tu wa kwanza wanahitaji kuwa wa kialfabeti na wengine wanaweza kuwa sehemu za nambari 7 za kuiga mwongozo wa sinema, niliamua kuwafanya wote wawe wa kawaida kuruhusu kubadilika kwa kile kinachoweza kuonyeshwa na kuwaweka wote wakitazama sawa. Mifuko ya mkoba wa Adafruit ni suluhisho kubwa hapa na inaweza kuendeshwa kwa basi ya Raspberry Pi ya I2C. Habari zaidi juu ya vitengo hivi na jinsi ya kuzifunga zinaweza kupatikana hapa kwenye wavuti ya Adafruit. Kitu pekee kisicho cha kawaida nilibidi kufanya ni kubadilisha anwani tatu kati yao kwa hivyo kila mkoba ulikuwa wa kipekee.

Ili kucheza sauti (katika stereo), nilijumuisha Pimoroni pHAT DAC na kipaza sauti cha sauti cha 2 x 3W kulingana na chip ya PAM8403. PHH DAC ni rahisi sana kuungana na Pi. Niliweka kichwa cha kiume cha pini 2 x 20 kwenye Pi na kichwa cha kuweka GPIO kwenye DAC ili waweze kuunganishwa pamoja juu ya nyingine. Pini za kichwa cha kiume hupita juu ya DAC, ikiniruhusu kuendesha kebo ya kebo na viunganishi vya kike, mwanzoni kwa kuzuka kwa Raspberry Pi kwa upimaji wa mkate lakini mwishowe kwa kichwa kilichofunikwa kwenye PCB iliyotengenezwa.

Kwa kipaza sauti cha sauti, kuna chaguzi nyingi (pamoja na kupata chip na kukusanya yako mwenyewe). Huyu ana chaguo la kuzima pato kwa kubadilisha tu hali ya moja ya pini (juu imewashwa, chini imezimwa) na niliiweka waya ili hii iweze kudhibitiwa kutoka kwa Pi. Katika majaribio yangu ya kwanza ya waya hii, niligundua kelele nyingi za nyuma wakati sauti ilikuwa imewashwa. Baada ya kucheza sana na kutuliza, mwishowe nilijaribu kusonga voltage ya usambazaji wa pembejeo kutoka kwa 5V ya Pi hadi 3.3V na hiyo ilirekebisha. Nadhani kuna kelele nyingi zinazozalishwa na ishara anuwai za dijiti zinazozunguka lakini inaonekana usambazaji wa 3.3V kwa namna fulani umetengwa.

Uunganisho mwingine ni pamoja na sauti ya analog kutoka kwa DAC hadi kwa kipaza sauti (nilitumia kebo ya coaxial hapa kusaidia kusimamia upigaji kelele) na kutoa sauti kwa jozi ya spika ndogo za 3W ambazo zinafaa kwenye eneo hilo. Kuna pia unganisho la GPIO kwa swichi nne za kitambo juu ya sanduku na niliunganisha kitufe cha kitambo kwa kuweka upya ngumu "RUN" (tazama sehemu ya Uunganisho wa Ziada kwenye ukurasa huu). Kitufe cha kuweka upya kimewekwa mbele ya kuona nyuma ya kiambatisho. Hapa kuna mchoro unaoonyesha unganisho:

Hatua ya 4: PCB Maalum

PCB Maalum
PCB Maalum

Wakati hakuna kitu ngumu sana juu ya mzunguko, kuna wiring kidogo na ubao wa mkate unaweza kuonekana kama tambi haraka sana. Kwa hivyo nilibuni PCB ili kuiweka chini ya udhibiti wote. Ni bodi ya upande mmoja ya pombe na nilipata rafiki wa kusaidia kuifanya. Baada ya kutengenezwa na kushonwa waya, niligundua kuwa nimesahau kujumuisha viunganisho vya vizuizi vya wastaafu kwa sauti na baadaye nilifanya mabadiliko kuhamisha usambazaji wa amp ya sauti kutoka 5V hadi 3.3V, kwa hivyo sio bora na ilibidi nifanye baadhi ya Veroboard ili kuruhusu uunganisho wa sauti. Pia, pini za bodi za sauti ziko kwenye mgawanyo usio wa kiwango (hata hutofautiana kati ya pini) kwa hivyo unganisho la hii kwa PCB kuu ni ya kutisha kidogo na waya mfupi wa unganisho 11 ~ 1cm.

Ikiwa ningeunda bodi nyingine, ningejumuisha marekebisho haya yote na pia nibadilishe kontakt kwa vifungo vinne kuwa kitu kidogo nzuri. DAC na Pi zingeweka juu juu, kwa hivyo hakuna kebo ya Ribbon inahitajika. Mchoro hapo juu unaonyesha jinsi inaweza kuonekana.

Hatua ya 5: Ufungaji

Ufungaji
Ufungaji
Ufungaji
Ufungaji
Ufungaji
Ufungaji

Nilitaka kutengeneza kiambatisho ambacho kilionekana kama safu moja ya mzunguko wa wakati wa sinema. Safu tatu za maonyesho ya LED zingekuwa nyingi kwa saa ya kengele na ingeongeza kwa gharama. Nilifikiria juu ya kutengeneza kiunga nje ya aluminium lakini sina ujuzi wowote katika eneo hilo. Nimetengeneza mifano kadhaa ya plastiki maishani mwangu, na nina uzoefu wa kazi ya kuni, kwa hivyo nimeamua kutengeneza fremu kutumia MDF kuweka taa za LED na spika na kurekebisha picha mbele, halafu funika kwa mtindo wa pande tano. sanduku na bezel mbele, iliyochorwa kwenye rangi ya dawa ya alumini. Plastiki na rangi zilipatikana kutoka duka la mfano. Niliangalia kwa karibu maandiko kwenye toleo la sinema na nilijitahidi kunakili rangi, aina ya fonti na saizi. Nilitumia Photoshop kujenga lebo na kuzichapisha kama stika kutoka Redbubble.

Picha hapo juu zinaonyesha:

  1. Mbele ya chasisi ya MDF. Mifuko 4 ya mkoba wa LED imewekwa mbele na rangi ya kijani kibichi
  2. Ndani ya sanduku. Mikoba yote imewekwa na inaweka juu, Raspberry Pi na PCB ya kawaida ndani, spika kila upande.
  3. Wiring imewekwa na ganda la nje tayari kuendelea. Ilikuwa kidogo ya kubana!

Hatua ya 6: Kuweka Raspberry Pi

Nilikuwa na maswala ya utangamano na Raspbian Stretch (ambayo inaweza kusuluhishwa ikiwa ningeendelea) lakini Jessie anafanya kazi nayo vizuri, kwa hivyo niliamua kwenda na hiyo.

Niliweka Pi kama kitengo kisicho na kichwa na ufikiaji wa VNC na SSH. Hii ingeweza kufanywa bila kuziba kibodi au ufuatiliaji lakini nilikopa tu Runinga na nikaandika kibodi, na ikaenda bila kichwa haraka sana. Kuanzia hapo, nilitumia VNC kutoka hapo.

Nambari yangu ya saa hutumia Python 2.7.9 na inategemea maktaba machache, yaliyoorodheshwa hapa chini. Pamoja na hii, ninaendesha seva ya wavuti ya Flask na MQTT kwa udhibiti wa kijijini na Shairplay kwa utiririshaji wa muziki. Nilifuata tu maandishi ya usanikishaji wa mkondoni kwa haya yote na sikuwa na maswala kabisa. Hapa kuna maktaba za chatuu na vifurushi vingine nk nilihitaji kusanikisha na viungo vya vidokezo vya usanikishaji au amri tu unayohitaji kukimbia kuipata:

Maktaba za chatu

  • Adafruit_LED_Backpack
  • Rpi. GPIO (Pata usakinishaji wa python-rpi.gpio)
  • sauti
  • paho.mqtt.client (bomba funga paho-mqtt)
  • chupa (apt-get install python-flask)

Vifurushi vingine nk

  • mbu (apt-get install mbu)
  • shairport
  • Wavuti ya Pimoroni ina hati nzuri juu ya kuanzisha DAC, kwa hivyo nilikimbia tu na hiyo.

Hatua ya 7: Programu

Image
Image
Programu
Programu

Nambari ya saa iliandikwa katika Python na hutumia nyuzi kucheza kengele na kulia mara kwa mara nyuma bila kuzuia visasisho vya onyesho. Nilitumia maktaba ya ConfigParser na faili ya kusanidi inayosomwa inasomwa na kuandikwa kwa nambari ya saa na pia programu ya wavuti ya Flask ili kila wakati usanidi ubadilishwe kupitia kiolesura cha wavuti au saa, inalinganishwa. Programu ya saa pia inajumuisha broker wa MQTT kuruhusu udhibiti wa hali ya kuonyesha na kunyamazisha kudhibitiwa kwa mbali. Nia yangu ya nyuma hatimaye ni kuandika programu ya iOS ya kijijini lakini kiolesura cha wavuti hufanya kazi vizuri kwa sasa.

Picha ya kwanza hapo juu inaonyesha jinsi saa inavyoonekana katika njia zake anuwai za kuonyesha, na kuna video fupi inayoionyesha katika hali ya kutembeza.

Wakati nambari sio nzuri kuiangalia ni nzuri na thabiti. Nimefurahi kuituma kwa mtu yeyote ambaye ataiomba na ataiweka mkondoni wakati itapangwa vizuri na kutoa maoni.

Programu ya Wavuti

Picha inayofuata inaonyesha jinsi kiolesura cha wavuti kwa saa inavyoonekana. Kuna pia kusanidi na kurasa za kudhibiti na hizi hufanya iwe rahisi kucheza na saa bila kifungo kingi cha mashing:-).

Hatua ya 8: Je

Nini Kifuatacho?
Nini Kifuatacho?

Kuna disododata ya metadata ya shareport inayopatikana kwa hivyo nadhani nitaongeza nambari kadhaa kuonyesha habari kama kichwa na msanii wakati muziki unachezwa. Pia itakuwa rahisi kuhesabu kuchomoza kwa jua na nyakati za jua ili onyesho liweze kuangazwa kiatomati na kupunguzwa, badala ya kuiweka kwa mikono. Labda kuongeza huduma ya redio ya mtandao itakuwa ya kufurahisha pia. Onyesho la kutembeza pia linaweza kusanidi zaidi.

Ilipendekeza: