Raspberry Pi Zero Garage Door Open Hardware: 10 hapa
Raspberry Pi Zero Garage Door Open Hardware: 10 hapa
Anonim
Hardware për Raspberry Pi Zero Garage Door Opener
Hardware për Raspberry Pi Zero Garage Door Opener

Një nga frymëzimet për këtë projekt ishte udhëzimi i shkëlqyeshëm në Raspberry Pi 3 Garage Door Opener, së bashku me disa të tjerë të gjetur në internet. Duke mos qenë një person elektronik i sprovuar, bëra shumë kërkime shtesë mbi mënyrat e ndërlidhjes me Raspberry Pi dhe mësova shumë për rëndësinë e rezistorëve me llamba LED dhe me të gjitha instalimet GPIO. Mësova gjithashtu për përfitimet e qarqeve harduerike tërheqëse dhe tërheqëse kundrejt funksionimit të integruar Pi.

Meqenëse ky projekt i derës së garazhit është me të vërtetë një proces shumëpjesësh që përfshin pajisje Pi, softuer dhe instalim me hapësin (at) e dyerve të garazhit, mendova se së pari do të përqendrohesha në pajisjen Pi, pasi është e nevojshme për çdo hap tjetër.

Qasja ime është të jem shumë themelore, duke vepruar si një përmbledhje e mësimit që kam bërë për të qenë në gjendje të përfundoj pajisjen. Do të fillojë me disa informacione, dhe më pas do të ndërtojmë qarqe në një dërrasë buke. Çdo hap do të përsosë modelin dhe njohuritë tona, duke kulmuar në ndërtimin e një zgjidhjeje të përhershme harduerike për të ndërlidhur Pi me sensorë stafetë dhe kallami.

Për më tepër, ndryshe nga disa projekte të tjera, vendosa të përdor një Raspberry Pi Zero W, të cilën e mora në shitje disa kohë më parë, por ende isha ulur e papërdorur në tryezën time. Përparësia është se, ndërsa prototipizoja, nëse dëmtoja ndonjë nga qarqet GPIO ishte e lirë dhe e lehtë për t'u zëvendësuar dhe mbajtur prototipin. Ana negative është se ai ka vetëm një procesor ARMv6 kështu që disa gjëra, si Java, nuk do të jenë të përdorshme.

Gjëja tjetër që vendosa të bëja ishte të krijoja bordin tim shtesë për qarkun, kështu që a duhet të ndryshoj ose zëvendësoj Pi tim, përderisa pinoutet janë të njëjta, bordi duhet të lidhet lehtësisht në Pi të ri Me Kjo me shpresë do të minimizojë folenë e lidhjes së minjve.

Supozimet e mia janë:

  • Ju jeni të rehatshëm për të bashkuar
  • Ju tashmë e dini se si të përdorni komandat bazë të terminalit në Raspberry Pi
  • Po përdorni Raspbian Buster ose më të ri.
  • Ju keni një ndërfaqe në vijën e komandës Pi; ose me një monitor të dedikuar, tastierë, etj DHE/ose duke përdorur SSH.
  • Ju jeni njohur me konceptin bazë të projektimit të qarkut elektrik; për shembull, ju e dini ndryshimin midis fuqisë dhe tokës dhe e kuptoni konceptin e një qarku të shkurtër. Nëse mund të vendosni një prizë të re në shtëpinë tuaj, duhet të jeni në gjendje ta ndiqni.

Furnizimet

