Turinys:
- Prekės
- 1 žingsnis: „Raspberry Pi GPIO“įvadas
- 2 žingsnis: supraskite rezistorius
- 3 žingsnis: šviesos diodo prijungimas
- 4 veiksmas: šviesos diodo prijungimas prie GPIO
- 5 veiksmas: relės naudojimas šviesos diodui įjungti
- 6 žingsnis: įtraukimo rezistoriaus pridėjimas
- 7 žingsnis: Reed jungiklio jutiklis
- 8 žingsnis: „Reed“jungiklio prijungimas prie „Pi“
- 9 veiksmas: nuolatinio sprendimo kūrimas prototipų lentoje
- 10 žingsnis: nuorodos
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Vienas iš šio projekto įkvėpėjų buvo gerai pamokomas „Raspberry Pi 3“garažo durų atidarytuvas ir keletas kitų, rastų internete. Kadangi nebuvau patyręs elektronikos žmogus, aš atlikau daugybę papildomų tyrimų, kaip sąsaja su „Raspberry Pi“, ir daug sužinojau apie rezistorių su LED lemputėmis ir visų GPIO laidų svarbą. Aš taip pat sužinojau apie traukimo ir ištraukimo aparatūros grandinių pranašumus, palyginti su įmontuota Pi funkcija.
Kadangi šis garažo durų projektas iš tikrųjų yra kelių dalių procesas, apimantis „Pi“aparatinę įrangą, programinę įrangą ir diegimą su jūsų garažo durų atidarytuvu (-ais), aš maniau, kad pirmiausia sutelksiu dėmesį į „Pi“aparatūrą, nes ji reikalinga kiekvienam kitam žingsniui.
Mano požiūris turi būti labai paprastas, veikdamas kaip mokymosi, kurį padariau, kad galėčiau užbaigti aparatūrą, santrauka. Tai prasidės nuo tam tikros informacijos, o tada mes sukursime grandines ant duonos lentos. Kiekvienas žingsnis patobulins mūsų dizainą ir žinias, o kulminacija - nuolatinio aparatūros sprendimo, skirto Pi sąsajai su relės ir nendrių jutikliais, sukūrimas.
Be to, skirtingai nuo kai kurių kitų projektų, nusprendžiau naudoti „Raspberry Pi Zero W“, kurį prieš kurį laiką pardaviau, bet vis dar nenaudojamą sėdėjau ant savo stalo. Neigiama pusė yra ta, kad prototipų kūrimo metu, jei sugadinau bet kurią GPIO grandinę, tai buvo pigu ir lengva pakeisti bei toliau kurti prototipus. Neigiama yra tai, kad jis turi tik ARMv6 procesorių, todėl kai kurie dalykai, pvz., „Java“, nebus naudojami.
Kitas dalykas, kurį nusprendžiau padaryti, buvo sukurti savo grandinės papildomą plokštę, taigi, ar turėčiau pakeisti ar pakeisti savo „Pi“, jei pinouts yra tas pats, plokštė turėtų būti lengvai prijungta prie naujo „Pi“. Tikimės, kad tai sumažins žiurkių laidų lizdą.
Mano prielaidos tokios:
- Jums patogu lituoti
- Jūs jau žinote, kaip naudoti pagrindines „Raspberry Pi“terminalo komandas
- Jūs naudojate „Raspbian Buster“arba naujesnę versiją.
- Jūs turite tam tikrą sąsają su komandine eilute Pi; naudojant specialų monitorių, klaviatūrą ir tt IR/ARBA naudojant SSH.
- Esate susipažinęs su pagrindine elektros grandinės projektavimo koncepcija; pavyzdžiui, jūs žinote skirtumą tarp galios ir žemės ir suprantate trumpojo jungimo sąvoką. Jei savo namuose galite įdėti naują lizdą, turėtumėte sekti.
Prekės
Priklausomai nuo to, kiek esate atsidavęs šiam projektui, galite pradėti nuo to, ko reikia kiekviename žingsnyje, ir eiti iš ten. Daugelį šių dalių galima įsigyti vietinėje elektronikos parduotuvėje arba „pasidaryk pats“/„Maker“parduotuvėje, tačiau įtraukiau „Amazon“nuorodas, kad galėčiau patobulinti aprašymus.
- „MakerSpot RPi Raspberry Pi Zero W Protoboard“(norint padaryti galutinę „Pi“skrybėlę)
- 2 kanalų nuolatinės srovės 5 V relės modulis (gaukite 1 kanalą, jei turite vienas duris, 2-2 duris ir pan.)
- Viršutinių durų jungiklis, paprastai atidarytas (NE) (Jei šiuo metu tik kuriate prototipą ir norite pradėti naudoti pigius nendrinius jungiklius, tai gerai)
- Elektroninis pramogų rinkinys (jame buvo visi man reikalingi rezistoriai, duonos lenta ir maitinimo blokas, padedantis prototipui ir išbandyti bei išmokti prieš man darant nuolatinę plokštę). Jei visa tai jau turite, įsitikinkite, kad turite kelis 10K, 1K ir 330 omų rezistorius.
- „Breadboard“jungiamieji laidai (tinka bet kas)
- Lituoklis su mažu antgaliu
- Kanifolijos šerdis
- Lituoklio antgalių valiklis
- Atsarginis 9 V maitinimo šaltinis (maitinti duonos lentą)
- Pigios prototipų plokštės litavimo praktikai (neprivaloma)
- Veikiantis jūsų pasirinktas Raspberry Pi Zero arba Pi
- Raspberry Pi antraštės kaiščiai (jei ant jūsų antraštės dar nėra)
- Krovimo antraštės, skirtos naudoti HAT protoboard.
- Smulkios adatos replės
- Juvelyro atsuktuvų komplektas
- Maži šoniniai pjaustytuvai (vielai pjaustyti po litavimo)
- Pincetai
- Kai kurie mažo skersmens laidai (man labiau patinka kietas laidas), skirti naudoti protoboard
- Šiek tiek silikono (jei nuspręsite naudoti 1,8 mm ant paviršiaus montuojamus šviesos diodus, o ne tuos, kurie yra komplekte)
- Radau, kad padidinamoji lempa buvo labai naudinga norint pamatyti nedidelį litavimo darbą
1 žingsnis: „Raspberry Pi GPIO“įvadas
Pagrindinė sąsaja, kurią naudosime su „Raspberry Pi“, yra GPIO (bendrosios paskirties įvestis/išvestis).
Čia rasite tinkamą „Pi“kaiščių schemą. Ši instrukcija bus skirta „Pi Zero W v1.1“.
Mes naudosime tik žalius GPIO kaiščius, vengdami SDA, SCL, MOSI, MISO ir kt. (Aš sužinojau, kad kai kurie GPIO kaiščiai turi specialius tikslus, vienas iš prototipų kūrimo ant duonos lentos privalumų, todėl laikiausi GPIO smeigtukų 17 (kaištis #11), 27 (kaištis #13) ir 12 (#32), kokie jie buvo geroje padėtyje mano duonos lentai.
GPIO kaiščiai yra skirti veikti kaip skaitmeniniai (dvejetainiai) jungikliai; logiškai jie egzistuoja kaip viena iš dviejų būsenų: 1 arba nulis. Šios būsenos priklauso nuo to, ar kaištis tiekia ar gauna įtampą, viršijančią tam tikrą ribą (1), ar tiekia ar gauna įtampą, mažesnę už tam tikrą ribą. (Apie slenksčius kalbėsime vėliau.)
Svarbu pažymėti, kad nors „Raspberry Pi“gali tiekti tiek 5 V, tiek 3,3 V (3 V3), GPIO kaiščiai veikia naudojant iki 3,3 V. Be to, jūs sugadinsite GPIO ir galbūt visą valdiklį. (Štai kodėl mes gaminame prototipą ant duonos lentos ir naudojame pigiausią įmanomą Pi!)
Smeigtukų būseną galima valdyti naudojant programinę įrangą (išvestį) arba kitus įrenginius, tiekiančius būseną (įvestis).
Išbandykime tai naudodami keletą pagrindinių SYSFS komandų. Nesu tikras, ar tam reikia „WiringPi“, bet jei susidursite su problemomis, galbūt norėsite ją įdiegti, jei naudojate minimalų „Raspbian“vaizdą.
Pirmiausia suteiksime sau prieigą prie GPIO 17:
sudo echo "17">/sys/class/gpio/export
Dabar patikrinkime GPIO vertę:
sudo cat/sys/class/gpio/gpio17/value
Vertė turi būti lygi nuliui.
Šiuo metu GPIO nežino, ar jis yra įvestis, ar išėjimas. Jei bandysite manipuliuoti GPIO verte, gausite pranešimą „rašymo klaida: operacija neleidžiama“. Taigi tiesiog pasakykime kaiščiui, kad jis bus išvestas:
sudo echo "out">/sys/class/gpio/gpio17/direction
Ir dabar nustatykite vertę į 1:
sudo echo "1">/sys/class/gpio/gpio17/value
Dar kartą patikrinkite vertę, kad pamatytumėte… ir vertė turėtų būti 1.
Sveikiname, ką tik sukūrėte GPIO išvestį ir pakeitėte būseną!
Dabar yra šiek tiek daugiau, bet pirmiausia išmoksime dar keletą dalykų.
2 žingsnis: supraskite rezistorius
Taigi, Vikipedijoje galite ieškoti rezistorių, bet ką jie mums reiškia? Pirmiausia jie apsaugo mūsų komponentus.
Prisimeni, kai kalbėjome apie GPIO, kad jie veikia iki 3.3V? Tai reiškia, kad jei duosite GPIO kaištį daugiau, galėsite jį kepti. Kodėl tai svarbu? Kartais bet kurioje grandinėje yra nedidelių viršįtampių ir, jei didžiausia yra 3,3 V, bet koks mažas žagsėjimas gali sukelti problemų. Dirbti maksimalia įtampa yra rizikingas pasiūlymas.
Tai ypač pasakytina apie šviesos diodus. Šviesos diodas sunaudos tiek energijos, kiek gali. Galų gale šviesos diodas išdegs, tačiau dėl didelės srovės gali sunaudoti visą turimą grandinės galią ir sukelti gedimą.
Pavyzdžiui: kas nutiktų, jei šakutę įkišite į abu elektros lizdo kištukus? Yra mažai pasipriešinimo, ir jūs pūsite grandinės pertraukiklį. (Ir tikriausiai pakenksite sau.) Kodėl skrudintuvas to nepadaro? Kadangi jo kaitinimo elementai suteikia pasipriešinimą ir kaip toks neištraukia visos grandinės apkrovos.
Taigi, kaip neleisti, kad tai įvyktų su LED? Apribojant srovės kiekį, naudojamą šviesos diodui valdyti, naudojant rezistorių.
Bet kokio dydžio rezistorius? Taip, aš perskaičiau keletą internetinių straipsnių ir galiausiai apsigyvenau prie 330Ω rezistoriaus, kurio įtampa 3,3 V, su šviesos diodu. Galite perskaityti visus jų skaičiavimus ir išsiaiškinti patys, bet aš keletą išbandžiau ant duonos lentos ir 330 veikė puikiai. Viena mano patikrinta nuoroda buvo „Raspberry Pi“forumuose, tačiau „Google“paieška atras daug daugiau.
Panašiai Pi GPIO kaiščiams reikia apsaugos nuo viršįtampio. Prisimeni, kaip sakiau, kad jie naudoja iki 3.3V? Na, šiek tiek mažiau nepakenks. Daugelyje projektų naudojami 1KΩ rezistoriai, ir aš padariau tą patį. Vėlgi, jūs galite tai apskaičiuoti patys, tačiau tai yra labai populiarus pasirinkimas. Vėlgi, „Raspberry Pi“forumai pateikia tam tikros informacijos.
Jei to visiškai nesuprantate, skaitykite daugiau. Arba tiesiog vykdykite instrukcijas. Kas jums tinka.
Daugelis rezistorių yra pažymėti pakuotėje, bet kaip juos atskirti, kai juos pašalinsite? Mažos spalvotos juostelės ant rezistoriaus gali jums pasakyti.
Tada mes prijungsime paprastą šviesos diodą prie duonos lentos, kad galėtume pradėti.
3 žingsnis: šviesos diodo prijungimas
Pirmasis žingsnis yra prijungti šviesos diodą prie duonos lentos. Kai tai padarysime saugiai, prijungsime jį prie „Raspberry Pi“ir valdysime jį iš GPIO kaiščio.
Tikimės, kad jūsų duonos lentelė buvo su 3.3 V maitinimo šaltiniu. Jei ne, galite viską prijungti ir prijungti prie „Pi“.
Raskite šviesos diodą ir prijunkite jį prie duonos lentos, kaip parodyta, naudojant 330Ω rezistorių. Ilgesnė šviesos diodo kojelė yra anodas, trumpesnė - katodas. Anodas prijungiamas prie 3,3 V maitinimo šaltinio, o katodas vėl jungiasi prie žemės. Rezistorius gali būti prieš LED; Nesvarbu. Standartinės vielos spalvos yra šios:
- Raudona = 5V
- Oranžinė = 3.3V
- Juoda = žemė
Kai prijungsite tą duonos lentą ir maitinsite, šviesos diodas turėtų užsidegti. Tęskite, nebent tai padarysite.
4 veiksmas: šviesos diodo prijungimas prie GPIO
Taigi dabar mes turime veikiantį šviesos diodą su rezistoriumi. Dabar atėjo laikas prijungti tą šviesos diodą prie „Raspberry Pi“. Mūsų tikslas yra sukurti išvestinį GPIO ir prijungti tą GPIO prie šviesos diodo, kad kai įjungsime GPIO, šviesos diodas užsidegs. Priešingai, kai išjungiame GPIO, šviesos diodas išsijungs. (Tai vėliau bus naudojama kaip grandinė, kuri „paspaus“mygtuką, kad atidarytų garažo duris.)
Išjunkite maitinimą iš duonos lentos ir prijunkite „Pi“, kaip parodyta. (Geriausia tai padaryti, kai „Pi“taip pat yra išjungtas.) Mes prijungėme 3,3 V maitinimą iš GPIO 17 ir įžeminimą prie vieno iš įžeminimo kaiščių.
Dabar paleiskite „Pi“ir šviesos diodas turėtų būti išjungtas. Vykdykite tas pačias komandas, kurias atlikome anksčiau, kad nustatytumėte GPIO kaištį ir išvestumėte vertę:
sudo echo "17">/sys/class/gpio/export
sudo echo "out">/sys/class/gpio/gpio17/direction sudo cat/sys/class/gpio/gpio17/value
Vertė turėtų būti lygi nuliui.
Dabar įgalinkime GPIO:
sudo echo "1">/sys/class/gpio/gpio17/value
Tai turėtų įjungti šviesos diodą. Norėdami išjungti šviesos diodą, tiesiog išjunkite GPIO taip:
sudo echo "0">/sys/class/gpio/gpio17/value
Vienas iš dalykų, kurie GALI nutikti, yra tai, kad esant pakankamai trukdžių arba įjungus/išjungiant šviesos diodo šviesos diodus, galite pastebėti, kad šviesos diodas lieka šiek tiek šviečiantis. Tam yra priežastis, ir mes apie tai kalbėsime ateityje.
5 veiksmas: relės naudojimas šviesos diodui įjungti
Kaip minėta ankstesniame žingsnyje, šviesos diodas yra garažo durų „mygtuko“stovas. Tačiau nors GPIO gali maitinti mūsų šviesos diodą, jis negali „paspausti“mūsų garažo durų mygtuko. Mygtuko paspaudimas iš esmės tiesiog sujungia du mygtukų gnybtus ir iš tikrųjų atlieka mygtuko paspaudimą. Norint atlikti šį „paspaudimą“reikia relės.
Relė yra ne kas kita, kaip jungiklis, maitinamas kažkuo. Tokiu atveju mūsų „Raspberry Pi“gali pasakyti, kad relė „paspaudžia“garažo durų mygtuką. Mūsų prototipui „Raspberry Pi“lieps įjungti relę, kad įjungtų šviesos diodą … kad galėtume išbandyti savo grandinę.
Ką turime žinoti apie mūsų relę:
- Relė veikia esant 5 V įtampai. Tai yra tik relės veikimo galia ir nenaudojama jokioje kitoje grandinės dalyje.
- Mes norime prijungti savo relę kaip „paprastai atidarytą“. Tai reiškia, kad relė lieka atidaryta (neprijungia dviejų laidų arba „nespaudžia mygtuko“), kol ji suaktyvinama.
- Ši konkreti relė suaktyvinama, kai GPIO tiekia nulinę galią į relės 3.3V jungtį. Tiesą sakant, tai atrodo atgal. Kai tiekiama 3.3V, relė atleidžiama. Laikykitės mūsų projekto ir pamatysite, kaip tai veikia.
- Dvi relės gnybtų jungtys yra visiškai atskirtos nuo „Raspberry Pi“. Tai reiškia, kad laidą galite perjungti bet kokia nominalia srove, nes jis gauna srovę iš kito maitinimo šaltinio. Paprastas „Raspberry Pi“su 3,3 V ir 5 V gali iš tikrųjų valdyti relę, valdančią daug didesnę įtampą. Štai kaip mažas mygtukas jūsų prietaisų skydelyje gali paleisti jūsų didžiojo srovės stiprumo šildomas sėdynes.
Taigi pradėkime.
Pirmiausia iš naujo prijunkite (bet išjunkite) savo duonos lentos išorinį maitinimo bloką. Ši galia paleis LED grandinę, o „Raspberry Pi“valdo relę.
Tada sukurkite pertrauką 3,3 V linijoje, maitinančioje šviesos diodą. (Su jungikliais ir relėmis visada norime perjungti „karštą“, o ne žemę.) Diagramoje jie nurodyti oranžine ir mėlyna spalvomis.
Prijunkite „Raspberry Pi“, kaip parodyta, naudodami 5 V maitinimo relę, 3,3 V, veikiančią kaip jungiklį, ir žemę, grįžtančią į „Raspberry Pi“. Šiame pavyzdyje aš prijungiau 3.3V prie GPIO 17. Rekomenduoju prijungti 1KΩ rezistorių prie GPIO laido, kaip parodyta, kad apsaugotumėte GPIO nuo problemų. (Tai buvo paminėta žingsnyje Rezistoriai.)
Įjunkite duonos lentą ir dabar įjunkite „Pi“. Šviesos diodas turi užsidegti.
Dabar paleiskite šias komandas „Pi“:
sudo echo "17">/sys/class/gpio/export
sudo echo "out">/sys/class/gpio/gpio17/direction sudo cat/sys/class/gpio/gpio17/value
Vertė turi būti lygi nuliui.
Dabar įgalinkime GPIO:
sudo echo "1">/sys/class/gpio/gpio17/value
Tai turėtų išjungti šviesos diodą.
6 žingsnis: įtraukimo rezistoriaus pridėjimas
Šiuo metu visi jūsų daiktai turėtų veikti. Tačiau yra vienas dalykas, apie kurį mes nekalbėjome apie GPIO, tai yra „plaukiojanti“įtampa, kuri yra įmanoma, atsižvelgiant į anksčiau minėtą slenkstį.
Nors GPIO paprastai turi dvi logines būsenas (1 ir nulis), jis nustato šias būsenas pagal tai, ar jo įtampa yra didesnė ar mažesnė už įtampos slenkstį, kaip minėjome GPIO skyriuje. Tačiau daugumos GPIO problema yra „plaukiojančios“įtampos galimybė; „Raspberry Pi“atveju - kažkur tarp nulio ir 3,3 V. Tai gali atsirasti dėl trukdžių arba dėl įtampos padidėjimo/kritimo visoje grandinėje.
Mes nenorime, kad mūsų situacija, kai mūsų garažo durų mygtuko relė gali tiesiog įsijungti nuo kintamos įtampos. Tiesą sakant, norime, kad jis suaktyvėtų tik tada, kai liepiame.
Tokios situacijos išsprendžiamos naudojant ištraukiamus ir nuleidžiamus rezistorius, kad būtų įtvirtinta tam tikra įtampa ir išvengta kintančios įtampos. Mūsų atveju norime įsitikinti, kad tiekiama įtampa, kad relė neįsijungtų. Taigi mums reikia traukimo rezistoriaus, kad įtampa pakiltų virš slenksčio. (Slenksčiai yra juokingi dalykai … Bandžiau apie juos skaityti ir išsiaiškinti, ar jie buvo gerai apibrėžti, ar gavau daug informacijos, kuri buvo per galvą, o kai kurie atrodė pernelyg paprasti. Pakanka pasakyti, kad su multimetru tai matė įtampa buvo mažesnė nei 3,3 V, bet kadangi viskas veikė taip, kaip aš sukūriau prototipą, aš tik persikėliau į priekį. Jūsų rida gali skirtis, todėl prieš lituodami savo galutinį produktą, mes tai darome.)
Žinoma, „Raspberry Pi“turi ir vidinius traukimo, ir ištraukimo rezistorius, kuriuos galite nustatyti kodu arba įkrovos metu. Tačiau jis yra labai jautrus trikdžiams. Nors juos galima naudoti, nes mes jau dirbame su rezistoriais grandinėje, gali būti verta stabilumo naudoti išorinį.
Dar svarbiau, kad tai sukuria prisitraukimą ir prideda pakankamai įtampos, kad GPIO kaiščio būsena pagal numatytuosius nustatymus būtų 1 prieš pradedant Pi. Prisiminkite, kaip mūsų relė įjungė šviesos diodą, kai pirmą kartą inicijavome Pi, kol jį išjungėme? Naudojant ištraukimą, relė neįsijungia paleidžiant, nes relės 3.3V įėjimas gauna įtampą tuo pačiu metu, kai 5V įėjimas gauna įtampą. Mes taip pat galėtume tai padaryti Pi konfigūracijoje, jei norime, bet vėlgi, kadangi vis tiek laidus jungiame su rezistoriais, atrodo, kad jis yra mažiau pažeidžiamas dėl operacinės sistemos atnaujinimų ir paskirstymo.
Skirtingoms konfigūracijoms gali prireikti skirtingų rezistorių, tačiau 10 kΩ rezistorius dirbo su mano turima relė. Įkrovimo metu mano relės šviesos diodas buvo labai silpnas, tačiau pritraukimas suteikė pakankamai įtampos, kad būtų išvengta relės įjungimo.
Pridėkime traukimo varžą prie savo grandinės. Duonos lentos diagramoje pridėjau 10 kΩ rezistorių tarp relės 3,3 V įvesties ir 3,3 V šaltinio.
Dabar mes turime grandinę, tinkamą garažo durų mygtuko „paspaudimui“; LED ir 330Ω rezistorių pakeisti paprastais mygtukų laidais turėtų būti paprasta.
7 žingsnis: Reed jungiklio jutiklis
Puiku, mes žinome, kaip atrodo mūsų grandinė, norint suaktyvinti garažo durų atidarytuvą. Tačiau ar nebūtų malonu žinoti, ar garažo durys uždarytos, ar jos atidarytos? Norėdami tai padaryti, jums reikia bent vieno nendrinio jungiklio. Kai kurie projektai rekomenduoja du, tačiau jie abu naudos tą patį grandinės dizainą.
Mes naudojame „paprastai atidarytą“(NO) nendrinio jungiklio konfigūraciją. Tai reiškia, kad mūsų grandinė yra atvira, kol nendrių jungiklis yra arti magneto, kuris uždarys grandinę ir leis tekėti elektros energijai.
Pagrindiniai jutiklio ir relės sąrankos skirtumai yra šie:
- Prie jutiklio prijungtas GPIO aptiks galią, todėl tai bus įvesties GPIO (o relė naudojo išvesties GPIO, tiekiančią įtampą)
- Kadangi numatytoji būsena egzistuoja kaip įprastai atidaryta, tai reiškia, kad mūsų grandinė nebus aktyvi. Taigi GPIO būsena turėtų būti 0. Priešingai nei relės grandinės traukimo rezistoriaus koncepcija, norėsime įsitikinti, kad mūsų įtampa yra žemiau slenksčio, kai grandinė yra atidaryta. Tam reikės ištraukiamojo rezistoriaus. Tai iš esmės yra tas pats, kas traukimas, bet prijungtas prie žemės, o ne prie elektros.
Panašiai kaip relės grandinė, mes prijungsime daiktus prie duonos lentos, prieš prijungdami ją prie „Pi“.
Naudokime maitinamą duonos lentą ir prijunkime šviesos diodą, 330Ω rezistorių ir įžeminimo laidą. Tada prijunkite 3.3V prie vienos nendrinio jungiklio pusės ir trumpiklį iš kitos nendrinio jungiklio pusės prie šviesos diodo. (Jei turite nendrių jungiklį, kuris palaiko NO ir NC, naudokite NO padėtį.) Perkelkite magnetą toliau nuo nendrinio jungiklio ir įjunkite maitinimo plokštės maitinimą. Šviesos diodas turėtų likti išjungtas. Perkelkite magnetą link nendrinio jungiklio ir šviesos diodas turėtų užsidegti. Jei veikia priešingai, turite prijungti prie NC (paprastai uždarytas)
8 žingsnis: „Reed“jungiklio prijungimas prie „Pi“
Taigi dabar, kai grandinė veikia be „Pi“, galime pašalinti maitinimą iš duonos lentos ir prijungsime „Pi“.
Vėl naudosime GPIO17, nes jau žinome, kur jis yra.
Panašiai kaip relės grandinė, mes ketiname apsaugoti GPIO kaištį 1KΩ rezistoriumi; tačiau mes naudosime 10 kΩ rezistorių į žemę, kad sukurtume ištraukimą.
Sujungę viską, perkelkime magnetą nuo nendrinio jungiklio, paleiskite P, i ir pateksime į komandinę eilutę ir inicijuosime GPIO, pažymėdami, kad šį kartą mes kuriame įvesties GPIO:
sudo echo "17">/sys/class/gpio/export
sudo echo "in">/sys/class/gpio/gpio17/direction sudo cat/sys/class/gpio/gpio17/value
Vertė turi būti lygi nuliui. Perkelkite magnetą į nendrinį jungiklį. LED lemputė turėtų užsidegti, o vertė yra 1.
Voila! Mes prijungėme nendrių jungiklį prie „Pi“!
9 veiksmas: nuolatinio sprendimo kūrimas prototipų lentoje
Dabar, kai žinome, kaip turėtų atrodyti mūsų grandinės, atėjo laikas lituoti prototipų plokštėje nuolatinę versiją. Kadangi naudoju „Pi Zero W“, aš gavau mažas proto plokštes.
Maniau, kad būtų gerai naudoti „Zero“formatą ir sudėti vieną ar kelias plokštes, papildomą modulį, kurį „Raspberry Pi“vadina HAT (aparatinė įranga pritvirtinta viršuje). Na, techniškai, nes jis neturi jokio EEPROM tipo ir pats neužsiregistruoja, tai nėra HAT, bet aš turiu tai kažkaip pavadinti. Tačiau formatas gražiai pritvirtinamas ir pašalina žiurkių lizdą, todėl tai malonu.
Iššūkis yra tas, kad proto plokštės yra savotiškai mažos, todėl ant jų netelpa daug. Be to, nė viena skylė nėra sujungta eilėmis, kaip didesnės protinės plokštės. Nors tai gali atrodyti nepatogu, tai iš tikrųjų yra gelbėjimas.
Aš galvojau, kad galiu sukurti skrybėlę kiekvienam garažo vartui, kurį norėjau valdyti. Tokiu būdu galite išplėsti šį projektą pagal savo poreikius.
Proto lentoje radau, kad buvo pakankamai vietos trims grandinėms sukurti:
- relės grandinė
- jutiklio grandinė
- antroji jutiklio grandinė
Tai puikiai tinka bet kokiam garažo durų projektui.
Taigi aš padariau jutikliams GPIO17 ir 27, o relėms - GPIO12. Tikrai gražus šios protinės plokštės dalykas yra tas, kad galite prijungti prie GPIO, net nepaliesdami antraštės. Bet taip, be rezistorių (ir, pasirinktinai, šviesos diodų), turėsite lituoti kaupimo antraštę.
Aš beveik iš naujo sukūriau grandines, kurių prototipus sukūrėme lentoje. Galite pasakyti, kad mano litavimas nėra tobulas, bet vis tiek veikia. (Kitos lentos bus geresnės, nes aš praktikavausi.) Turiu „Aoyue 469“ir tik per plauką virš 4 nustatymo buvo geriausia temperatūra, remiantis GPIO antraštės litavimo rekomendacijomis.
Aš naudoju išorines prijungtas eilutes žemei, o vidines - 3.3 V. Ir aš panaudojau rezistoriaus laidą kaip tiltą, nes neturėjome sujungtų eilučių. Likusi dalis yra įstrižainė ir į šoną, nes tai buvo geriausias būdas rasti juos ant lentos.
Iš L-R (žiūrint į priekį, rezistoriaus pusę), mano pridėtos išvesties kaiščiai yra skirti jutiklio GPIO vielai, antrojo jutiklio GPIO vielai ir relės GPIO vielai. Vietoj laidų prijungimo prie GPIO, ką galėtume padaryti iš antraštės, šie kaiščiai jungiasi prie visų mūsų rezistorių, o jutiklių atveju pridėjau „microLED“. (Atkreipkite dėmesį, kaip šviesos diodas yra visiškai atskirame cikle, taigi, jei jis perdega, grandinė vis tiek veikia.)
Pridedamas „Fritzing“failas, tačiau kadangi „Instructables“kyla problemų dėl failų įkėlimo, norėdamas jį įterpti, turėjau suteikti jam klaidingą „txt“plėtinį.
10 žingsnis: nuorodos
„Raspberry Pi“garažo durų atidarymo projektas (įkvėpimas)
„Idiot“vadovas „Raspberry Pi“garažo durų atidarytuvui
„iPhone“arba „Android“garažo durų atidarytuvas
Ar turėčiau naudoti rezistorių, ar ne?
„Pullup“ir „Pulldown“rezistorių naudojimas „Raspberry Pi“
SSH nustatymas
„Raspberry Pi Pin“diagramos.
SYSFS komandos
„WiringPi“
Rezistoriai ir šviesos diodai
Apsauga (sic) GPIO kaiščiai
Rezistoriaus spalvų kodo skaičiuoklė ir diagrama
Pritraukiami ir nuleidžiami rezistoriai
GPIO įtampos slenksčiai
GPIO įvesties įtampos lygiai
GPIO valdymas faile config.txt
„GPIO Pull Up Resisance“(sic)
Kodėl mums reikalingi išoriniai traukimo rezistoriai, kai mikrovaldikliai turi vidinius traukimo rezistorius?
Kas yra Raspberry Pi HAT?
Kaip lituoti „Raspberry Pi Zero W GPIO“jungtį