Orodha ya maudhui:

Jenga Kitufe Bora cha Raspberry Pi Power: Hatua 4
Jenga Kitufe Bora cha Raspberry Pi Power: Hatua 4

Video: Jenga Kitufe Bora cha Raspberry Pi Power: Hatua 4

Video: Jenga Kitufe Bora cha Raspberry Pi Power: Hatua 4
Video: Как сделать систему для расширенного измерения тока в ... 2024, Novemba
Anonim
Image
Image

Ni rahisi sana kutengeneza kitufe cha kuzima Raspberry au kuzima. Kuna miradi mingi kwenye wavuti na michache hapa kwenye Maagizo, lakini hakuna hata moja (ambayo ninaweza kuona) kukuambia wakati Pi yako imemaliza kuzima na kwa hivyo ni salama kuvuta nguvu. Kwa kweli hawatambui hata kwamba kitufe cha kifungo kimeonekana.

Kuna miradi, pia, ya kuanzisha tena Pi ambayo imefungwa, lakini pia hizi hazikupi maoni yoyote ya kuona.

Lakini ni nani anayehitaji kitufe kama hicho? Ikiwa wewe ni mjinga kama mimi, au hata mjinga tu anayetamani, unaweza kuingia kila wakati kwenye Pi yako kijijini au kwenye mtandao na andika Sudo kuzima -h sasa. Lakini ikiwa unaunda mradi kwa watumiaji wasio wa kiufundi, hiyo haitafanya. Ukweli, unaweza karibu kila wakati kuondoka na kuvuta tu kamba ya umeme, lakini kumbuka, nilisema karibu kila wakati! Bahati ya kila mtu inaisha mapema au baadaye. Nilikuwa na kadi ya SD ikifa kwangu tu wiki iliyopita, ingawa sitajua kamwe ikiwa ni kweli au ni kwa sababu ya upotezaji wa ghafla wa umeme.

Katika kesi yangu nilihitaji kuongeza kitufe cha nguvu kwa Pi tunayotumia kama mfuatishaji wa midi kwa kurekodi na kucheza nyimbo za nyuma na nyimbo kanisani, kwani wakati hatuna mpiga piano wa moja kwa moja. Ninaweza kuandika kila wakati amri ya kuzima lakini ninahitaji kuiongeza kwa ujuzi wakati sipo.

Nia yangu hapa sio kukupa bidhaa iliyokamilishwa, kamili na kesi nzuri iliyochapishwa ya 3D, kama Maagizo mengine mengi. Kila mtu atakuwa na matumizi tofauti kwa hiyo au anataka kuingiza katika mradi wake mwenyewe. Badala yake, nitakuwekea teknolojia ambayo unaweza kuongeza kwenye mradi wako, iwe ni kituo cha media, kifaa cha IoT, au kitu kingine chochote.

(Kwenye video ninaionesha na Pi Zero v1.2 na mfuatiliaji nilioutengeneza kutoka kwa skrini iliyotengwa tena ya kompyuta ndogo na mtawala kutoka Mashariki ya Mbali.)

Hatua ya 1: Ubunifu

Inavyofanya kazi
Inavyofanya kazi

Hivi ndivyo kifungo changu cha nguvu kitakufanyia:

  • Wakati Pi inaendesha, LED inawashwa mfululizo. Ikiwa imefungwa kwa mikono LED inazimwa tu wakati ni salama kufungua umeme.
  • Wakati unafanya kazi, ukibonyeza kitufe kwa angalau sekunde moja kuzima huanzishwa na LED inawaka kwa robo ya sekunde kila sekunde mpaka iwe salama kufungua umeme.
  • Kutoka kwa hali ya kuzima (ikiwa nguvu haijaondolewa), kubonyeza kitufe huanza kuwasha na kuwasha LED kwa robo ya sekunde kila sekunde hadi itakapowashwa. (Inaweza kuchukua muda mrefu kidogo hadi huduma zote kama vile ssh na vnc zinafanya kazi.)

Vipengele ni rahisi sana. Wote unahitaji ni:

  • ATTiny85 (Chip inayoendana na Arduino)
  • Vipinga 3: 2 x 330Ω na 1 x 10kΩ
  • 1 LED - Ninashauri kijani au bluu, lakini ni chaguo lako
  • bodi ya mkate na waya za kuruka, au ubao wa vipande, au hata hivyo unataka kuijenga.

Hatua ya 2: Jinsi inavyofanya kazi

Kama ilivyo na vifungo vyote vya nguvu vya Pi, hii inavuta pini ya GPIO kwa hali ya chini kuashiria ombi la kuzima kwa programu ya msaidizi inayoendesha Pi. Nilitumia GPIO4 (pini 7) lakini unaweza kutumia pini nyingine yoyote.

Njia pekee ya kusema kuwa Pi imekamilisha kuzima ni kwa kutazama pini ya TxD 8, ambayo huenda chini. Hii inategemea kontena ya serial kuwezeshwa, ambayo ni chaguo-msingi. Kwa kweli TxD itashuka mara kwa mara na chini wakati inatumiwa kama kiweko cha serial, lakini haitawahi kushuka kwa zaidi ya karibu 30mS kwa wakati, hata kwa kiwango cha polepole cha kawaida cha baud. Bado inaweza kutumika kwa dashibodi ya serial kwani tunaiangalia tu.

Ili kuwasha upya, tunahitaji kuvuta kwa ufupi SCL1 (pini 5) chini. Pini hii hutumiwa na vifaa vyovyote vya I2C (pamoja na kiolesura changu cha midi), lakini baada ya kuanzisha buti tunaiacha peke yake.

