Sisukord:
- Samm: disain
- 2. toiming: kuidas see toimib
- 3. samm: demo prototüübi loomine
- 4. samm: ATTiny85 programmeerimine
Video: Ehitage parem Raspberry Pi toitenupp: 4 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Vaarika väljalülitus- või väljalülitusnuppu on väga lihtne teha. Veebis on palju selliseid projekte ja mõned siin Instructablesis, kuid ükski neist (mida ma näen) ei ütle teile, millal teie Pi on tegelikult välja lülitanud ja seega on toitevõrgu kasutamine ohutu. Tegelikult nad isegi ei tunnista, et nupuvajutust on nähtud.
Samuti on projekte suletud Pi taaskäivitamiseks, kuid ka need ei anna teile visuaalset tagasisidet.
Aga kellele sellist nuppu vaja on? Kui olete natuke minusugune nohik või isegi lihtsalt pürgiv nohik, saate alati oma Pi -sse sisse logida lokaalselt või üle võrgu ja sisestada sudo shutdown -h. Aga kui te ehitate projekti mittetehnilistele kasutajatele, siis see lihtsalt ei toimi. Tõsi, peaaegu alati pääsete lihtsalt toitejuhtmest tõmmates, kuid pange tähele, et ma ütlesin peaaegu alati! Kõigi õnn saab varem või hiljem otsa. Mul suri SD -kaart alles eelmisel nädalal, kuigi ma ei tea kunagi, kas see oli tõesti tingitud järsust voolukatkestusest.
Minu puhul oli mul vaja lisada toitenupp Pi -le, mida me kasutame midi -järjestusena kirikus hümnide ja laulude salvestamiseks ja taasesitamiseks, kui meil pole elus pianisti saadaval. Ma võin alati väljalülituskäsu tippida, kuid pean selle oskustest lahti võtma, kui mind pole.
Minu eesmärk ei ole siin anda teile valmistoodet koos kaunilt 3D -prinditud ümbrisega, nagu paljud teised juhendid. Igaüks kasutab seda erinevalt või soovib seda oma projekti kaasata. Pigem seadistan teile tehnoloogia, mida saate oma projektile lisada, olgu see siis meediumikeskus, IoT -seade või midagi muud.
(Videos demonstreerin seda Pi Zero v1.2 ja kuvariga, mille tegin ümberehitatud sülearvuti ekraanilt ja Kaug -Idast pärit kontrolleriga.)
Samm: disain
Minu toitenupp teeb seda teie jaoks:
- Kui Pi töötab, põleb LED pidevalt. Kui see käsitsi välja lülitatakse, kustub LED ainult siis, kui on toitevõrgust lahti ühendamine ohutu.
- Kui vajutate töötamise ajal nuppu vähemalt sekundiks, käivitub väljalülitus ja LED vilgub veerand sekundit iga sekund, kuni on toitevõrgust eemaldamine ohutu.
- Alates väljalülitusolekust (kui toide pole eemaldatud) käivitub nupule vajutamine selle käivitamiseks ja vilgub LED iga sekund veerand sekundit, kuni see käivitub. (Kõik teenused, nagu ssh ja vnc, töötavad, võib veidi kauem aega võtta.)
Komponendid on väga odavad. Kõik, mida vajate, on:
- ATTiny85 (Arduino-ühilduv kiip)
- 3 takistit: 2 x 330Ω ja 1 x 10kΩ
- 1 LED - soovitan rohelist või sinist, kuid see on teie valik
- leiva- ja hüppajajuhtmeid või ribalauda või kuidas soovite seda ehitada.
2. toiming: kuidas see toimib
Nagu kõigi Pi toitenuppude puhul, tõmbab ka see GPIO -pin madalale olekule, et anda Pi -l töötavale abiprogrammile väljalülitamistaotlus. Ma kasutasin GPIO4 (tihvt 7), kuid saate kasutada mis tahes muud tihvti.
Ainus viis öelda, et Pi on välja lülitunud, on vaadata TxD tihvti 8, mis seejärel läheb madalaks. See sõltub jadakonsooli lubamisest, mis on vaikimisi. Tegelikult tõuseb TxD regulaarselt üles ja alla, kui seda kasutatakse jadakonsoolina, kuid see ei lange kunagi alla 30 mS korraga, isegi kõige aeglasema tavalise edastuskiiruse korral. Seda saab endiselt kasutada jadakonsooli jaoks, kuna me lihtsalt vaatame seda passiivselt.
Taaskäivitamiseks peame korraks SCL1 (tihvt 5) madalale tõmbama. Seda tihvti kasutavad kõik I2C -seadmed (sealhulgas minu midi -liides), kuid pärast alglaadimise alustamist jätame selle rahule.
Suurem osa keerukusest on Arduino visandis, mille laadime ATTiny85 -sse. See rakendab "olekumasinat" - väga kasulikku ja võimsat viisi kõigi probleemide kodeerimiseks, mida võivad esindada mitmed "olekud". Pesumasin töötab täpselt samamoodi. Olekud tähistavad pesutsükli etappe ja igaüks määrab kindlaks, mida masin sel hetkel tegema peaks (mootorid või pumbad käivitamiseks, ventiilide avamiseks või sulgemiseks) ja millised anduri sisendid (temperatuur, veetase, taimerid) otsustada, millal järgmisesse osariiki liikuda ja millist järgmist osariiki valida.
Käsi visand on minu esimene olekudiagrammi mustand, mis näitab kõiki olekuüleminekuid. See on lihtsalt selleks, et näidata teile, kuidas saate esialgu oma olekuid ja olekute üleminekuid planeerida - see ei pruugi olla täiesti täpne, nagu see oli enne silumise alustamist.
Meie puhul on meil kuus olekut, mille olen välja lülitanud VÄLJAS, SAADETUSTAOTLUS, KÄIVITAMINE, TÖÖTAMINE, LÜLITAMISTAOTLUS ja LÜLITAMINE. (Pärast SHUTTING DOWN lülitub see tagasi asendisse OFF.) Need tuvastatakse visandil olevate kommentaaride järgi ja igaühe kohta lisatakse täiendavad kommentaarid, mida ta peaks tegema ja millised sündmused viivad selle teise olekusse.
Pi -l töötav abiprogramm on lihtsalt pisut keerulisem kui enamiku väljalülitusnuppude puhul. See reageerib GPIO tihvti pikale madalale impulssile, käivitades seiskamise, kuid reageerib ka lühikesele impulssile, tõmmates GPIO tihvti lühidalt madalale. Nii saab ATTiny85 öelda, et see töötab ja saab liikuda alglaadimise olekust RUNNING.
3. samm: demo prototüübi loomine
Näitlikel eesmärkidel saate selle prototüüpida joodeta leivaplaadil, nagu on näidatud, kuid ma olen teile andnud ka skemaatilise skeemi, et saaksite oma paigutuse välja töötada ribalaua või kohandatud trükkplaadi abil, võib -olla osa laiemast projektist.
4. samm: ATTiny85 programmeerimine
Sellele sammule on lisatud Arduino eskiis ja abiprogramm. Looge oma Arduino visandite kausta kaust nimega PiPwr ja kopeerige sinna fail PiPwr.ino. Arduino IDE käivitamisel leiate selle nüüd oma visandiraamatust.
ATTiny85 programmeerimiseks on mitu võimalust. Kui teie jaoks on installitud alglaadur, saate kasutada ATTiny85 arendusplaati, mis maksab vaid paar naela. See ühendatakse arvutiga USB -pordi kaudu. Ma kasutasin Hidiot'i, mis on sisuliselt sama, kuid millel on prototüüpimispiirkond.
Lisage Arduino IDE jaotises Fail - eelistused
digistump.com/package_digistump_index.json
lisatahvlite halduri URL -idele.
Jaotises Tööriistad - pardal peaksite nüüd nägema mitmeid Digisparki valikuid. Valige Digispark (vaikimisi - 16,5 MHz).
Kui teie ATTiny85 -l pole alglaadurit (või te ei tea), saate mõne naela eest hankida AVR -i ISP -programmeerija. Või võite programmeerijana kasutada Arduino Unot või odavamat Pro Mini või Nano. Google'is leiate juhiste saamiseks sõna "arduino as isp attiny85" (ilma jutumärkideta).
Kui soovite visandit muuta, leiate selle täielikult kommenteeritult ja loodetavasti hõlpsasti järgitavalt. Silumiseks on palju lihtsam kasutada Arduino Pro Mini või Nano. Eemaldage seadistuses serial.begin () ja trükiväljendid loop (), et näha toiminguid, mida see jadamonitori abil läbib. Allikas on kommenteeritud Uno, Pro Mini või Nano jaoks alternatiivsed tihvtide määratlused.
Kopeerige oma Raspberry Pi -s fail shutdown_helper.py kausta/etc/local/bin ja määrake see käsuga käivitatavaks
sudo chmod +x /usr/local/bin/shutdown_helper.py
Nüüd muutke faili /etc/rc.local oma lemmikredaktoriga. (Peate seda tegema juurjuurina.) Sisestage rida enne viimast rida (väljumist 0)
nohup /usr/local/bin/shutdown_helper.py &
Taaskäivitage ja abiprogramm käivitub automaatselt.
Soovitan:
Lisage oma LibreELECi installimisele toitenupp Raspberry Pi -le: 6 sammu
Lisage oma LibreELECi installimisele toitenupp Raspberry Pi -le: Järgnevalt õpime, kuidas lisada LibreELECile, mis töötab Raspberry Pi -ga, toitenuppu. Me kasutame PowerBlocki, et mitte ainult lisada toitenuppu, vaid ka oleku LED -i, mis näitab teie LibreELECi installitud seadme toiteolekut. Nende jaoks
Vaarika Pi toitenupp: 3 sammu
Vaarika Pi toitenupp: kui olete minu moodi, otsisite Internetti, otsides parimat lahendust, kuidas oma Raspberry Pi turvaliselt ühe nupuvajutusega sisse ja välja lülitada. Kuigi lahendusi on palju, nõuab enamik neist Pythoni skripti allalaadimist ja selle käivitamist
Super Ghetto toitenupp minu Oneplus One'il (peaks töötama ükskõik millega): 3 sammu
Super Ghetto toitenupp minu Oneplus One'il (peaks töötama ükskõik millega): Probleem: kõik minu telefoni nupud on katki. Nende vahetamine on vaid ajutine lahendus, kuna mu tagakaas on katki ja ma ei leia kuskilt asendust, mis ei ületaks kasutatud OPO hinda, kuid mõtlesin, et miks mitte uuendada, kui
ESC väline toitenupp: 3 sammu (piltidega)
ESC väline toitenupp: ehitan elektrilise rula ja pean lisama oma ESC -le välise lüliti, et saaksin kogu oma elektroonika samasse ruumi panna. Osade loend: -Pushbutton-juhtmed-kokkutõmbetoru (valikuline) -liim (valikuline) -ESC (banggood: https://goo.gl/4n8kzB)
Ehitage tasuta parem Vista: 3 sammu
Ehitage tasuta parem Vista: kuidas tasuta tasuta Vista ehitada. Paljud inimesed teatasid tõsistest probleemidest, uuendades seal olemasolevad Windows XP (TM) masinad Vistaks (TM). Isegi uhiuutel masinatel. Vaadake näiteks: http://www.youtube.com/watch?v=FVbf9tOGwno Nii palju inimesi hööveldas