Raspberry Pi is een op ARM-architectuur gebaseerde processor, ontworpen voor elektronische ingenieurs en hobbyisten. De PI is momenteel een van de meest vertrouwde platformen voor projectontwikkeling. Met een hogere processorsnelheid en 1 GB RAM kan de PI worden gebruikt voor veel spraakmakende projecten zoals beeldverwerking en internet der dingen.
Voor het doen van spraakmakende projecten moet men de basisfuncties van PI begrijpen. In deze tutorials behandelen we alle basisfunctionaliteiten van Raspberry Pi. In elke tutorial bespreken we een van de functies van PI. Aan het einde van deze Raspberry Pi Tutorial-serie kun je zelf spraakmakende projecten doen. Doorloop onderstaande tutorials:
- Aan de slag met Raspberry Pi
- Raspberry Pi-configuratie
- LED Blinky
- Raspberry Pi-knopinterface
- Raspberry Pi PWM-generatie
- Besturen van DC-motor met Raspberry Pi
- Stappenmotorbesturing met Raspberry Pi
- Interfacing Shift Register met Raspberry Pi
In deze tutorial zullen we een capacitief touchpad koppelen aan Raspberry Pi. Capacitive Touchpad heeft 8 toetsen van 1 tot 8. Deze toetsen zijn niet echt toetsen, het zijn Touch Sensitive Pads die op de printplaat zijn geplaatst. Wanneer we een van de pads aanraken, ervaren de pads de verandering van capaciteit op het oppervlak. Deze verandering wordt opgevangen door de besturingseenheid en de besturingseenheid trekt als reactie een overeenkomstige pin aan de uitgangszijde hoog.
We zullen deze capacitieve touchpad-sensormodule aan de Raspberry Pi bevestigen om deze als invoerapparaat voor de PI te gebruiken.
We zullen een beetje over Raspberry Pi GPIO-pinnen bespreken voordat we verder gaan.
GPIO-pinnen:
Zoals te zien is in de bovenstaande afbeelding, zijn er 40 uitgangspennen voor de PI. Maar als je naar de tweede figuur hieronder kijkt, zie je dat niet alle 40 pin-out voor ons gebruik kunnen worden geprogrammeerd. Dit zijn slechts 26 GPIO-pinnen die kunnen worden geprogrammeerd. Deze pinnen gaan van GPIO2 naar GPIO27.
Deze 26 GPIO-pinnen kunnen naar behoefte worden geprogrammeerd. Sommige van deze pinnen hebben ook een aantal speciale functies, daar zullen we later op terugkomen. Met speciale GPIO opzij gezet, hebben we 17 GPIO over (lichtgroene kleur).
Elk van deze 17 GPIO-pinnen kan maximaal 15 mA stroom leveren. En de som van de stromen van alle GPIO's mag niet groter zijn dan 50mA. We kunnen dus gemiddeld maximaal 3mA trekken uit elk van deze GPIO-pinnen. Men moet dus niet aan deze dingen knoeien, tenzij u weet wat u doet.
Een ander belangrijk ding hier is dat PI-logische besturing van + 3.3v is, dus je kunt niet meer dan + 3.3V logica geven aan GPIO-pin van PI. Als je + 5V aan een GPIO-pin van PI geeft, raakt het bord beschadigd. Dus we moeten het capacitieve touchpad van + 3.3V voorzien om de juiste logische uitgangen voor PI te krijgen.
Vereiste componenten:
Hier gebruiken we Raspberry Pi 2 Model B met Raspbian Jessie OS. Alle basisvereisten voor hardware en software zijn eerder besproken, u kunt het opzoeken in de Raspberry Pi-introductie, behalve dat we nodig hebben:
- Verbindende pinnen
- Capacitief touchpad
Schakelschema:
De aansluitingen die zijn gemaakt voor capacitieve touchpad-interface, worden weergegeven in het bovenstaande schakelschema.
Uitleg over werken en programmeren:
Zodra alles is aangesloten volgens het schakelschema, kunnen we de PI inschakelen om het programma in PYHTON te schrijven.
We zullen het hebben over enkele commando's die we gaan gebruiken in het PYHTON-programma, We gaan het GPIO-bestand uit de bibliotheek importeren, met onderstaande functie kunnen we GPIO-pinnen van PI programmeren. We hernoemen ook "GPIO" naar "IO", dus in het programma zullen we telkens wanneer we naar GPIO-pinnen willen verwijzen het woord 'IO' gebruiken.
importeer RPi.GPIO als IO
Soms, wanneer de GPIO-pinnen, die we proberen te gebruiken, andere functies uitvoeren. In dat geval zullen we waarschuwingen ontvangen tijdens het uitvoeren van het programma. Onderstaand commando vertelt de PI om de waarschuwingen te negeren en door te gaan met het programma.
IO.setwarnings (False)
We kunnen de GPIO-pinnen van PI verwijzen, hetzij op pincode aan boord, hetzij op functienummer. Net als 'PIN 29' op het bord is 'GPIO5'. Dus we vertellen hier dat we de pin hier met '29' of '5' gaan weergeven.
IO.setmode (IO.BCM)
We stellen 8 pinnen in als invoerpinnen. We zullen 8 belangrijke uitgangen van capacitief touchpad detecteren.
IO.setup (21, IO.IN) IO.setup (20, IO.IN) IO.setup (16, IO.IN) IO.setup (12, IO.IN) IO.setup (25, IO.IN) IO.setup (24, IO.IN) IO.setup (23, IO.IN) IO.setup (18, IO.IN)
Als de voorwaarde tussen de accolades waar is, worden de instructies in de lus één keer uitgevoerd. Dus als de GPIO-pin 21 hoog wordt, worden de instructies in de IF-lus één keer uitgevoerd. Als de GPIO-pin 21 niet hoog wordt, worden de instructies in de IF-lus niet uitgevoerd.
if (IO.input (21) == True):
Het onderstaande commando wordt gebruikt als forever loop, met dit commando worden de statements in deze loop continu uitgevoerd.
Terwijl 1:
Zodra we het onderstaande programma in PYTHON hebben geschreven en uitgevoerd, zijn we klaar om te gaan. Wanneer de pad wordt aangeraakt, trekt de module de bijbehorende pin omhoog en deze trigger wordt gedetecteerd door de PI. Na de detectie drukt de PI de juiste sleutel op het scherm.
Daarom hebben we een capacitief touchpad aan PI gekoppeld.