Annonse

verdig-RPI-GPIOHvis du selv om Arduino var kul, bare vent til du får tak i en Bringebær Pi Raspberry Pi: Den uoffisielle opplæringenEnten du er en nåværende Pi-eier som vil lære mer eller potensiell eier av denne enheten med kredittkortstørrelse, er dette ikke en guide du vil gå glipp av. Les mer - disse tingene er fantastiske. I tillegg til å være en fullt funksjonell datamaskin, har de også et utvalg av Generelt formål Input / Output pinner. Akkurat som en Arduino, kan vi bruke disse til å lage elektronikkprosjekter - og det er overraskende enkelt å komme i gang.

I dag kobler vi opp et relé og bruker det til å slå på en LED, men du kan like gjerne slå på en lampe.

Denne introduksjonen fungerer som den første delen av et større hjemmeautomatiseringsprosjekt. Christian har allerede lagt grunnlaget for komme i gang med en Pi Raspberry Pi: Den uoffisielle opplæringenEnten du er en nåværende Pi-eier som vil lære mer eller potensiell eier av denne enheten med kredittkortstørrelse, er dette ikke en guide du vil gå glipp av. Les mer

instagram viewer
, så jeg vil ikke gjenta de første trinnene her for å laste ned et operativsystem eller koble til SD-kortet - jeg antar at du har en arbeidende raspisk system allerede satt opp.

Advarsel: Selv om en bringebær Pi kan brukes på samme måte som en Arduino, det trengs litt mer omsorg. Pi-pinnene fungerer kl 3.3v, mens Arduino bruker 5v. Selv om det er mulig å ødelegge en Arduino, er det mye lettere å bryte en Pi ettersom pinnene kobles direkte til bordbrikken - hvis du sender 5v der nede, kan det steke den.

Vær derfor veldig forsiktig med å prøve å gjenskape Arduino-prosjekter på din Pi - enten følg en Pi-spesifikk opplæring, eller sørg for å ha en god forståelse av grunnleggende elektronikk.

Krav:

  • NPN-transistor, for eksempel P2N2222A
  • 1k motstand
  • relé; Jeg bruker en 4-relé 5v-modul som har ekstra beskyttelseskrets innebygd (så ikke behov for ekstra dioder
  • LED og 220 ohm motstand for testing
  • Utbrytningskabel

Breakout-kabel (“Cobbler Kit”)

GPIO-pinnene er plassert på siden av Pi, ved siden av RCA-videoutgangen.

breakout-kabel

Selv om du teknisk kan koble noen jumperkabler med kvinnelig slutt direkte til disse, er de ikke merket på noen nyttig måte, og det er derfor mer sannsynlig at du ødelegger noe. Få i stedet en brytekabel som thans fra Adafruit, eller en av de mange billigere klonene på eBay. Du må kanskje lodde dette, da det kommer i settform.

avslapnings-board

Selv om brettsiden har et hakk for å indikere riktig kabelplassering, gjør ikke Pi-siden det. Forsikre deg om at 3v- og 5v-pinnene i det fjerne hjørnet av Pi stemmer overens med de relevante pinnene på brettet. Selvfølgelig, hvis du kjøpte en sak som ikke avslører GPIO-overskriften, vil du trenge å løpe med nakne Pi, eller kutte et hull.

klar-case-GPIO

Alternativt kan du få et fullpensjon som fester seg på toppen av Pi-en din, og kommer vanligvis med et utvalg nyttige komponenter.

Grunnkrets

Sett opp kretsen som beskrevet nedenfor. Jeg har utelatt stafettkretsene, da dette vil variere. Bruke NEI (normalt lukket) og COM terminaler på reléet for LED eller annen enhet.

krets

Bruk pinne 4 fra Raspberry Pi. På breakout-brettet mitt er det merket + GPCLK0; uansett er det den fjerde pin-telleren fra 3V3.

pin4

Test av kommandolinjen

I de følgende eksemplene antar jeg at du er logget inn via SSH eller på annen måte som rotbruker. Hvis ikke, må du forordføre noen av kommandoene med sudo for forhøyede privilegier.

Først må vi installere WiringPi.

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

Forutsatt at alt gikk bra, skulle vi nå kunne kontrollere GPIO direkte fra kommandolinjen slik:

gpio -g modus 4 ut. gpio -g skriv 4 1

Den første kommandoen ligner på Arduinos oppsettfunksjon, der vi forteller at Pi bruker pinne 4 som utgang. Den neste kommandoen skriver en verdi på 1 til pinnen, som skal utløse transistoren, aktivere reléet, lukke kretsen for lysdioden og slå den på.

Rått. Hvis det ikke gjør det, kan du gå tilbake og sjekke ledningene. Klikker stafetten?

Python

Selv om Python ikke er den eneste måten å kommunisere med GPIO-pinnene på, anses den generelt som den enkleste, og den er den mest funnet i eksisterende prosjekter. I motsetning til C, er Python relativt enkel å plukke opp (Her er 5 nettsteder å lære Python De 5 beste nettstedene for å lære Python-programmeringVil du lære Python-programmering? Her er de beste måtene å lære Python online, hvorav mange er helt gratis. Les mer ).

Begynn med å installere følgende Python-utvidelser:

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

Nå, lag en ny fil som heter test.py. Hvis du bruker en kommandolinje, skriver du inn

nano test.py

Lim inn eller skriv inn følgende (også på dette pastebin):

importer RPi. GPIO som GPIO. importtid. GPIO.setmode (GPIO.BCM) GPIO.setup (4, GPIO.OUT) for x innen rekkevidde (0,10): time.sleep (5) GPIO.output (4,1) time.sleep (5) GPIO.output (4,0)

Dette er et veldig enkelt Python-skript som skal slå lysdioden (eller hva du enn har koblet til stafetten) på i 5 sekunder, og deretter slått av i 5 sekunder, 10 ganger. Du skal kunne forstå det meste av koden. De GPIO.setmode linje brukes ganske enkelt for å indikere pin-nummereringsskjemaet vi skal bruke.

Det er det! For å kjøre koden skriver du inn:

python test.py
ferdig

Neste uke skal vi utdype oppsettet litt og gjøre noen spennende ting som å legge til stemmekontroll. Hvis du skal legge til høyspenningselektriske elementer i relékretsen, vil du være sikker på at du bruker et riktig vurdert relé på strømkabelen, og sørg for å omslutte alt slik at det er borte fra de nysgjerrige fingrene til babyer, eller mamma. Men seriøst, vær trygg.

Legg inn spørsmål, kommentarer, tilbakemeldinger og haikuer i boksen nedenfor - men husk at jeg vil gi deg karakter på bruk av grammatikk.

James har en BSc i kunstig intelligens, og er CompTIA A + og Network + sertifisert. Han er hovedutvikler av MakeUseOf, og bruker fritiden sin på å spille VR paintball og brettspill. Han har bygd pc-er siden han var liten.