Sisällysluettelo:
- Vaihe 1: Suunnittelu
- Vaihe 2: Näin se toimii
- Vaihe 3: Demo -prototyypin rakentaminen
- Vaihe 4: ATTiny85: n ohjelmointi
Video: Rakenna parempi Raspberry Pi -virtapainike: 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Raspberry-virrankatkaisu- tai sammutuspainikkeen tekeminen on erittäin helppoa. Webissä on paljon tällaisia projekteja ja muutama täällä Instructables -sivustossa, mutta mikään niistä (jonka näen) ei kerro, milloin Pi on todella lopettanut sammutuksensa, joten on turvallista ottaa virtaa. Itse asiassa he eivät edes tunnusta, että napin painallus on nähty.
On myös projekteja sammutetun Pi: n käynnistämiseksi uudelleen, mutta nämäkään eivät anna sinulle visuaalista palautetta.
Mutta kuka tarvitsee tällaista painiketta? Jos olet vähän sellainen nörtti kuin minä tai jopa vain pyrkivä nörtti, voit aina kirjautua Pi -laitteeseesi paikallisesti tai verkon kautta ja kirjoittaa sudo shutdown -h nyt. Mutta jos olet rakentamassa projektia ei-teknisille käyttäjille, se ei vain onnistu. Totta, voit melkein aina päästä eroon vain vetämällä virtajohdosta, mutta huomaa, sanoin melkein aina! Kaikkien onni loppuu ennemmin tai myöhemmin. Minulla oli SD -kortti kuollut minulle vasta viime viikolla, vaikka en koskaan tiedä, johtuiko se todella äkillisestä virrankatkoksesta vai ei.
Minun tapauksessani minun piti lisätä virtapainike Pi: hen, jota käytämme midi -sekvensserinä kirkon virsien ja kappaleiden tallentamiseen ja toistamiseen, kun meillä ei ole live -pianistia. Voin aina kirjoittaa sammutuskomennon, mutta minun on poistettava se taidoista, kun en ole siellä.
Tarkoitukseni ei ole antaa sinulle lopputuotetta, jossa on kauniisti 3D -tulostettu kotelo, kuten monet muut Instructables. Jokaisella on erilainen käyttötarkoitus tai se halutaan sisällyttää omaan projektiinsa. Pikemminkin annan sinulle tekniikan, jonka voit lisätä projektiin, olipa se mediakeskus, IoT -laite tai jotain muuta.
(Videossa esittelen sen Pi Zero v1.2: lla ja näytöllä, jonka tein uudelleen asennetusta kannettavan tietokoneen näytöstä ja Kaukoidän ohjaimesta.)
Vaihe 1: Suunnittelu
Virtapainike tekee tämän puolestasi:
- Kun Pi on käynnissä, LED palaa jatkuvasti. Jos se sammutetaan manuaalisesti, LED sammuu vasta, kun virta on turvallista irrottaa.
- Jos painat painiketta käynnissä ollessaan vähintään sekunnin ajan, sammutus käynnistyy ja LED vilkkuu neljännessekunnin ajan joka sekunti, kunnes virta on turvallista irrottaa.
- Sammutustilasta (jos virtaa ei ole katkaistu) painikkeen käynnistäminen käynnistää sen ja vilkuttaa LEDiä neljännessekunnin ajan joka sekunti, kunnes se käynnistyy. (Voi kestää hieman kauemmin, ennen kuin kaikki palvelut, kuten ssh ja vnc, ovat käynnissä.)
Komponentit ovat erittäin halpoja. Kaikki mitä tarvitset on:
- ATTiny85 (Arduino-yhteensopiva siru)
- 3 vastusta: 2 x 330Ω ja 1 x 10kΩ
- 1 LED - ehdotan vihreää tai sinistä, mutta se on sinun valintasi
- leipälauta ja hyppyjohdot tai stripboard, tai miten haluat rakentaa sen.
Vaihe 2: Näin se toimii
Kuten kaikki Pi -virtapainikkeet, tämäkin vetää GPIO -nastan matalaan tilaan ilmoittaakseen sammutuspyynnöstä Pi -ohjelmassa käynnissä olevalle apuohjelmalle. Käytin GPIO4: ää (nasta 7), mutta voit käyttää mitä tahansa muuta pin.
Ainoa tapa kertoa Pi: n sammumisesta on katsella TxD -nasta 8, joka sitten laskee. Tämä riippuu sarjakonsolin aktivoinnista, joka on oletusarvoisesti. Itse asiassa TxD nousee ja laskee säännöllisesti, kun sitä käytetään sarjakonsolina, mutta se ei koskaan laske matalalle yli 30 mS kerrallaan, edes hitaimmalla yleisellä tiedonsiirtonopeudella. Sitä voidaan edelleen käyttää sarjakonsolina, koska katsomme sitä passiivisesti.
Uudelleenkäynnistämiseksi meidän on vedettävä hetkeksi SCL1 (nasta 5) matalalle. Tätä nastaa käyttävät kaikki I2C -laitteet (mukaan lukien midi -käyttöliittymä), mutta käynnistyksen aloittamisen jälkeen jätämme sen rauhaan.
Suurin osa monimutkaisuudesta on Arduinon luonnoksessa, jonka lataamme ATTiny85: een. Tämä toteuttaa "tilakoneen" - erittäin hyödyllisen ja tehokkaan tavan koodata kaikki ongelmat, joita useat "tilat" voivat edustaa. Pesukone toimii aivan samalla tavalla. Tilat edustavat pesujakson vaiheita, ja jokainen määrittelee, mitä koneen tulee tehdä tässä vaiheessa (moottorit tai pumput, joita käytetään, venttiilit avataan tai suljetaan) ja mitkä anturitulot (lämpötila, veden taso, ajastimet) päättää milloin siirtyä seuraavaan tilaan ja mikä seuraava tila valita.
Käsiluonnos on ensimmäinen tilakaavion luonnos, joka näyttää kaikki tilasiirtymät. Tämän tarkoituksena on vain näyttää sinulle, kuinka voit aluksi suunnitella tilasi ja tilamuutokset - se ei ehkä ole täysin tarkka, kuten se oli ennen virheenkorjauksen aloittamista.
Meidän tapauksessamme on 6 tilaa, jotka olen kutsunut POIS, KÄYNNISTYSPYYNTÖ, KÄYNNISTYS, KÄYNTI, SAMMUTUSPYYNTÖ ja SULKEMINEN ALAS. (SHUTTING DOWN: n jälkeen se siirtyy takaisin OFF -tilaan.) Nämä tunnistetaan luonnoksen kommenteista, ja jokaisessa lisäkommentissa kerrotaan, mitä sen pitäisi tehdä ja mitkä tapahtumat siirtävät sen toiseen tilaan.
Pi -apuohjelma on vain hieman monimutkaisempi kuin useimmilla sammutuspainikkeilla. Se reagoi pitkään matalaan pulssiin GPIO -nastassa käynnistämällä sammutuksen, mutta se reagoi myös lyhyeen pulssiin vetämällä GPIO -nastan lyhyesti matalalle. Näin ATTiny85 voi kertoa, että se on käynnissä ja voi siten siirtyä KÄYNNISTYS -tilasta RUNNING -tilaan.
Vaihe 3: Demo -prototyypin rakentaminen
Esittelytarkoituksiin voit prototyyppiä sen juottamattomalle leipälevylle kuvan mukaisesti, mutta olen myös antanut sinulle kaavion, jotta voit suunnitella oman ulkoasun käyttämällä stripboardia tai mukautettua piirilevyä, ehkä osana laajempaa projektia.
Vaihe 4: ATTiny85: n ohjelmointi
Arduino -luonnos ja apuohjelma on liitetty tähän vaiheeseen. Luo Arduino -luonnoskansioosi kansio nimeltä PiPwr ja kopioi tiedosto PiPwr.ino siihen. Käynnistämällä Arduino IDE löydät sen nyt luonnoskirjastasi.
ATTiny85 voidaan ohjelmoida useilla tavoilla. Jos sinulla on käynnistyslatain asennettu, voit käyttää ATTiny85 -kehityskorttia, joka maksaa vain muutaman kilon. Tämä muodostaa yhteyden tietokoneeseesi USB -portin kautta. Käytin Hidiotia, joka on pohjimmiltaan sama, mutta jossa on prototyyppialue.
Lisää Arduino IDE -kohtaan Tiedosto - Asetukset
digistump.com/package_digistump_index.json
Lisätaulujen hallinnan URL -osoitteisiin.
Työkalut - Hallitus -kohdassa näet nyt useita Digispark -vaihtoehtoja. Valitse Digispark (oletus - 16,5 MHz).
Jos ATTiny85 -laitteessasi ei ole käynnistyslatainta (tai et tiedä), voit hankkia AVR -ISP -ohjelmoijan muutamalla kilolla. Tai voit käyttää Arduino Unoa tai halvempaa Pro Miniä tai Nanoa ohjelmoijana. Googlesta "arduino as isp attiny85" (ilman lainausmerkkejä) saat ohjeet.
Jos haluat muokata luonnosta, se on täysin kommentoitu ja toivottavasti helppo seurata. Virheenkorjausta varten on paljon helpompaa käyttää Arduino Pro Miniä tai Nanoa. Poista kommentit serial.begin (): stä Setupissa ja tulostuslausekkeet silmukassa () nähdäksesi vaiheet, jotka se suorittaa sarjamonitorin avulla. Lähteessä on vaihtoehtoisia nastamääritelmiä Uno, Pro Mini tai Nano.
Kopioi Raspberry Pi -laitteellasi tiedosto shutdown_helper.py kansioon/etc/local/bin ja aseta se suoritettavaksi komennolla
sudo chmod +x /usr/local/bin/shutdown_helper.py
Muokkaa nyt tiedostoa /etc/rc.local suosikkieditorillasi. (Sinun on tehtävä se root -käyttäjänä.) Lisää rivi ennen viimeistä riviä (exit 0)
nohup /usr/local/bin/shutdown_helper.py &
Käynnistä uudelleen, ja apuohjelma käynnistyy automaattisesti.
Suositeltava:
Arduino -volttimittari (0-100 V DC) - Versio 2 (parempi): 3 vaihetta
Arduino-volttimittari (0-100 V DC)-Versio 2 (parempi): Tässä ohjeessa olen rakentanut voltimittarin mittaamaan suurjännitteitä DC (0-100v) suhteellisen tarkasti ja tarkasti käyttämällä Arduino Nano ja ADS 1115 ADC .Tämä on toinen versio voltimittarista, jota käytin edellisellä ohjeellani täällä: https: // ww
Cree Led H4 -ajovalojen parempi jäähdytys - HYVÄKSYTY: 4 vaihetta
Cree Led H4 -ajovalojen parempi jäähdytys - HYVÄKSYTY: Varajäähdytystuulettimien korvaaminen ulkoisella puhallimella parantaa jäähdytystä ja pidentää käyttöikää. Käyttämäni ledit ovat Newsun h4 -ajovalojen vaihto Amazonista http://www.amazon.com/dp/B00HFK2RAE/ref=sr_ph?ie=UTF8&qid=1415547
Parempi tapa tarkastella/dokumentoida opetusohjelmien tiedostoja: 4 vaihetta
Parempi tapa tarkastella/dokumentoida Instructables -tiedostoja: Ihmiset sisällyttävät usein tiedostoja projektiin Instructables -latausten kautta. Usein tämä on ohjelmistolähdetiedostoja, jotka voivat olla jopa ohjattavan sydän. Instructables ei kuitenkaan anna lukijalle helppoa tapaa lukea ja tarkistaa koodia. (
Parempi turvallisuus: Juna -asemien turvallisuuden parantaminen: 7 vaihetta
Turvallisempi Parempi: Juna -asemien turvallisuuden parantaminen: Monet rautatieasemat ovat nykyään turvassa, koska niillä ei ole turvallisuutta, esteitä ja varoitus junan saapumisesta. Näimme tarpeen korjata se. Tämän ongelman ratkaisemiseksi loimme Safer Better. Käytimme tärinä-, liike- ja
Rakenna parempi Vista ilmaiseksi: 3 vaihetta
Rakenna parempi Vista ilmaiseksi: Kuinka rakentaa parempi Vista ilmaiseksi. Katso esimerkiksi: http://www.youtube.com/watch?v=FVbf9tOGwnoNiin monet ihmiset ovat suunnitelleet