Hvordan aktivere SPI / I2C på Raspberry Pi (og hva de skal bruke dem til)
Raspberry Pi kan brukes til nesten alt. Fra hjemmet media sentre til egendefinerte retro gaming oppsett, er det trygt å si at Pi og lignende single-board datamaskiner blir allestedsnærværende.
Når du begynner å eksperimentere med GPIO-pinnene på Raspberry Pi, blir det enda mer interessant. Vi har allerede dekket hva alle pinnene gjør, så nå la oss se på hvordan du aktiverer SPI- og I2C-protokollene på Pi og hvorfor du kanskje vil.
Hva er SPI på Raspberry Pi?
Før du dykker inn, la oss kort dekke hva disse to protokollene gjør.
SPI (eller Serial Peripheral Interface) tillater en mikrokontroller som Pi å kommunisere med over 100 perifere komponenter samtidig. Mikrokontrolleren fungerer som en “herre” til alle “slave” komponenter, og kan kommunisere med dem med høy hastighet. Dette diagrammet beskriver en enkel SPI-tilkobling:
Hvis dette er første gang du leser om SPI, kan det virke ganske skremmende, men hold deg til det! SCLK er klokkens hastighet satt av mesteren som bestemmer hvilken hastighet informasjonen deles mellom enhetene.
Ved hver syklus (eller “sett kryss”) på klokken, sender både mester og slave og mottar en bit informasjon. Dette er hva Mosi (Master Out Slave In) og Miso (Master In Slave Out) pins er til.
De SS eller Slave Select-pin (merket CE0 eller CE1 på Pi) brukes til å fortelle en slaveenhet å kommunisere med master- eller ikke-til enhver tid. I de fleste tilfeller krever hver slaveenhet sin egen SS-pin, men kan dele SCLK-, MOSI- og MISO-pinnene.
Noen enheter kan være “daisy chained” å dele en SS-pinne, holde de totale pinnene brukt ned til fire, pluss to for kraft og bakken. SPI er kjent for å være utrolig rask og brukes ofte i skiftregister eller ADC (analog til digital omformere) for å overføre data mellom enheter.
Augmented Startups YouTube-kanalen har en enkel å følge grunnleggende for SPI som forklarer protokollen ytterligere:
Slik aktiverer du SPI på Raspberry Pi
For å aktivere SPI på din Raspberry Pi, åpne Raspi-config fra terminalen ved å skrive inn:
sudo raspi-config
Navigere til Interfacing Options, og i den følgende menyen velg P4 SPI Aktiver / deaktiver automatisk lasting av SPI-kjernemodul. Å velge Ja ved vinduet ledeteksten. SPI er nå aktivert!
Alternativt kan du aktivere SPI fra /boot/config.txt fil. Åpne et terminalvindu og skriv inn:
sudo nano /boot/config.txt
Se etter en linje som leser # Dtparam = spi = på og fjern # symbol. Uansett hvilken måte du aktiverer SPI, start på nytt Pi og SPI blir aktivert.
Hva kan du gjøre med SPI på Raspberry Pi?
Mens det er hundrevis av forskjellige prosjekter som bruker mange forskjellige SPI-kringkasting, programmerer et godt startprosjekt din egen RFID-leser.
Vi brukte MFRC-522-leseren i vår DIY Smart Lock med Arduino og RFID-veiledning DIY Smart Lock med Arduino og RFID DIY Smart Lock med Arduino og RFID Slik bygger du en enkel RFID-basert smart lås ved hjelp av en Arduino som ryggraden og en få billige komponenter. Les mer . For en Raspberry Pi-smaksatt introduksjon til RFID, sjekk ut piddlerintheroot's In-depth Instructable.
Denne typen oppsett er ikke bare for hobbyelektronikk heller. I vår samling av beste Raspberry Pi-prosjekter De 13 beste Raspberry Pi-prosjektene i 2017 De 13 beste Raspberry Pi-prosjektene i 2017 Du vil bli blåst bort av disse imponerende kreative Raspberry Pi-prosjektene. Les mer, vi presenterte et fullskala MES-system som kjører med Raspberry Pi og RFID, som en del av en storskala fabrikkoperasjon i Europa.
Hva er I2C på Raspberry Pi?
I2C er kommunikasjonsprotokoll opprettet av Phillips Electronics, som har sett en bølge av bruk i mikrokontrollerbaserte hobbyprosjekter. Årsaken til dette er åpenbart - det bruker bare to ledninger i stedet for SPIs minimum fire. Den støttes også av brukerlagde biblioteker. Det er mange komponenter designet for å bli brukt med I2C på Raspberry Pi. Mens det er tregere enn SPI, fungerer det fortsatt raskt nok for de fleste daglige bruksområder.
I likhet med SPI har protokollen en herre enhet, for eksempel Pi, og a slave enhet, for eksempel en skjerm, skiftregister eller motordriver.
Den første forbindelsen mellom enhetene er SCL (Serial Clock) som er satt av master for å synkronisere overføringen av data. Den andre linjen er SDA (Serial Data) som overfører dataene frem og tilbake mellom alle enhetene på I2C-bussen.
Masterenheten begynner kommunikasjon med a start litt, og en syv-bit hex-adresse. Dette må samsvare med slaveenheten slik at de kan kommunisere. Slik kan så mange enheter brukes med bare to ledninger.
Masterenheten angir deretter om den vil lese eller skrive (R / W) Slaven, før du mottar en bekreftelse eller ACK tilbake.
En lett å følge og grundig se på I2C tilbys igjen av YouTuber Augmented Startups:
Hvordan aktivere I2C på Raspberry Pi
I2C er også aktivert på Pi via Raspi-config Meny. Åpne terminalen og skriv inn:
sudo raspi-config
Bruk piltastene til å velge Interfacing Options, etterfulgt av P5 I2C Aktiver / deaktiver automatisk lasting av I2C-kjernemodul. Bekreft at du vil aktivere protokollen, og du bør se en bekreftelsesskjerm.
Som med SPI, kan du også aktivere I2C ved å endre din config.txt-fil. Åpne en terminal og skriv inn:
sudo nano /boot/config.txt
Endre #dtparam = i2c_arm = på, fjerner # symbol.
Reboot din Pi, og I2C er klar til å gå!
Hva kan du gjøre med I2C på Raspberry Pi?
I2C er flott for ethvert prosjekt som krever et stort antall utganger. En typisk bruk er for LCD-skjermer, som krever opptil 16 pins å bruke. I2C bringer dette ned til bare to for kommunikasjon og to for kraft og jord.
Mange LCD-skjermer leveres med en I2C “ryggsekk” festet, noe som gjør dem mye enklere å sette opp og frigjøre resten av Pi-pinnene dine til andre sensorer og eksterne enheter.
TheRaspberryPiGuy har en detaljert YouTube-opplæring om å sette opp og bruke en LCD-skjerm med I2C på Raspberry Pi
Ved hjelp av SPI og I2C lagres pins!
SPI og I2C på Raspberry Pi er absolutt ikke for komplette hobby elektronikk nybegynnere, men de er heller ikke noe å være redd for.
Før du dykker inn, vil det være en god ide å følge vår nybegynners guide til Raspberry Pi for å lære det grunnleggende.
Å jobbe gjennom noen eksempler på prosjekter er den beste måten å lære på, og vi gleder oss til å se hva du kommer med! Hvem vet hva merkelig og herlig Raspberry Pi kreasjoner 10 Rarlig hindbær Pi-prosjekter 10 Rarlig hindbær Pi-prosjekter Det er en sint forsker i hver av oss, og Raspberry Pi lar din indre lønn komme ut og leke. Noen ganger blir ting merkelige. Virkelig rart. Les mer du vil gjøre?
Utforsk mer om: Raspberry Pi.