Kom godt i gang med GPIO på en hindbærpi

  • Brian Curtis
  • 0
  • 1309
  • 256
Reklame

Hvis du selvom Arduino var sej, skal du bare vente til du får hænderne på en Raspberry Pi - disse ting er fantastiske. Ud over at være en fuldt funktionsdygtig computer har de også et udvalg af Generelt formål Input / Output ben. Ligesom en Arduino kan vi bruge disse til at oprette elektronikprojekter - og det er overraskende let at komme i gang.

I dag tilslutter vi et relæ og bruger det til at tænde en LED, men du kan lige så let tænde for en lampe.

Denne introduktion fungerer som den første del til et større hjemmeautomatiseringsprojekt. Christian har allerede lagt grunden til at komme i gang med en Pi, så jeg gentager ikke de første trin her med at downloade et operativsystem eller tilslutte SD-kortet - jeg antager, at du har en arbejde Raspian system allerede konfigureret.

Advarsel: Selvom en Raspberry Pi kan bruges på lignende måde som en Arduino, er der behov for lidt mere pleje. Pi-stifterne fungerer kl 3.3v, mens Arduino bruger 5v. Selvom det er muligt at ødelægge en Arduino, er det meget lettere at bryde en Pi, da stifterne forbindes direkte til ombordchippen - at sende 5v dernede kan stege det.

Vær derfor meget forsigtig med at prøve at replikere Arduino-projekter på dit Pi - enten følg en Pi-specifik tutorial, eller sørg for at have en god forståelse af grundlæggende elektronik.

Krav:

  • NPN-transistor, såsom P2N2222A
  • 1k modstand
  • relay; Jeg bruger et 4-relæ 5v modul, der har indbygget ekstra beskyttelseskredsløb (så der er ikke behov for ekstra dioder
  • LED og 220 ohm modstand til test
  • Udbrudskablet

Afbrydelseskabel (“Skomakersæt”)

GPIO-stifterne er placeret på siden af ​​Pi ved siden af ​​RCA-videoudgangsstikket.

Selvom du teknisk set kunne tilslutte nogle kvinder med enderne jumper direkte til disse, er de ikke mærket på nogen nyttig måde, og det er derfor mere sandsynligt, at du ødelægger noget. Få i stedet et breakout-kabel som dette fra Adafruit eller en af ​​de mange billigere kloner på eBay. Det kan være nødvendigt at du lodder dette, da det kommer i kitform.

Selvom kortsiden har et hak i det for at indikere korrekt kabelplacering, gør Pi-siden ikke det. Sørg for, at 3v- og 5v-stifterne i det fjerne hjørne af Pi stemmer overens med de relevante stifter på brættet. Selvfølgelig, hvis du har købt en sag, der ikke udsætter GPIO-overskriften, bliver du nødt til at løbe med nøgen Pi eller skære et hul.

Alternativt kan du få et fuldpension, der anbringer oven på din Pi, og som normalt kommer med et udvalg af nyttige komponenter.

Grundlæggende kredsløb

Indstil kredsløbet som beskrevet nedenfor. Jeg har udeladt relæ-kredsløb, da dette vil variere. Brug INGEN (normalt lukket) og KOM terminaler på dit relæ til din LED eller anden enhed.

Brug pin 4 fra Raspberry Pi. På mit breakout-bord er det mærket + GPCLK0; uanset det er den fjerde pin tæller fra 3V3.

Test af kommandolinjen

I de følgende eksempler antager jeg, at du er logget ind via SSH eller på anden måde som root-bruger. Hvis ikke, skal du forord nogle af kommandoerne med sudo for forhøjede privilegier.

Først skal vi installere WiringPi.

git klon git: //git.drogon.net/wiringPi cd wiringPi ./build

Hvis vi antager, at alt gik godt, skulle vi nu være i stand til direkte at kontrollere GPIO fra kommandolinjen som denne:

gpio -g mode 4 out gpio -g skriv 4 1

Den første kommando ligner Arduinos opsætningsfunktion, hvor vi fortæller, at Pi bruger pin 4 som output. Den næste kommando skriver en værdi på 1 til stiften, der skal udløse transistoren, aktivere relæet, lukke lysdioden for LED og tænde den.

Fantastisk. Hvis det ikke gør det, skal du gå tilbage og kontrollere dine ledninger. Klikker relæet?

Python

Selvom Python ikke er den eneste måde at kommunikere med GPIO-stifterne på, betragtes den generelt som den nemmeste, og det er den mest almindelige i eksisterende projekter. I modsætning til C er Python relativt let at hente (her er 5 steder til at lære Python De 5 bedste websteder til at lære Python-programmering De 5 bedste websteder til at lære Python-programmering Vil du lære Python-programmering? Her er de bedste måder at lære Python online, hvoraf mange er helt gratis.).

Begynd med at installere følgende Python-udvidelser:

apt-get install python-dev apt-get install python-rpi.gpio

Opret nu en ny fil kaldet test.py. Hvis du bruger en kommandolinje, skal du skrive

nano test.py

Indsæt eller skriv følgende (også på denne pastebin):

import RPi.GPIO som GPIO importtid GPIO.setmode (GPIO.BCM) GPIO.setup (4, GPIO.OUT) for x inden for interval (0,10): time.sleep (5) GPIO.output (4,1) time.sleep (5) GPIO.output (4,0)

Dette er et meget simpelt Python-script, der vil tænde lysdioden (eller hvad du end tilslutter dig dit relæ) i 5 sekunder og derefter slukke i 5 sekunder, 10 gange. Du skal være i stand til at forstå det meste af koden. Det GPIO.setmode linje bruges simpelthen til at indikere det pin-nummereringsskema, vi skal bruge.

Det er det! For at køre koden skal du indtaste:

python test.py

I næste uge uddyber vi opsætningen lidt og gør nogle spændende ting som at tilføje stemmestyring. Hvis du vil tilføje elektriske højspændingselementer til relækredsløbet, vil du være sikker på, at du bruger et passende klassificeret relæ på strømkablen, og sørg for at omslutte alt, så det er væk fra babyens eller morens nysgerrige fingre. Alvorligt, pas godt på dig selv.

Send dine spørgsmål, kommentarer, feedback og haikus i boksen nedenfor - men husk at jeg bedømmer dig om brug af grammatik.




Endnu ingen kommentarer

Om moderne teknologi, enkel og overkommelig.
Din guide i en verden af moderne teknologi. Lær hvordan du bruger de teknologier og gadgets, der omgiver os hver dag, og lær, hvordan du finder interessante ting på Internettet.