Në varësi të asaj se sa i përkushtuar jeni në këtë projekt, mund të filloni me gjërat e nevojshme në çdo hap dhe të largoheni prej andej. Shumë nga këto pjesë janë në dispozicion në dyqanin tuaj elektronik lokal ose DIY/Maker, por unë kam përfshirë lidhjet e Amazon për të përmirësuar përshkrimet.

  • MakerSpot RPi Raspberry Pi Zero W Protoboard (për të bërë HAT -in përfundimtar për Pi)
  • Moduli i stafetës me 2 kanale DC 5V (merrni një kanal nëse keni një derë, 2 për 2 dyer, etj.)
  • Ndërprerës i dyerve të sipërme, Normalisht i Hapur (JO) (Nëse në këtë kohë thjesht po prototipizoni dhe dëshironi të përdorni disa çelsa të lirë kallami për të filluar, është mirë)
  • Paketa Elektronike e Fun Kit (kjo përmbante të gjithë rezistorët që më duheshin, plus një tabelë dhe njësi energjie për të ndihmuar prototipin dhe testimin dhe mësimin para se të bëja tabelën e përhershme). Nëse i keni të gjitha këto tashmë, sigurohuni që keni në dispozicion disa rezistorë 10K, 1K dhe 330 ohm.
  • Telat Jumper Breadboard (çdo gjë do të bëjë)
  • Hekur bashkues me majë të vogël
  • Lidhës me bërthamë me kolofon
  • Pastrues maje hekuri për saldim
  • Furnizimi me energji rezervë 9v (për të fuqizuar bordin e bukës)
  • Pllaka të lira prototipi për praktikën e saldimit (opsionale)
  • Funksionimi i Raspberry Pi Zero ose Pi sipas zgjedhjes tuaj
  • Kunjat e kokës për Raspberry Pi (nëse e juaja nuk e ka kokën tashmë në të)
  • Stivimi i titujve për përdorim në protoboard HAT.
  • Pincë hunde të vogla me gjilpërë
  • Komplet kaçavidash argjendarie
  • Prerës të vegjël anësorë (për prerjen e telit pas bashkimit)
  • Piskatore
  • Disa tela me madhësi të vogël (preferoj bërthamën e ngurtë) për përdorim në protoboard
  • Pak silikon (nëse zgjidhni të përdorni LED me LED në sipërfaqe 1.8 mm në vend të atyre të dhëna në paketën e kompletit)
  • Kam gjetur se një llambë zmadhuese ishte shumë e dobishme për të parë punën e vogël të saldimit

Hapi 1: Hyrje në Raspberry Pi GPIO

Ndërfaqja kryesore që do të përdorim me Raspberry Pi është GPIO (Input/Output për Qëllim të Përgjithshëm).

Gjeni diagramin tuaj të duhur pin për Pi tuaj këtu. Ky udhëzues do të përqëndrohet në Pi Zero W v1.1.

Ne do të përdorim vetëm kunjat e gjelbra GPIO, duke shmangur kunjat SDA, SCL, MOSI, MISO, etj. (Zbulova se disa kunja GPIO kanë qëllime të veçanta, një nga përfitimet e prototipimit në një dërrasë buke, kështu që unë u qëndrova te kunjat GPIO 17 (pin #11), 27 (pin #13) dhe 12 (#32) siç ishin në pozicione të mira për tryezën time të bukës.

Kunjat GPIO janë krijuar për të funksionuar si ndërprerës dixhital (binar); ato ekzistojnë logjikisht si një nga dy gjendjet: 1 ose zero. Këto gjendje varen nga fakti nëse pin siguron ose merr tension mbi një prag të caktuar (1) ose furnizon ose merr tension nën një prag të caktuar. (Ne do të flasim për pragjet më vonë.)

Importantshtë e rëndësishme të theksohet se, ndërsa Raspberry Pi mund të furnizojë si 5V ashtu edhe 3.3V (3V3), kunjat GPIO funksionojnë duke përdorur deri në 3.3V. Më shumë se kaq dhe ju dëmtoni GPIO -n dhe ndoshta të gjithë kontrolluesin. (Kjo është arsyeja pse ne prototipojmë në një dërrasë buke dhe përdorim Pi më të lirë të mundshëm!)

Gjendja e kunjave mund të manipulohet ose nga softueri (dalja) ose nga pajisjet e tjera që ushqehen në gjendje (hyrje).

Le t'i japim kësaj një goditje duke përdorur disa komanda bazë SYSFS. Nuk jam i sigurt nëse kjo kërkon WiringPi, por nëse hasni në probleme mund të dëshironi ta instaloni nëse përdorni imazhin minimal Raspbian.

Së pari, le t'i japim vetes qasje në GPIO 17:

sudo jehonë "17">/sys/class/gpio/eksport

Tani le të kontrollojmë vlerën e GPIO:

sudo cat/sys/class/gpio/gpio17/vlera

Vlera duhet të jetë zero.

Në këtë pikë, GPIO nuk e di nëse është hyrje apo dalje. Si e tillë, nëse përpiqeni të manipuloni vlerën GPIO, do të merrni "gabim në shkrim: Operacioni nuk lejohet". Pra, le t'i themi vetëm pinit se është dalje:

sudo jehonë "jashtë">/sys/class/gpio/gpio17/drejtim

Dhe tani vendosni vlerën në 1:

sudo jehonë "1">/sys/class/gpio/gpio17/vlerë

Kontrolloni sërish vlerën për të parë… dhe vlera duhet të jetë 1.

Urime, ju sapo keni krijuar një GPIO dalëse dhe keni ndryshuar gjendjen!

Tani, ka pak më shumë për të, por le të mësojmë disa gjëra më parë.

Hapi 2: Kuptimi i Rezistencave

Pra, ju mund të kërkoni rezistenca në Wikipedia, por çfarë kuptimi kanë për ne? Kryesisht ato mbrojnë përbërësit tanë.

E mbani mend kur folëm për GPIO -të që ato funksionojnë deri në 3.3V? Ajo që do të thotë është se nëse i jepni një kunj GPIO më shumë se kaq, mund ta skuqni. Pse është e rëndësishme kjo? Ndonjëherë ka ngritje të vogla në çdo qark dhe nëse maksimumi është 3.3V, çdo lemzë e vogël mund të shkaktojë probleme. Puna në tensionin maksimal është një propozim i rrezikshëm.

Kjo është veçanërisht e vërtetë për LED. Një LED do të tërheqë sa më shumë energji që mundet. Përfundimisht LED do të digjet, por tërheqja e konsiderueshme aktuale mund të përdorë të gjithë fuqinë në dispozicion në një qark, duke shkaktuar mosfunksionim.

Për shembull: çfarë do të ndodhte nëse vendosni një pirun në të dy prizat e një prize elektrike? Ka pak ose aspak rezistencë, dhe ju do të fryni ndërprerësin. (Dhe ndoshta lëndoni veten gjatë procesit.) Pse thotë dolli nuk e bën këtë? Sepse elementët e tij të ngrohjes japin rezistencë, dhe si të tillë nuk tërheq të gjithë ngarkesën e qarkut.

Pra, si ta parandalojmë që kjo të mos ndodhë me një LED? Duke kufizuar sasinë e rrymës së përdorur për të drejtuar LED duke përdorur një rezistencë.

Por çfarë madhësie të rezistencës? Po, lexova disa artikuj në internet dhe më në fund u vendosa në një rezistencë 330Ω për 3.3V me një LED. Ju mund të lexoni të gjitha llogaritjet e tyre dhe ta kuptoni vetë, por unë testova disa në një dërrasë buke dhe 330 funksionoi mirë. Një referencë që kontrollova ishte në forumet e Raspberry Pi, por një kërkim në Google do të zbulojë shumë më tepër.

Po kështu, kunjat Pi GPIO kanë nevojë për mbrojtje nga mbitensioni. Mos harroni se si thashë që ata përdorin Deri në 3.3V? Epo, pak më pak nuk do të dëmtojë. Shumica e projekteve përdorin rezistencë 1KΩ dhe unë bëra të njëjtën gjë. Përsëri, ju mund ta llogaritni këtë vetë, por kjo është një zgjedhje shumë e popullarizuar. Përsëri, forumet e Raspberry Pi japin disa informacione.

Nëse nuk e kuptoni plotësisht këtë, lexoni më shumë. Ose thjesht ndiqni udhëzimet. Cilado që punon për ju.

Shumë rezistencë janë të etiketuar në paketim, por pasi t’i hiqni, si mund t’i dalloni? Shiritat e vegjël me ngjyrë në rezistencë mund t'ju tregojnë.

Tjetra, ne do të lidhim një LED të thjeshtë në një pjatë me fuqi për të filluar gjërat.

Hapi 3: Instalimi i një LED

Instalimi i një LED
Instalimi i një LED

Hapi i parë është të lidhni një LED në dërrasën e bukës. Pasi ta marrim atë të funksionojë në mënyrë të sigurt, ne do ta lidhim atë me Raspberry Pi dhe do ta kontrollojmë atë nga kunja GPIO.

Shpresojmë që bordi juaj i bukës të ketë një burim energjie për 3.3v. Nëse jo, mund të lidhni gjithçka dhe ta lidhni direkt me Pi.

Gjeni një LED dhe lidheni me tabelën e bukës siç tregohet duke përdorur një rezistencë 330Ω. Këmba më e gjatë e LED është anoda, këmba më e shkurtër është katoda. Anoda lidhet me fuqinë 3.3V ndërsa katoda lidhet përsëri me tokën. Rezistenca mund të jetë ose para LED; nuk ka rëndësi. Ngjyrat standarde të telit janë:

  • E kuqe = 5V
  • Portokalli = 3.3V
  • E zezë = tokë

Pasi ta keni atë panelin e bukës të lidhur dhe të furnizoni me energji, LED duhet të ndizet. Mos vazhdoni nëse nuk e punoni këtë.

Hapi 4: Lidhja e LED me GPIO

Lidhja e LED me GPIO
Lidhja e LED me GPIO

Pra, tani ne kemi një LED pune me një rezistencë. Tani është koha për ta lidhur atë LED me Raspberry Pi. Qëllimi ynë është të krijojmë një GPIO dalëse dhe ta lidhim atë GPIO me LED në mënyrë që kur ta aktivizojmë GPIO, LED të ndizet. Anasjelltas, kur Çaktivizojmë GPIO, LED do të fiket. (Kjo do të përdoret më vonë si qark që do të "shtypë" butonin për të hapur derën e garazhit.)

Hiqeni fuqinë nga dërrasa e bukës dhe lidhni Pi siç tregohet. (Bestshtë më mirë ta bëni këtë ndërsa Pi është gjithashtu i fikur.) Ne kemi lidhur furnizimin me 3.3V nga GPIO 17 dhe tokën në një nga kunjat e tokës.

Tani nisni Pi dhe LED duhet të jenë të fikur. Ekzekutoni të njëjtat komanda që bëmë më parë për të vendosur pinin GPIO dhe për të nxjerrë vlerën:

sudo jehonë "17">/sys/class/gpio/eksport

sudo echo "out">/sys/class/gpio/gpio17/drejtim sudo cat/sys/class/gpio/gpio17/vlera

Vlera duhet të jetë zero.

Tani le të aktivizojmë GPIO:

sudo jehonë "1">/sys/class/gpio/gpio17/vlerë

Kjo duhet të ndizet LED. Për të fikur LED, thjesht çaktivizoni GPIO si më poshtë:

sudo jehonë "0">/sys/class/gpio/gpio17/vlerë

Një nga gjërat që mund të ndodhë është se, me ndërhyrje të mjaftueshme ose cikle të ndezjes/fikjes së LED, ju mund të vini re se LED mbetet pak i ndezur. Ka një arsye për këtë, dhe ne do të flasim për këtë në një hap të ardhshëm.

Hapi 5: Përdorimi i një stafete për të drejtuar LED

Përdorimi i një stafetë për të drejtuar LED
Përdorimi i një stafetë për të drejtuar LED

Siç u tha në hapin e mëparshëm, LED është një stand-in për "butonin" e derës së garazhit. Sidoqoftë, ndërsa GPIO mund të ndezë LED -in tonë, ai nuk mund të "shtypë" butonin e derës së garazhit tonë. Një shtypje butoni në thelb lidh vetëm dy terminalet e butonave, në fakt duke kryer një shtypje butoni. Ajo që ju nevojitet për të kryer këtë "shtyp" është një stafetë.

Një stafetë nuk është asgjë më shumë se një ndërprerës i mundësuar nga diçka. Në këtë rast, Raspberry Pi ynë mund t'i thotë stafetës të "shtypë" butonin e derës së garazhit. Për prototipin tonë, Raspberry Pi do t'i thotë stafetës të ndezë LED … vetëm në mënyrë që të testojmë qarkun tonë.

Çfarë duhet të dimë për stafetën tonë:

  • Stafeta funksionon në 5V. Kjo është fuqia vetëm për të përdorur stafetën dhe nuk përdoret në asnjë pjesë tjetër të qarkut.
  • Ne duam ta lidhim stafetën tonë si "normalisht të hapur". Kjo do të thotë që stafeta mbetet e hapur (duke mos lidhur dy tela, ose "shtypur butonin", derisa të aktivizohet.
  • Ky staf i veçantë aktivizohet kur GPIO furnizon energji zero në lidhësin 3.3V të stafetës. Në të vërtetë, kjo duket e prapambetur. Kur furnizohet 3.3V, stafeta lëshohet. Qëndroni me ne në këtë projekt dhe do të shihni se si funksionon.
  • Dy lidhjet e terminalit të stafetës janë plotësisht të ndara nga Raspberry Pi. Çfarë do të thotë kjo është se ju mund të ndërroni një tel me çdo rrymë të vlerësuar sepse merr rrymën e tij nga një burim tjetër energjie. Raspberry Pi e vogël e thjeshtë me 3.3V dhe 5V me të vërtetë mund të funksionojë një stafetë që kontrollon tension shumë më të madh. Kjo është mënyra se si një buton i vogël i vogël në pultin tuaj mund të drejtojë karrigen tuaj të madhe të tërhequr me ndezje të vendeve.

Pra, le të fillojmë.

Së pari, lidhni përsëri (por fikni) njësinë e jashtme të energjisë për tabelën tuaj të bukës. Kjo fuqi do të drejtojë qarkun LED, ndërsa Raspberry Pi kontrollon stafetën.

Tjetra, krijoni një ndërprerje në linjën 3.3V që aktivizon LED. (Me ndërprerës dhe stafetë, ne gjithmonë duam të kalojmë "të nxehtë", jo tokën.) Këto tregohen në portokalli dhe blu në diagram.

Lidhni Raspberry Pi siç tregohet me 5V që fuqizon stafetën, 3.3V vepron si ndërprerës dhe toka kthehet në Raspberry Pi. Në këtë shembull unë kam lidhur 3.3V me GPIO 17. Unë rekomandoj lidhjen e një rezistence 1KΩ me tela GPIO siç tregohet, për të mbrojtur GPIO nga problemet. (Kjo u përmend në hapin e Rezistencave.)

Ndizni tryezën e bukës dhe tani aktivizoni Pi -në tuaj. LED duhet të ndizet.

Tani ekzekutoni komandat e mëposhtme në Pi:

sudo jehonë "17">/sys/class/gpio/eksport

sudo echo "out">/sys/class/gpio/gpio17/drejtim sudo cat/sys/class/gpio/gpio17/vlera

Vlera duhet të jetë zero.

Tani le të aktivizojmë GPIO:

sudo jehonë "1">/sys/class/gpio/gpio17/vlerë

Kjo duhet të fikë LED -in.

Hapi 6: Shtimi i një rezistence tërheqëse

Shtimi i një rezistence tërheqëse
Shtimi i një rezistence tërheqëse

Në këtë pikë, të gjitha gjërat tuaja duhet të funksionojnë. Por ka një gjë që ne nuk e kemi diskutuar në lidhje me GPIO -të, dhe kjo është tensioni "lundrues" që është i mundur bazuar në pragun që përmendëm më parë.

Ndërsa GPIO -të në përgjithësi kanë dy gjendje logjike (1 dhe zero), ai i përcakton këto gjendje bazuar në faktin nëse ka tension mbi ose nën pragun e tensionit, siç e përmendëm në pjesën GPIO. Por problemi në shumicën e GPIO -ve është mundësia e një tensioni "lundrues"; në rastin e Raspberry Pi, diku midis zero dhe 3.3V. Kjo mund të ndodhë nga ndërhyrja ose nga ngritja/rënia e tensionit në një qark.

Ne nuk duam një situatë ku stafeta jonë e butonit të derës së garazhit mund të aktivizohet vetëm nga tensioni lundrues. Në të vërtetë, ne duam që ajo të aktivizohet vetëm kur i themi.

Situatat si kjo zgjidhen duke përdorur rezistorë tërheqës dhe tërheqës për të zbatuar një tension të veçantë dhe për të shmangur tensionin lundrues. Në rastin tonë, ne duam të sigurohemi që të furnizojmë tension për të parandaluar aktivizimin e stafetës. Pra, ne kemi nevojë për një rezistencë tërheqëse për të ngritur tensionin mbi pragun. (Pragjet janë gjëra qesharake … Unë u përpoqa të lexoja për to dhe të shihja nëse ato ishin të përcaktuara mirë dhe mora shumë informacione që ishin mbi kokën time, dhe disa që dukeshin tepër të thjeshta. Mjafton të them se me një multimetër unë mund ta shihja atë tensioni ishte më i ulët se 3.3V, por meqenëse gjithçka funksionoi ashtu siç e kam prototipizuar, unë vetëm eca përpara. Kilometrat tuaj mund të ndryshojnë, dhe kjo është arsyeja pse ne e bëjmë këtë para se të bashkojmë produktin tonë përfundimtar.)

Sigurisht, Raspberry Pi ka rezistencë tërheqëse dhe tërheqëse të brendshme, të cilat mund t'i vendosni në kod ose gjatë nisjes. Sidoqoftë, është shumë e ndjeshme ndaj ndërhyrjeve. Ndërsa është e mundur t'i përdorim ato, pasi ne tashmë jemi duke punuar me rezistorë në një qark, mund të jetë e vlefshme stabiliteti për të përdorur pjesën e jashtme.

Më e rëndësishmja, kjo krijon tërheqjen dhe shton tension të mjaftueshëm që gjendja e kunjit GPIO të jetë e paracaktuar në 1 para fillimit të Pi. Mos harroni se si stafeta jonë e aktivizuar LED u ndez kur filluam për herë të parë Pi derisa ta fikim? Përdorimi i tërheqjes parandalon që stafeta të aktivizohet gjatë fillimit sepse hyrja e stafetës 3.3V merr tension në të njëjtën kohë hyrja 5V merr tension. Ne gjithashtu mund ta bëjmë këtë në konfigurimin Pi nëse duam, por përsëri, meqë gjithsesi ne po lidhim me rezistorë, duket më pak e prekshme ndaj azhurnimeve dhe shpërndarjeve të sistemit operativ.

Konfigurime të ndryshme mund të kenë nevojë për rezistorë të ndryshëm, por një rezistencë 10kΩ funksionoi me stafetën që kisha. LED në stafetën time ishte shumë e zbehtë gjatë fillimit, por tërheqja siguroi tension të mjaftueshëm për të parandaluar aktivizimin e stafetës.

Le të shtojmë një rezistencë tërheqëse në qarkun tonë. Në diagramin e bukës, shtova një rezistencë 10kΩ midis hyrjes 3.3V në stafetë dhe një burimi 3.3V.

Tani kemi një qark të përshtatshëm për "shtypjen" e butonit të derës së garazhit; Zëvendësimi i rezistencës LED dhe 330Ω me telat e butonit aktual duhet të jetë i lehtë.

Hapi 7: Sensori i kalimit të kallamit

Sensori i kalimit të kallamit
Sensori i kalimit të kallamit

Aq e mrekullueshme, ne e dimë se si duket qarku ynë për të aktivizuar hapjen e dyerve të garazhit. Sidoqoftë, a nuk do të ishte mirë të dihet nëse dera e garazhit është e mbyllur, apo nëse është e hapur? Për ta bërë këtë, keni nevojë për të paktën një ndërprerës kallami. Disa projekte rekomandojnë dy, por të dy do të përdorin të njëjtin model qarku.

Ne po përdorim një konfigurim të kalimit të kallamit "normalisht të hapur" (JO). Kjo do të thotë se qarku ynë është i hapur derisa ndërprerësi i kallamit të jetë në afërsi të magnetit, i cili do të mbyllë qarkun dhe do të lejojë që të rrjedhë energjia elektrike.

Dallimet kryesore midis konfigurimit të sensorit dhe konfigurimit të stafetës janë:

  • GPIO e lidhur me sensorin do të zbulojë energjinë, kështu që do të jetë një GPIO hyrëse (ndërsa stafeta përdorte një GPIO dalëse që furnizonte tensionin)
  • Për shkak se gjendja e paracaktuar ekziston si zakonisht e hapur, kjo do të thotë që qarku ynë nuk do të jetë aktiv. Si e tillë, gjendja GPIO duhet të jetë 0. Anasjelltas me konceptin e rezistencës tërheqëse në qarkun e stafetës, ne do të duam të sigurohemi që tensioni ynë është nën pragun kur qarku është i hapur. Kjo do të kërkojë një rezistencë tërheqëse. Kjo në thelb është e njëjtë me tërheqjen, por e lidhur me tokën në vend të energjisë.

Ashtu si qarku i stafetës, ne do t'i lidhim gjërat në një tabelë para se ta lidhim atë me Pi.

Le të përdorim panelin tonë të ushqimit dhe të lidhim një LED, rezistencë 330Ω dhe tela tokëzimi. Pastaj lidhni 3.3V në njërën anë të kallamit të kallamit dhe një kërcyes nga ana tjetër e kallamit të kallamit në LED. (Nëse keni një ndërprerës kallami që mbështet NO dhe NC, përdorni pozicionin JO.) Lëreni magnetin larg ndërprerësit të kallamit dhe ndizni fuqinë e bukës. LED duhet të mbetet e fikur. Zhvendoseni magnetin drejt kalimit të kallamit dhe LED duhet të ndizet. Nëse bën të kundërtën, e ke të lidhur për NC (normalisht e mbyllur)

Hapi 8: Lidhja e kallamit të kallamit me Pi

Lidhja e kallamit të kallamit me Pi
Lidhja e kallamit të kallamit me Pi

Pra, tani që ne kemi qarkun që punon pa Pi, ne mund të heqim fuqinë nga pjata e bukës dhe ne do ta lidhim Pi.

Ne do të përdorim përsëri GPIO17 sepse ne tashmë e dimë se ku është.

Ashtu si qarku i stafetës, ne do të mbrojmë pinin GPIO me një rezistencë 1KΩ; megjithatë, ne do të përdorim një rezistencë 10kΩ në tokë për të krijuar një tërheqje.

Pasi të kemi lidhur gjithçka, le të lëvizim magnetin larg nga kallami i kallamishteve, nisim P, i dhe shkojmë te një linjë komande dhe fillojmë GPIO, duke vënë në dukje se këtë herë ne po krijojmë një GPIO hyrës:

sudo jehonë "17">/sys/class/gpio/eksport

sudo echo "in">/sys/class/gpio/gpio17/drejtim sudo cat/sys/class/gpio/gpio17/vlera

Vlera duhet të jetë zero. Zhvendosni magnetin në çelësin e kallamit. Drita LED duhet të ndizet, dhe vlera është 1.

Voila! Ne e kemi lidhur kalimin e kallamit tonë në Pi!

Hapi 9: Bërja e një zgjidhjeje të përhershme në një bord prototipizimi

Marrja e një zgjidhjeje të përhershme në një bord prototipizimi
Marrja e një zgjidhjeje të përhershme në një bord prototipizimi
Marrja e një zgjidhjeje të përhershme në një bord prototipizimi
Marrja e një zgjidhjeje të përhershme në një bord prototipizimi
Marrja e një zgjidhjeje të përhershme në një bord prototipizimi
Marrja e një zgjidhjeje të përhershme në një bord prototipizimi
Marrja e një zgjidhjeje të përhershme në një bord prototipizimi
Marrja e një zgjidhjeje të përhershme në një bord prototipizimi

Tani që e dimë se si duhet të duken qarqet tona, është koha për të ngjitur një version të përhershëm në një tabelë prototipimi. Meqenëse jam duke përdorur një Pi Zero W, kam marrë tabela të vogla proto.

Mendova se do të ishte mirë të përdorni formatin Zero dhe të jeni në gjendje të grumbulloni një ose më shumë tabela, një modul shtesë që Raspberry Pi e quan HAT (Pajisja e bashkangjitur në krye). Epo, teknikisht meqenëse nuk ka asnjë lloj EEPROM dhe nuk regjistrohet vetë, nuk është një HAT, por duhet ta quaj diçka. Por formati ngjitet bukur dhe eliminon një fole të minjve të telave, kështu që është mirë.

Sfida është se bordet proto janë disi të vogla, kështu që nuk mund të përshtateni shumë mbi to. Gjithashtu, asnjë nga vrimat nuk është e lidhur në rreshta si proto bordet më të mëdhenj. Ndërsa kjo mund të duket e papërshtatshme, në të vërtetë është një shpëtimtar.

Ajo që mendova ishte se mund të krijoja një HAT për secilën derë garazhi që doja të kontrolloja. Në këtë mënyrë, ju mund ta zgjeroni këtë projekt sipas nevojës tuaj.

Në tabelën proto, gjeta se kishte vetëm hapësirë të mjaftueshme për të krijuar tre qarqe:

  1. qark stafetë
  2. qark sensori
  3. qarku i dytë i sensorit

Kjo është mjaft e mirë për çdo projekt të derës së garazhit atje.

Pra, ajo që bëra ishte përdorimi i GPIO17 dhe 27 për sensorët, dhe GPIO12 për stafetën. Gjëja vërtet e bukur për këtë proto bord është se mund të lidheni me GPIO pa prekur as kokën. Por po, do t'ju duhet të lidhni një kokë të grumbullimit përveç rezistorëve tuaj (dhe, sipas dëshirës, LED).

Unë i kam rikrijuar shumë qarqet që kemi prototipizuar në tabelë. Mund të thuash që bashkimi im nuk është perfekt, por prapë funksionon. (Tabelat e ardhshme do të jenë më të mira që kur kam praktikuar.) Unë kam një Aoyue 469 dhe vetëm një fije floku mbi vendosjen 4 ishte temperatura më e mirë bazuar në rekomandimet për bashkimin e kokës së GPIO.

Kam përdorur rreshtat e jashtëm të lidhur për tokën dhe të brendshme për 3.3V. Dhe unë përdori telin e rezistencës për të vepruar si urë pasi nuk kishim rreshta të lidhur. Pjesa tjetër të gjitha janë diagonale dhe anash sepse kjo ishte mënyra më e mirë që mund të gjeja për t'i vendosur ato në tabelë.

Nga L-R (duke parë në anën e përparme, në anën e rezistencës), kunjat e daljes që shtova janë për telin e sensorit GPIO, telin e dytë të sensorit GPIO dhe tela GPIO të stafetës. Në vend të lidhjes direkt me GPIO, të cilën mund ta bëjmë nga titulli, këto kunja lidhen me të gjithë rezistorët tanë dhe, në rastin e sensorëve, shtova në një mikroLED. (Vini re se si LED është në një lak krejtësisht të veçantë, kështu që nëse digjet qarku ende funksionon.)

Bashkangjitur është një skedar Fritzing, por meqenëse Instructables ka probleme me ngarkimet e skedarëve, më duhej t'i jepja një shtrirje të rreme të "txt" për ta futur atë.

Hapi 10: Referencat

Projekti Raspberry Pi Garage Door Opener (frymëzimi)

Udhëzuesi i Idiotit për një Hapës të Garazhit të Raspberry Pi

iPhone ose Android Hapës i Garazheve

A duhet të përdor një rezistencë apo jo?

Përdorimi i rezistencave Pullup dhe Pulldown në Raspberry Pi

Vendosja e SSH

Diagramet Pin Raspberry Pi.

Komandat SYSFS

WiringPi

Rezistenca dhe LED

Kunjat e mbrojtjes (sic) GPIO

Llogaritësi dhe Grafiku i Kodit të Ngjyrës së Rezistencës

Rezistorët tërheqës-tërheqës dhe tërheqës poshtë

Pragjet e Tensionit GPIO

Nivelet e Tensionit të Inputit GPIO

Kontrolli GPIO në config.txt

GPIO Pull Up Resisance (sic)

Pse na duhen rezistorë tërheqës të jashtëm kur mikrokontrolluesit kanë rezistorë tërheqës të brendshëm?

Çfarë është një HAT Raspberry Pi?

Si të lidhni lidhësin Raspberry Pi Zero W GPIO