Ugumu mwingi uko kwenye mchoro wa Arduino ambao tunapakia kwenye ATTiny85. Hii hutumia "mashine ya serikali" - njia muhimu sana na yenye nguvu ya kuweka alama kwa shida yoyote ambayo inaweza kuwakilishwa na "majimbo" kadhaa. Mashine ya kuosha inafanya kazi kwa njia ile ile. Majimbo yanawakilisha hatua katika mzunguko wa safisha, na kila moja hufafanua kile mashine inapaswa kufanya wakati huo (motors au pampu zinazoendeshwa, valves kufunguliwa au kufungwa) na ni pembejeo gani za sensorer (joto, kiwango cha maji, vipima muda) amua wakati wa kuhamia jimbo linalofuata na jimbo lipi la kuchagua.

Mchoro wa mkono ni rasimu yangu ya kwanza ya mchoro wa serikali, inayoonyesha mabadiliko yote ya serikali. Hii ni kukuonyesha tu jinsi unavyoweza kupanga majimbo yako na mabadiliko ya serikali - inaweza kuwa sio sahihi kabisa kama ilivyokuwa kabla ya kuanza utatuzi.

Kwa upande wetu, tuna majimbo 6 ambayo nimeita OFF, OMBI LA MAOMBI, KUFUNGUA, KUENDESHA, OMBI LA SHUTDOWN, na KUSHUKA CHINI. (Baada ya KUSHUKA chini inarudi kwa ZIMA.) Hizi zinatambuliwa na maoni kwenye mchoro, na kwa kila mmoja, maoni zaidi yanasema ni nini inapaswa kufanya na ni hafla gani zitakazoihamishia jimbo lingine.

Programu ya msaidizi inayoendesha Pi ni ngumu kidogo zaidi kuliko vifungo vingi vya kuzima. Hujibu mapigo marefu ya chini kwenye pini ya GPIO kwa kuanzisha kuzima, lakini pia hujibu mapigo mafupi yenyewe yenyewe kwa kuvuta pini ya GPIO chini. Hivi ndivyo ATTiny85 inaweza kusema kuwa inaendesha na kwa hivyo inaweza kuhama kutoka kwa BOOTING kwenda hali ya KUENDESHA.

Hatua ya 3: Kuunda Mfano wa Demo

Kuunda Mfano wa Demo
Kuunda Mfano wa Demo
Kuunda Mfano wa Demo
Kuunda Mfano wa Demo
Kuunda Mfano wa Demo
Kuunda Mfano wa Demo

Kwa madhumuni ya maandamano unaweza kuiga mfano kwenye ubao wa mkate usio na solder kama inavyoonyeshwa lakini pia nimekupa mpango ili uweze kupanga mpangilio wako mwenyewe ukitumia ubao wa mkanda au PCB ya kawaida, labda sehemu ya mradi mpana.

Hatua ya 4: Kupanga programu ya ATTiny85

Mchoro wa Arduino na mpango wa msaidizi umeambatanishwa na hatua hii. Kwenye folda yako ya michoro ya Arduino, tengeneza folda iitwayo PiPwr na unakili faili ya PiPwr.ino ndani yake. Kuzindua IDE ya Arduino sasa utaipata kwenye kitabu chako cha michoro.

Kuna njia kadhaa za kupanga ATTiny85. Ikiwa yako imejaa bootloader unaweza kutumia bodi ya maendeleo ya ATTiny85 inayogharimu pauni chache tu. Hii inaunganisha kwenye PC yako kupitia bandari ya USB. Nilitumia Hidiot ambayo kimsingi ni sawa lakini na eneo la prototyping.

Katika Arduino IDE chini ya Faili - Mapendeleo, ongeza

digistump.com/package_digistump_index.json

kwa URL za meneja wa bodi za Ziada.

Chini ya Zana - Bodi unapaswa sasa kuona chaguzi kadhaa za Digispark. Chagua Digispark (Default - 16.5MHz).

Ikiwa ATTiny85 yako haina bootloader (au haujui) basi unaweza kupata programu ya AVR ISP kwa pauni chache. Au unaweza kutumia Arduino Uno au Pro Mini ya bei rahisi au Nano kama programu. Google ya "arduino kama isp attiny85" (bila nukuu) kwa maagizo.

Ikiwa unataka kurekebisha mchoro utapata maoni kamili na kwa matumaini ni rahisi kufuata. Kwa utatuzi ni rahisi kutumia Arduino Pro Mini au Nano. Ondoa alama serial.begin () katika Usanidi na taarifa za kuchapisha kwenye kitanzi () ili kuona hatua ambazo hupitia kwa kutumia mfuatiliaji wa serial. Kuna ufafanuzi mbadala wa pini kwenye chanzo, iliyotolewa maoni, kwa Uno, Pro Mini au Nano.

Kwenye Raspberry Pi yako, nakili faili shutdown_helper.py kwenye folda / nk / za mitaa / bin na uiweke kama inayoweza kutekelezwa na amri

sudo chmod + x / usr/local/bin/shutdown_helper.py

Sasa hariri faili /etc/rc.local na mhariri unayempenda. (Utahitaji kufanya hivyo kama mizizi.) Kabla ya mstari wa mwisho (toka 0) ingiza laini

nohup /usr/local/bin/shutdown_helper.py &

Anzisha upya, na mpango wa msaidizi utaanza kiatomati.

Ilipendekeza: