Sådan aktiveres SPI / I2C på hindbærpi (og hvad de skal bruges til)

  • Gabriel Brooks
  • 0
  • 5305
  • 1612
Reklame

Raspberry Pi kan bruges til næsten alt. Fra hjemme-mediecentre til brugerdefinerede retro-gaming-opsætninger er det sikkert at sige, at Pi og lignende single-board computere bliver allestedsnærværende..

Når du begynder at eksperimentere med GPIO-stifterne på Raspberry Pi, bliver tingene endnu mere interessante. Vi har allerede dækket hvad alle disse pins gør, så lad os nu se på, hvordan du aktiverer SPI- og I2C-protokoller på din Pi, og hvorfor du måske vil.

Hvad er SPI på Raspberry Pi?

Før vi dykker ind, lad os kort dække, hvad disse to protokoller gør.

SPI (eller Serial Peripheral Interface) gør det muligt for en mikrocontroller som Pi at kommunikere med over 100 perifere komponenter på en gang. Mikrokontrolleren fungerer som en “mestre” til alle “slave” komponenter, og kan kommunikere med dem i høj hastighed. Dette diagram skitserer en enkel SPI-forbindelse:

Billedkredit: Cburnett / wikipedia.org

Hvis dette er din første gang, du læser om SPI, kan det virke ganske skræmmende, men hold dig med det! SCLK er det urhastighed, der er indstillet af masteren, der bestemmer den hastighed, informationen deles mellem enhederne.

Ved hver cyklus (eller “skovflåt”) af uret, både master og slave sender og modtager en bit information. Dette er hvad Mosi (Master Out Slave In) og MISO (Master In Slave Out) ben er til.

Det SS eller Slave Select pin (markeret CE0 eller CE1 på Pi) bruges til at bede en slaveenhed om at kommunikere med masteren eller ikke på et givet tidspunkt. I de fleste tilfælde kræver hver slaveenhed sin egen SS-pin, men kan dele SCLK-, MOSI- og MISO-stifterne.

Nogle enheder kan være “daisy bundet” at dele en SS-stift ved at holde de samlede ben anvendte nede på fire plus to til strøm og jord. SPI er kendt for at være utroligt hurtig og bruges ofte i skiftregistre eller ADC'er (Analoge til digitale konvertere) til at videregive data mellem enheder.

Forøgede opstart YouTube-kanal har en let at følge primer til SPI, der forklarer protokollen yderligere:

Sådan aktiveres SPI på Raspberry Pi

Åbn SPI for at aktivere SPI på din Raspberry Pi raspi-config fra terminalen ved at komme ind:

sudo raspi-config

Naviger til Interfaces indstillinger, og vælg i den følgende menu P4 SPI Aktiver / deaktiver automatisk indlæsning af SPI-kernemodul. Vælg Ja ved vinduet prompten. SPI er nu aktiveret!

Alternativt kan du aktivere SPI fra /boot/config.txt fil. Åbn et terminalvindue, og indtast:

sudo nano /boot/config.txt

Se efter en linje, der læser # Dtparam = SPI = på og fjern # symbol. Uanset hvilken måde du aktiverer SPI, genstart din Pi og SPI vil være aktiveret.

Hvad kan du gøre med SPI på Raspberry Pi?

Mens der er hundreder af forskellige projekter, der bruger mange forskellige SPI-perifere enheder, programmerer et godt startprojekt din egen RFID-læser.

Vi brugte MFRC-522 læseren i vores DIY Smart Lock med Arduino og RFID tutorial DIY Smart Lock med Arduino og RFID DIY Smart Lock med Arduino og RFID Her er hvordan man bygger en simpel RFID-baseret smart lock ved hjælp af en Arduino som rygraden og en få billige komponenter. . For en Raspberry Pi-flavored introduktion til RFID, se piddlerintheroot's dybdegående instruktionsdygtige.

Denne form for opsætning er heller ikke kun til hobbyelektronik. I vores samling af bedste Raspberry Pi-projekter De 13 bedste Raspberry Pi-projekter i 2017 De 13 bedste Raspberry Pi-projekter i 2017 Du vil blive sprængt væk af disse imponerende kreative Raspberry Pi-projekter. , vi indeholdt et MES-system i fuld skala, der kører ved hjælp af Raspberry Pi og RFID, som del af en storstilet fabriksdrift i Europa.

Hvad er I2C på Raspberry Pi?

I2C er en kommunikationsprotokol oprettet af Phillips Electronics, der har set en stigning i brugen i mikrokontrollerbaserede hobbyprojekter. Årsagen til dette er åbenlyst - den bruger kun to ledninger i stedet for SPIs mindst fire. Det understøttes også godt af brugerfremstillede biblioteker. Der er mange komponenter designet til at blive brugt sammen med I2C på Raspberry Pi. Selvom det er langsommere end SPI, fungerer det stadig hurtigt nok til de fleste daglige anvendelser.

Ligesom SPI har protokollen en mestre enhed, såsom Pi, og en slave enhed, såsom en skærm, skiftregister eller motordriver.

Den første forbindelse mellem enhederne er SCL (Serial Clock), som er indstillet af masteren til at synkronisere dataoverførslen. Den anden linje er SDA (Seriedata), der overfører dataene frem og tilbage mellem alle enheder på I2C-bussen.

Masterenheden begynder kommunikation med en Start bit og en syvbits hex-adresse. Dette skal matche slaveenheden, så de kan kommunikere. Sådan kan så mange enheder kun bruges med to ledninger.

Masterenheden specificerer derefter, om den vil læse eller skrive (R / W) slaven, før han modtager en bekræftelse eller ACK tilbage.

Et let at følge og dybtgående kig på I2C leveres igen af ​​YouTuber Augmented Startups:

Sådan aktiveres I2C på Raspberry Pi

I2C er også aktiveret på Pi via raspi-config menu. Åbn terminalen og indtast:

sudo raspi-config

Brug piletasterne til at vælge Interfaces indstillinger, efterfulgt af P5 I2C Aktiver / deaktiver automatisk indlæsning af I2C-kernemodulet. Bekræft, at du vil aktivere protokollen, og du skal se en bekræftelsesskærm.

Som med SPI kan du også aktivere I2C ved at ændre din config.txt-fil. Åbn en terminal og indtast:

sudo nano /boot/config.txt

Rediger #dtparam = i2c_arm = på, fjerne # symbol.

Genstart din Pi, og I2C er klar til at gå!

Hvad kan du gøre med I2C på Raspberry Pi?

I2C er fantastisk til ethvert projekt, der kræver et stort antal output. En typisk anvendelse er til LCD-skærme, som kræver op til 16 ben til at bruge. I2C nedbringer dette til kun to for kommunikation og to for strøm og jord.

Mange LCD-skærme leveres med en I2C “rygsæk” tilsluttet, hvilket gør dem meget enklere at installere og frigøre resten af ​​dine Pi-stifter til andre sensorer og perifere enheder.

TheRaspberryPiGuy har en detaljeret YouTube-tutorial om opsætning og brug af en LCD-skærm med I2C på Raspberry Pi

Brug af SPI og I2C gemmer pins!

SPI og I2C på Raspberry Pi er bestemt ikke til komplette begyndere af hobbyelektronik, men de er heller ikke noget at være bange for.

Før du dykker ind, ville det være en god ide at følge vores begyndervejledning til Raspberry Pi for at lære det grundlæggende.

At arbejde gennem nogle eksempler på projekter er den bedste måde at lære, og vi ser frem til at se, hvad du kommer frem til! Hvem ved, hvilke rare og vidunderlige hindbær-Pi-kreationer 10 Mærkelige hindbær-Pi-projekter 10 Mærkelige hindbær-Pi-projekter Der er en gal videnskabsmand inden for hver af os, og Raspberry Pi lader din indre loon komme ud og lege. Undertiden bliver ting underligt. Virkelig underligt. du laver?




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.