Inhoudsopgave:

Raspberry Pi Zero garagedeuropener hardware - Ajarnpa
Raspberry Pi Zero garagedeuropener hardware - Ajarnpa

Video: Raspberry Pi Zero garagedeuropener hardware - Ajarnpa

Video: Raspberry Pi Zero garagedeuropener hardware - Ajarnpa
Video: Locked out of the garage? 2024, November
Anonim
Raspberry Pi Zero Garagedeuropener Hardware
Raspberry Pi Zero Garagedeuropener Hardware

Een van de inspiratiebronnen voor dit project was de fijne instructable op Raspberry Pi 3 Garage Door Opener, samen met verschillende andere die op internet te vinden zijn. Omdat ik geen doorgewinterde elektronica-persoon ben, heb ik heel wat aanvullend onderzoek gedaan naar manieren om te communiceren met de Raspberry Pi en heb ik veel geleerd over het belang van weerstanden met LED-lampen en met alle GPIO-bedrading. Ik heb ook geleerd over de voordelen van pull-up en pull-down hardwarecircuits versus de ingebouwde Pi-functionaliteit.

Omdat dit garagedeurproject echt een meerdelig proces is, bestaande uit Pi-hardware, software en installatie met uw garagedeuropener(s), dacht ik dat ik me eerst zou concentreren op de Pi-hardware, omdat deze nodig is voor elke andere stap.

Mijn benadering is om heel basaal te zijn en te fungeren als een samenvatting van het geleerde dat ik heb gedaan om de hardware te kunnen voltooien. Het begint met wat informatie en dan bouwen we circuits op een breadboard. Elke stap zal ons ontwerp en onze kennis verfijnen, met als hoogtepunt het bouwen van een permanente hardware-oplossing om de Pi te koppelen met een relais en reed-sensoren.

Bovendien besloot ik, in tegenstelling tot sommige andere projecten, om een Raspberry Pi Zero W te gebruiken, die ik enige tijd geleden in de aanbieding had, maar die nog steeds ongebruikt op mijn bureau lag. Het voordeel is dat, tijdens het maken van prototypes, als ik een van de GPIO-circuits beschadigde, het goedkoop en gemakkelijk te vervangen was en door te gaan met prototypen. Het nadeel is dat het alleen een ARMv6-processor heeft, dus sommige dingen, zoals Java, zullen niet bruikbaar zijn.

Het andere dat ik besloot te doen, was mijn eigen add-on-board voor het circuit te maken, dus als ik mijn Pi moet veranderen of vervangen, zolang de pinouts hetzelfde zijn, moet het bord gemakkelijk op de nieuwe Pi kunnen worden aangesloten.. Dit zal hopelijk een rattennest van bedrading minimaliseren.

Mijn aannames zijn:

  • Je bent comfortabel aan het solderen
  • U weet al hoe u basisterminalopdrachten op de Raspberry Pi moet gebruiken
  • U gebruikt Raspbian Buster of nieuwer.
  • Je hebt een interface naar de Pi-opdrachtregel; ofwel met een speciale monitor, toetsenbord, enz. EN/OF met SSH.
  • Je bent bekend met het basisconcept van het ontwerpen van elektrische schakelingen; je kent bijvoorbeeld het verschil tussen stroom en aarde en je begrijpt het concept van een kortsluiting. Als u een nieuw stopcontact in uw huis kunt plaatsen, zou u dit moeten kunnen volgen.

Benodigdheden

Afhankelijk van hoe toegewijd je bent aan dit project, kun je beginnen met alleen de dingen die nodig zijn bij elke stap en van daaruit verder gaan. Veel van deze onderdelen zijn verkrijgbaar bij uw plaatselijke elektronica- of doe-het-zelfwinkel, maar ik heb Amazon-links toegevoegd om de beschrijvingen te verbeteren.

  • MakerSpot RPi Raspberry Pi Zero W Protoboard (om de laatste HAT voor de Pi te maken)
  • 2-kanaals DC 5V-relaismodule (neem een 1-kanaals als u één deur heeft, 2 voor 2 deuren, enz.)
  • Overheaddeurschakelaar, normaal open (NO) (Als u op dit moment alleen een prototype maakt en wat goedkope reed-schakelaars wilt gebruiken om aan de slag te gaan, is dat prima)
  • Electronic Fun Kit-bundel (dit bevatte alle weerstanden die ik nodig had, plus een breadboard en voedingseenheid voor het helpen van prototypen en testen en leren voordat ik het permanente bord deed). Als je dit allemaal al hebt, zorg er dan voor dat je een paar weerstanden van 10K, 1K en 330 ohm bij de hand hebt.
  • Breadboard Jumper Wires (alles is voldoende)
  • Soldeerbout met kleine punt
  • Rosin-core soldeer
  • Soldeerbout tip reiniger
  • Reserve 9v voeding (om het breadboard van stroom te voorzien)
  • Goedkope prototyping boards voor soldeeroefeningen (optioneel)
  • Werkende Raspberry Pi Zero of Pi naar keuze
  • Header-pinnen voor de Raspberry Pi (als de jouwe de header er nog niet op heeft)
  • Stapelkoppen voor gebruik op de protoboard HAT.
  • Kleine punttang
  • Schroevendraaierset voor juweliers
  • Kleine zijknippers (voor het doorknippen van draad na het solderen)
  • Pincet
  • Wat draad met een kleine dikte (ik geef de voorkeur aan een vaste kern) voor gebruik op het protoboard
  • Een beetje siliconen (als je ervoor kiest om 1,8 mm LED's voor opbouwmontage te gebruiken in plaats van degene die in de kitbundel worden geleverd)
  • Ik vond dat een vergrootglas super handig was om het kleine soldeerwerk te zien

Stap 1: Inleiding tot de Raspberry Pi GPIO

De belangrijkste interface die we zullen gebruiken met de Raspberry Pi is de GPIO (General Purpose Input/Output).

Vind hier het juiste pin-diagram voor uw Pi. Deze instructable zal zich richten op de Pi Zero W v1.1.

We zullen alleen de groene GPIO-pinnen gebruiken, waarbij we de SDA-, SCL-, MOSI-, MISO-, enz. Pins vermijden. (Ik ontdekte dat sommige GPIO-pinnen speciale doeleinden hebben, een van de voordelen van prototyping op een breadboard, dus ik bleef bij GPIO-pinnen 17 (pin #11), 27 (pin #13) en 12 (#32) zoals ze waren in goede posities voor mijn breadboard.

GPIO-pinnen zijn ontworpen om te werken als digitale (binaire) schakelaars; ze bestaan logischerwijs als een van de twee toestanden: 1 of nul. Deze toestanden zijn afhankelijk van het feit of de pin spanning levert of ontvangt boven een bepaalde drempel (1) of spanning levert of ontvangt onder een bepaalde drempel. (Over de drempels zullen we het later hebben.)

Het is belangrijk op te merken dat, hoewel de Raspberry Pi zowel 5V als 3,3V (3V3) kan leveren, GPIO-pinnen werken met maximaal 3,3V. Meer dan dat en je beschadigt de GPIO en mogelijk de hele controller. (Dit is de reden waarom we prototypen op een breadboard en de goedkoopste Pi gebruiken die mogelijk is!)

De status van de pinnen kan worden gemanipuleerd door software (uitvoer) of door andere apparaten die de status invoeren (invoer).

Laten we dit eens proberen met behulp van enkele standaard SYSFS-commando's. Ik weet niet zeker of dit WiringPi vereist, maar als je problemen tegenkomt, wil je het misschien installeren als je de minimale Raspbian-afbeelding gebruikt.

Laten we onszelf eerst toegang geven tot GPIO 17:

sudo echo "17" > /sys/class/gpio/export

Laten we nu de waarde van de GPIO controleren:

sudo cat /sys/class/gpio/gpio17/value

De waarde moet nul zijn.

Op dit punt weet de GPIO niet of het input of output is. Als u de GPIO-waarde probeert te manipuleren, krijgt u dus "schrijffout: bewerking niet toegestaan". Dus laten we gewoon de pin vertellen dat deze wordt uitgevoerd:

sudo echo "out" > /sys/class/gpio/gpio17/direction

En stel nu de waarde in op 1:

sudo echo "1" > /sys/class/gpio/gpio17/value

Controleer de waarde opnieuw om te zien … en de waarde zou 1 moeten zijn.

Gefeliciteerd, je hebt zojuist een output-GPIO gemaakt en de status gewijzigd!

Nu komt er iets meer bij kijken, maar laten we eerst nog een paar dingen leren.

Stap 2: Weerstanden begrijpen

Je kunt weerstanden dus opzoeken op Wikipedia, maar wat betekenen ze voor ons? Ze beschermen in de eerste plaats onze componenten.

Weet je nog dat we het hadden over de GPIO's dat ze tot 3,3 V werken? Wat dat betekent is dat als je een GPIO-pin meer geeft, je hem kunt bakken. Waarom is dit belangrijk? Soms zijn er kleine pieken in een circuit en als het maximum 3,3 V is, kan elke kleine hik problemen veroorzaken. Werken op de maximale spanning is een riskante propositie.

Dit geldt met name voor LED's. Een LED trekt zoveel mogelijk stroom. Uiteindelijk zal de LED doorbranden, maar het aanzienlijke stroomverbruik kan al het beschikbare vermogen in een circuit opgebruiken, waardoor het defect raakt.

Bijvoorbeeld: wat zou er gebeuren als je een vork in beide uitsteeksels van een stopcontact steekt? Er is weinig tot geen weerstand en u blaast de stroomonderbreker op. (En waarschijnlijk bezeert u zich daarbij.) Waarom doet de broodrooster dit niet? Omdat de verwarmingselementen weerstand bieden en als zodanig niet de volledige belasting van het circuit trekken.

Dus hoe voorkomen we dat dit met een LED gebeurt? Door de hoeveelheid stroom te beperken die wordt gebruikt om de LED aan te sturen met behulp van een weerstand.

Maar welke maat weerstand? Ja, ik las een paar webartikelen en koos uiteindelijk voor een weerstand van 330Ω voor 3,3V met een LED. Je kunt al hun berekeningen lezen en zelf uitzoeken, maar ik heb er een paar getest op een breadboard en 330 werkte prima. Een referentie die ik heb gecontroleerd, was op de Raspberry Pi-forums, maar een Google-zoekopdracht zal er nog veel meer ontdekken.

Evenzo hebben de Pi GPIO-pinnen bescherming tegen overspanning nodig. Weet je nog hoe ik zei dat ze TOT 3,3 V gebruiken? Nou, een beetje minder kan geen kwaad. De meeste projecten gebruiken 1KΩ-weerstanden en ik deed hetzelfde. Ook dit kun je zelf uitrekenen maar dit is een zeer populaire keuze. Nogmaals, de Raspberry Pi-forums leveren wat informatie.

Als je dit niet helemaal begrijpt, lees dan nog wat meer. Of volg gewoon de instructies. Wat voor jou ook werkt.

Veel weerstanden zijn gelabeld in de verpakking, maar als je ze eenmaal hebt verwijderd, hoe kun je ze dan van elkaar onderscheiden? De kleine gekleurde strepen op de weerstand kunnen het je vertellen.

Vervolgens zullen we een eenvoudige LED op een breadboard met stroom aansluiten om dingen op gang te krijgen.

Stap 3: Bedrading van een LED

Bedrading van een LED
Bedrading van een LED

De eerste stap is om een LED op het breadboard te bedraden. Zodra we dat veilig werkend krijgen, zullen we het verbinden met de Raspberry Pi en het bedienen vanaf de GPIO-pin.

Hopelijk is je breadboard geleverd met een stroombron voor 3.3v. Zo niet, dan kunt u alles aansluiten en rechtstreeks op de Pi aansluiten.

Zoek een LED en sluit deze aan op het breadboard zoals weergegeven met een weerstand van 330. Het langere been van de LED is de anode, het kortere been is de kathode. De anode wordt aangesloten op de 3,3V-stroom terwijl de kathode weer op aarde wordt aangesloten. De weerstand kan zich vóór de LED bevinden; het maakt niet uit. Standaard draadkleuren zijn:

  • Rood = 5V
  • Oranje = 3.3V
  • Zwart = grond

Zodra je dat breadboard hebt aangesloten en stroom levert, moet de LED oplichten. Ga niet verder tenzij u dit werkend krijgt.

Stap 4: De LED aansluiten op de GPIO

De LED verbinden met de GPIO
De LED verbinden met de GPIO

Dus nu hebben we een werkende LED met een weerstand. Nu is het tijd om die LED aan te sluiten op de Raspberry Pi. Ons doel is om een output GPIO te creëren en die GPIO te verbinden met de LED, zodat wanneer we de GPIO INSCHAKELEN, de LED zal oplichten. Omgekeerd, wanneer we de GPIO UITSCHAKELEN, gaat de LED uit. (Dit wordt later gebruikt als het circuit dat de knop "drukt" om de garagedeur te openen.)

Haal de stroom van het breadboard en sluit de Pi aan zoals afgebeeld. (Het is het beste om dit te doen terwijl de Pi ook is uitgeschakeld.) We hebben de 3,3V-voeding van GPIO 17 en de aarde aangesloten op een van de grondpinnen.

Start nu de Pi op en de LED zou uit moeten zijn. Voer dezelfde opdrachten uit die we eerder hebben gedaan om de GPIO-pin in te stellen en de waarde uit te voeren:

sudo echo "17" > /sys/class/gpio/export

sudo echo "out" > /sys/class/gpio/gpio17/direction sudo cat /sys/class/gpio/gpio17/value

De waarde moet nul zijn.

Laten we nu de GPIO inschakelen:

sudo echo "1" > /sys/class/gpio/gpio17/value

Dit zou de LED moeten inschakelen. Om de LED uit te schakelen, schakelt u de GPIO als volgt uit:

sudo echo "0" > /sys/class/gpio/gpio17/value

Een van de dingen die KUNNEN gebeuren, is dat u, bij voldoende interferentie of aan/uit-cycli van de LED, zou kunnen opmerken dat de LED licht blijft branden. Daar is een reden voor en daar zullen we het in een volgende stap over hebben.

Stap 5: Een relais gebruiken om de LED aan te sturen

Een relais gebruiken om de LED aan te sturen
Een relais gebruiken om de LED aan te sturen

Zoals vermeld in de vorige stap, is de LED een stand-in voor de "knop" van de garagedeur. Hoewel de GPIO onze LED van stroom kan voorzien, kan hij onze garagedeurknop niet "indrukken". Een druk op de knop verbindt in wezen alleen de twee knopaansluitingen, waardoor in feite een druk op de knop wordt uitgevoerd. Wat je nodig hebt om deze "pers" uit te voeren, is een relais.

Een relais is niets meer dan een schakelaar die door iets wordt aangedreven. In dit geval kan onze Raspberry Pi het relais vertellen om op de knop van de garagedeur te "drukken". Voor ons prototype zal de Raspberry Pi het relais vertellen om de LED in te schakelen … zodat we ons circuit kunnen testen.

Wat we moeten weten over ons relais:

  • Het relais werkt op 5V. Dit is het vermogen dat alleen het relais bedient en wordt in geen enkel ander deel van het circuit gebruikt.
  • We willen ons relais bedraden als "normaal open". Dat betekent dat het relais open blijft (de twee draden niet aansluiten, of "op de knop drukken", totdat het wordt geactiveerd.
  • Dit specifieke relais wordt geactiveerd wanneer de GPIO nul stroom levert aan de 3,3V-connector van het relais. Dit lijkt inderdaad achterlijk. Wanneer 3,3V wordt geleverd, wordt het relais vrijgegeven. Blijf bij ons op dit project en je zult zien hoe dit werkt.
  • De twee relaisklemaansluitingen zijn volledig gescheiden van de Raspberry Pi. Wat dit betekent is dat u een draad met elke nominale stroom kunt schakelen omdat deze zijn stroom ontvangt van een andere stroombron. De simpele kleine Raspberry Pi met 3,3V en 5V zou inderdaad een relais kunnen bedienen dat een veel grotere spanning regelt. Dit is hoe een klein knopje op uw dashboard uw verwarmde stoelen met grote stroomsterkte kan laten werken.

Dus laten we beginnen.

Sluit eerst de externe voedingseenheid voor uw breadboard opnieuw aan (maar schakel hem uit). Deze stroom zal het LED-circuit laten draaien, terwijl de Raspberry Pi het relais aanstuurt.

Maak vervolgens een onderbreking in de 3,3V-lijn die de LED van stroom voorziet. (Bij schakelaars en relais willen we altijd de "hot" schakelen, niet de grond.) Deze zijn in oranje en blauw aangegeven op het schema.

Sluit de Raspberry Pi aan zoals weergegeven met 5V voor het voeden van het relais, 3,3V als schakelaar en de aarde die terugkeert naar de Raspberry Pi. In dit voorbeeld heb ik de 3.3V aangesloten op GPIO 17. Ik raad aan om een weerstand van 1KΩ aan te sluiten op de GPIO-draad zoals afgebeeld, om de GPIO te beschermen tegen problemen. (Dit werd vermeld in de stap Weerstanden.)

Schakel het breadboard in en schakel nu uw Pi in. De LED moet branden.

Voer nu de volgende opdrachten uit op de Pi:

sudo echo "17" > /sys/class/gpio/export

sudo echo "out" > /sys/class/gpio/gpio17/direction sudo cat /sys/class/gpio/gpio17/value

De waarde moet nul zijn.

Laten we nu de GPIO inschakelen:

sudo echo "1" > /sys/class/gpio/gpio17/value

Dit zou de LED moeten uitschakelen.

Stap 6: Een optrekweerstand toevoegen

Een optrekweerstand toevoegen
Een optrekweerstand toevoegen

Op dit punt zouden al je spullen moeten werken. Maar er is één ding dat we niet hebben besproken over GPIO's, en dat is de "zwevende" spanning die mogelijk is op basis van de eerder genoemde drempel.

Hoewel GPIO's over het algemeen twee logische statussen hebben (1 en nul), bepaalt het deze statussen op basis van of het een spanning boven of onder de spanningsdrempel heeft, zoals we vermeldden in de GPIO-sectie. Maar het probleem bij de meeste GPIO's is de mogelijkheid van een "zwevende" spanning; in het geval van de Raspberry Pi ergens tussen nul en 3,3V. Dit kan optreden door interferentie of door spanningsstijging/-daling over een circuit.

We willen geen situatie waarin ons relais voor de garagedeurknop gewoon wordt geactiveerd door zwevende spanning. We willen inderdaad dat het alleen wordt geactiveerd als we het zeggen.

Situaties als deze worden opgelost door pull-up en pull-down weerstanden te gebruiken om een bepaalde spanning af te dwingen en de zwevende spanning te vermijden. In ons geval willen we ervoor zorgen dat er spanning wordt geleverd om te voorkomen dat het relais wordt geactiveerd. We hebben dus een pull-up weerstand nodig om de spanning boven de drempel te brengen. (Drempels zijn grappige dingen … Ik heb geprobeerd erover te lezen en te zien of ze goed gedefinieerd waren en kreeg veel informatie die me te boven ging, en sommige die overdreven eenvoudig leken. Het volstaat om te zeggen dat ik met een multimeter dat kon zien de spanning was lager dan 3,3 V, maar aangezien alles werkte zoals ik het prototype ervan maakte, ben ik gewoon verder gegaan. Uw kilometerstand kan variëren, en dit is de reden waarom we dit breadboarden voordat we ons eindproduct solderen.)

Natuurlijk heeft de Raspberry Pi zowel interne pull-up- als pull-down-weerstanden die je in code of bij het opstarten kunt instellen. Het is echter zeer storingsgevoelig. Hoewel het mogelijk is om ze te gebruiken, aangezien we al met weerstanden in een circuit werken, is het misschien de stabiliteit waard om de externe te gebruiken.

Wat nog belangrijker is, dit creëert de pull-up en voegt voldoende spanning toe om de GPIO-pinstatus standaard op 1 te zetten voordat de Pi wordt geïnitialiseerd. Weet je nog hoe ons relais de LED activeerde toen we de Pi voor het eerst initialiseerden totdat we hem uitschakelden? Het gebruik van de pull-up voorkomt dat het relais bij het opstarten wordt geactiveerd, omdat de relais-ingang van 3,3 V spanning krijgt terwijl de 5 V-ingang spanning krijgt. We zouden dit ook in Pi-configuratie kunnen doen als we dat willen, maar nogmaals, aangezien we hoe dan ook met weerstanden bekabelen, lijkt het minder kwetsbaar voor updates en distributies van het besturingssysteem.

Verschillende configuraties hebben mogelijk verschillende weerstanden nodig, maar een weerstand van 10 kΩ werkte met het relais dat ik had. De LED op mijn relais was erg zwak bij het opstarten, maar de pull-up zorgde voor voldoende spanning om activering van het relais te voorkomen.

Laten we een pull-up-weerstand aan ons circuit toevoegen. In het breadboard-diagram heb ik een weerstand van 10 kΩ toegevoegd tussen de 3.3V-ingang op het relais en een 3.3V-bron.

Nu hebben we een circuit dat geschikt is om de garagedeurknop te "drukken"; het vervangen van de LED en 330Ω-weerstand door de werkelijke knopdraden zou eenvoudig moeten zijn.

Stap 7: Reed-schakelaarsensor

Reed-schakelaarsensor
Reed-schakelaarsensor

Zo geweldig, we weten hoe ons circuit eruitziet om de garagedeuropener te activeren. Maar zou het niet fijn zijn om te weten of de garagedeur dicht of open is? Hiervoor heeft u minimaal één reed-schakelaar nodig. Sommige projecten bevelen er twee aan, maar ze zullen allebei hetzelfde circuitontwerp gebruiken.

We gebruiken een "normaal open" (NO) reed-schakelaarconfiguratie. Dat betekent dat ons circuit open is totdat de reed-schakelaar zich in de buurt van de magneet bevindt, waardoor het circuit wordt gesloten en elektriciteit kan stromen.

De belangrijkste verschillen tussen de sensoropstelling en de relaisopstelling zijn:

  • De GPIO die op de sensor is aangesloten, gaat stroom detecteren, dus het wordt een ingang GPIO (terwijl het relais een uitgang GPIO gebruikte die spanning leverde)
  • Omdat de standaardstatus als normaal open bestaat, betekent dit dat ons circuit niet actief zal zijn. Als zodanig moet de GPIO-status 0 zijn. In tegenstelling tot het concept van de pull-up-weerstand op het relaiscircuit, willen we ervoor zorgen dat onze spanning onder de drempel ligt wanneer het circuit open is. Hiervoor is een pull-down weerstand nodig. Dit is in principe hetzelfde als de pull-up, maar verbonden met aarde in plaats van stroom.

Net als het relaiscircuit, gaan we dingen op een breadboard aansluiten voordat we het op de Pi aansluiten.

Laten we ons aangedreven breadboard gebruiken en een LED, 330Ω-weerstand en aardingsdraad aansluiten. Sluit vervolgens 3.3V aan op de ene kant van de reed-schakelaar en een jumper van de andere kant van de reed-schakelaar op de LED. (Als u een reed-schakelaar hebt die NO en NC ondersteunt, gebruik dan de NO-positie.) Verplaats de magneet weg van de reed-schakelaar en schakel de breadboard-voeding in. De LED moet uit blijven. Beweeg de magneet in de richting van de reed-schakelaar en de LED zou moeten gaan branden. Als het het tegenovergestelde doet, heb je het bedraad voor NC (normaal gesloten)

Stap 8: De reed-schakelaar aansluiten op de Pi

De reed-schakelaar aansluiten op de Pi
De reed-schakelaar aansluiten op de Pi

Dus nu het circuit werkt zonder de Pi, kunnen we de stroom van het breadboard verwijderen en zullen we de Pi aansluiten.

We zullen GPIO17 opnieuw gebruiken omdat we al weten waar het is.

Net als het relaiscircuit, gaan we de GPIO-pin beschermen met een 1KΩ-weerstand; we zullen echter een weerstand van 10 kΩ gebruiken om te aarden om een pull-down te creëren.

Zodra we alles hebben aangesloten, laten we de magneet weghalen van de reed-schakelaar, de P, i opstarten en naar een opdrachtregel gaan en de GPIO initialiseren, waarbij we opmerken dat we deze keer een input-GPIO maken:

sudo echo "17" > /sys/class/gpio/export

sudo echo "in" > /sys/class/gpio/gpio17/direction sudo cat /sys/class/gpio/gpio17/value

De waarde moet nul zijn. Verplaats de magneet naar de reed-schakelaar. Het LED-lampje moet oplichten en de waarde is 1.

Voila! We hebben onze reed-schakelaar aangesloten op de Pi!

Stap 9: Een permanente oplossing maken op een prototypebord

Een permanente oplossing maken op een prototypebord
Een permanente oplossing maken op een prototypebord
Een permanente oplossing maken op een prototypebord
Een permanente oplossing maken op een prototypebord
Een permanente oplossing maken op een prototypebord
Een permanente oplossing maken op een prototypebord
Een permanente oplossing maken op een prototypebord
Een permanente oplossing maken op een prototypebord

Nu we weten hoe onze circuits eruit moeten zien, is het tijd om een permanente versie op een prototypebord te solderen. Omdat ik een Pi Zero W gebruik, heb ik kleine proto-borden verkregen.

Ik dacht dat het goed zou zijn om het Zero-formaat te gebruiken en een of meer boards te kunnen stapelen, een add-on-module die Raspberry Pi HAT (Hardware Attached on Top) noemt. Nou, technisch gezien heeft het geen enkel type EEPROM en registreert het zichzelf niet, het is geen HAT, maar ik moet het iets noemen. Maar het formaat sluit mooi aan en elimineert een rattennest van bedrading, dus dat is leuk.

De uitdaging is dat de proto-boards nogal klein zijn, dus je kunt er niet veel op kwijt. Ook zijn geen van de gaten in rijen verbonden zoals de grotere proto-borden. Hoewel dit misschien onhandig lijkt, is het eigenlijk een redder in nood.

Ik dacht dat ik een HAT kon maken voor elke garagedeur die ik wilde bedienen. Op deze manier kunt u dit project uitbreiden naar uw behoefte.

Op het protobord ontdekte ik dat er net genoeg ruimte was om drie circuits te maken:

  1. relais circuit
  2. sensor circuit
  3. tweede sensorcircuit

Dat is best goed voor elk garagedeurproject dat er is.

Dus wat ik deed was GPIO17 en 27 gebruiken voor de sensoren en GPIO12 voor het relais. Het leuke van dit proto-bord is dat je verbinding kunt maken met de GPIO zonder de header zelfs maar aan te raken. Maar ja, je zult naast je weerstanden (en optioneel ook LED's) een stacking header moeten solderen.

Ik heb min of meer de circuits die we op het bord hebben gemaakt, opnieuw gemaakt. Je kunt zien dat mijn solderen niet perfect is, maar het werkt nog steeds. (De volgende borden zullen beter zijn sinds ik heb geoefend.) Ik heb een Aoyue 469 en slechts een haar boven instelling 4 was de beste temperatuur op basis van aanbevelingen voor het solderen van de GPIO-header.

Ik gebruikte de buitenste verbonden rijen voor aarde en de binnenste voor 3.3V. En ik gebruikte de weerstandsdraad om als brug te fungeren, omdat we geen verbonden rijen hadden. De rest is allemaal diagonaal en zijwaarts, want dat was de beste manier die ik kon vinden om ze op het bord te passen.

Van LR (kijkend naar de voorkant, de weerstandszijde), zijn de uitgangspinnen die ik heb toegevoegd voor de GPIO-draad van de sensor, de GPIO-draad van de tweede sensor en de GPIO-draad van het relais. In plaats van rechtstreeks naar de GPIO te bedraden, wat we vanaf de header zouden kunnen doen, verbinden deze pinnen met al onze weerstanden en, in het geval van de sensoren, heb ik een microLED toegevoegd. (Merk op hoe de LED zich in een volledig aparte lus bevindt, dus als deze doorbrandt, werkt het circuit nog steeds.)

Bijgevoegd is een Fritzing-bestand, maar aangezien Instructables problemen heeft met bestandsuploads, moest ik het een valse extensie "txt" geven om het in te sluiten.

Stap 10: Referenties

Raspberry Pi Garagedeuropener Project (de inspiratie)

Idiot's Guide voor een Raspberry Pi garagedeuropener

iPhone of Android garagedeuropener

Moet ik een weerstand gebruiken of niet?

Pullup- en Pulldown-weerstanden gebruiken op de Raspberry Pi

SSH instellen

Raspberry Pi-pindiagrammen.

SYSFS-opdrachten

BedradingPi

Weerstanden en LED's

Bescherming (sic) GPIO-pinnen

Weerstand Kleurcode Calculator en Grafiek

Optrek- en neertrekweerstanden

GPIO-spanningsdrempels

GPIO-ingangsspanningsniveaus

GPIO-besturing in config.txt

GPIO Optrekweerstand (sic)

Waarom hebben we externe trekweerstanden nodig als microcontrollers interne trekweerstanden hebben?

Wat is een Raspberry Pi-HOED?

Hoe de Raspberry Pi Zero W GPIO-connector te solderen?

Aanbevolen: