Reklame
Hvis du selvom Arduino var sej, skal du bare vente til du får hænderne på en Hindbær Pi Raspberry Pi: Den uofficielle tutorialUanset om du er en nuværende Pi-ejer, der vil lære mere eller en potentiel ejer af denne enhed med kreditkortstørrelse, er dette ikke en guide, du vil gå glip af. Læs mere - 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 forbinder vi et relæ og bruger det til at tænde en LED, men du kan lige så let tænde en lampe.
Denne introduktion fungerer som den første del til et større hjemmeautomatiseringsprojekt. Christian har allerede lagt grundlaget for at komme i gang med en Pi Raspberry Pi: Den uofficielle tutorialUanset om du er en nuværende Pi-ejer, der vil lære mere eller en potentiel ejer af denne enhed med kreditkortstørrelse, er dette ikke en guide, du vil gå glip af. Læs mere
, 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 nemmere at bryde en Pi, da stifterne forbindes direkte til ombordchippen - at sende 5v dernede kan stege den.
Vær derfor meget forsigtig med at prøve at replikere Arduino-projekter på din 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
Breakout-kabel (“Cobbler Kit”)
GPIO-stifterne er placeret på siden af Pi ved siden af RCA-videoudgangsstikket.

Selvom du teknisk set kunne tilslutte nogle kvindelige ende jumperkabler direkte til disse, er de ikke mærket på nogen nyttig måde, og du er derfor mere tilbøjelig til at ødelægge noget. Få i stedet et afbrydelseskabel som f.ekshans 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 det ikke. Sørg for, at 3v- og 5v-stifterne i det fjerneste hjørne af Pi stemmer overens med de relevante stifter på brættet. Selvfølgelig, hvis du har købt en sag, der ikke afslører 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øbene, 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å min breakout-bord er det mærket + GPCLK0; uanset det er den fjerde pin der 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 tilstand 4 ud. 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, som 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-pinsene på, betragtes den generelt som den nemmeste og er den mest almindelige i eksisterende projekter. I modsætning til C er Python relativt let at hente (Her er 5 steder at lære Python De 5 bedste websteder til at lære Python-programmeringVil du lære Python-programmering? Her er de bedste måder at lære Python online, hvoraf mange er helt gratis. Læs mere ).
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å tændt) denne pastebin):
importer RPi. GPIO som GPIO. importtid. GPIO.setmode (GPIO.BCM) GPIO.setup (4, GPIO.OUT) for x inden for intervallet (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.
James har en BSc i kunstig intelligens og er CompTIA A + og Network + certificeret. Han er hovedudvikler af MakeUseOf og bruger sin fritid på at spille VR paintball og brætspil. Han har bygget pc'er siden han var barn.