Cum să activați SPI / I2C pe zmeura Pi (și ce să le folosiți pentru)

Cum să activați SPI / I2C pe zmeura Pi (și ce să le folosiți pentru) / DIY

Raspberry Pi poate fi folosit pentru aproape orice. De la centrele media la domiciliu până la setările personalizate pentru jocurile retro, este sigur să spunem că computerele Pi și alte computere similare de la bord devin omniprezente.

Când începeți să experimentați cu pinii GPIO pe Raspberry Pi, lucrurile devin și mai interesante. Am acoperit deja ceea ce fac acești acei, deci acum să analizăm cum să activați protocoalele SPI și I2C de pe Pi și de ce ați putea dori să.

Ce este SPI pe Zmeura Pi?

Înainte de scufundări, să prezentăm pe scurt ceea ce fac aceste două protocoale.

SPI (sau interfața serial periferică) permite unui microcontroler, cum ar fi Pi, să comunice simultan cu peste 100 de componente periferice. Microcontrolerul funcționează ca a “maestru” la toate “sclav” componente și pot comunica cu aceștia la o viteză mare. Această diagramă descrie o conexiune SPI simplă:

Credit de imagine: Cburnett / wikipedia.org

Dacă aceasta este prima dată când citești despre SPI, poate părea destul de intimidantă, dar rămâi cu ea! SCLK este viteza de ceas setată de comandant, care determină viteza pe care informațiile o împărtășesc între dispozitive.

La fiecare ciclu (sau “căpușă”) a ceasului, atât comandantul cât și cel sclav trimit și primește câte un pic de informație. Aceasta este ceea ce Mosi (Master Out Slave In) și MISO (Master In Slave Out) sunt pini.

SS sau pinul Select Slave (marcat CE0 sau CE1 pe Pi) este folosit pentru a indica unui dispozitiv slave să comunice cu masterul sau nu în orice moment. În majoritatea cazurilor, fiecare dispozitiv slave necesită un pin SS propriu, dar poate împărți pini SCLK, MOSI și MISO.

Unele dispozitive pot fi “daisy înlănțuit” pentru a împărtăși un pin SS, păstrând pini total utilizați până la patru, plus două pentru putere și sol. SPI este cunoscut pentru faptul că este incredibil de rapid și este frecvent utilizat în registrele de deplasare sau ADC-uri (convertoare analogice la digital) pentru a transmite date între dispozitive.

Centrul de pornire îmbunătățit YouTube are un primer ușor de urmat pentru SPI, explicând în continuare protocolul:

Cum să activați SPI pe zmeura Pi

Pentru a activa SPI pe zmeura Pi, deschide-te raspi-config de la terminal introducând:

sudo raspi-config

Navigheaza catre Opțiuni de interfață, și selectați din meniul următor P4 SPI Activați / dezactivați încărcarea automată a modulului kernel SPI. Selectați da la fereastra de prompt. SPI este acum activată!

Alternativ, puteți activa SPI din /boot/config.txt fişier. Deschideți o fereastră terminal și introduceți:

sudo nano /boot/config.txt

Căutați o linie care citește # Dtparam = spi = on și eliminați # simbol. Indiferent de modul în care activați SPI, reporniți-vă Pi și SPI va fi activat.

Ce puteți face cu SPI pe zmeura Pi?

În timp ce există sute de proiecte diferite care utilizează multe periferice SPI diferite, un bun demaror proiect este programarea propriului dvs. cititor RFID.

Am folosit cititorul MFRC-522 în DIY Smart Lock cu Arduino și tutorialul RFID DIY Smart Lock cu Arduino și RFID Smart Lock Smart cu Arduino și RFID Iată cum să construiți o simplă blocare inteligentă pe bază de RFID folosind un Arduino ca coloană vertebrală și o câteva componente ieftine. Citeste mai mult . Pentru o introducere cu aromă Pi-aromă la RFID, verificați instrucțiunile piddlerintheroot în profunzime.

Acest tip de configurare nu este doar pentru electronica de hobby. În colecția noastră de cele mai bune proiecte de Raspberry Pi Cele 13 cele mai bune proiecte de zmeură Pi din 2017 Cele 13 cele mai bune proiecte de zmeură Pi din 2017 Veți fi suflați de aceste creații impresionante de cremă de rapiță Pi. Citiți mai mult, am prezentat un sistem MES pe scară largă, care funcționează utilizând Raspberry Pi și RFID, ca parte a unei operațiuni de fabrică la scară largă în Europa.

Ce este I2C pe Zmeura Pi?

I2C este un protocol de comunicare creat de Phillips Electronics, care a înregistrat o creștere a utilizării în proiecte de hobby bazate pe microcontrolere. Motivul pentru aceasta este evident - folosește doar două fire decât cele de minimum patru SPI-uri. De asemenea, este bine susținută de bibliotecile create de utilizatori. Există multe componente concepute pentru a fi utilizate cu I2C pe Raspberry Pi. În timp ce este mai lent decât SPI, acesta funcționează încă destul de repede pentru cele mai multe utilizări zilnice.

La fel ca SPI, protocolul are a maestru dispozitiv, cum ar fi Pi, și a sclav dispozitiv, cum ar fi ecranul, registrul de deplasare sau conducătorul auto.

Prima conexiune între dispozitive este SCL (Ceas serial) care este setat de master pentru a sincroniza transferul de date. A doua linie este SDA (Serial Data) care transferă datele înainte și înapoi între toate dispozitivele de pe magistrala I2C.

Dispozitivul principal începe comunicarea cu un a start bit și șapte biți adresa hexagonală. Acest lucru trebuie să se potrivească cu dispozitivul slave pentru ca aceștia să comunice. Acesta este modul în care atât de multe dispozitive pot fi utilizate numai cu două fire.

Aparatul principal specifică dacă dorește să citească sau să scrie (R / W) sclavul, înainte de a primi o confirmare sau ACK înapoi.

Un aspect ușor de urmărit și aprofundat la I2C este oferit încă o dată de Startupul Augmentat de la YouTuber:

Cum să activați I2C pe zmeura Pi

I2C este, de asemenea, activat pe Pi prin intermediul raspi-config meniul. Deschideți terminalul și introduceți:

sudo raspi-config

Utilizați tastele săgeți pentru a selecta Opțiuni de interfață, urmat de P5 I2C Activați / Dezactivați încărcarea automată a modulului de kernel I2C. Confirmați că doriți să activați protocolul și ar trebui să vedeți un ecran de confirmare.

Ca și în cazul SPI, puteți de asemenea să activați I2C modificând fișierul config.txt. Deschideți un terminal și introduceți:

sudo nano /boot/config.txt

Modificați #dtparam = i2c_arm = on, înlăturarea # simbol.

Reporniți Pi, iar I2C este gata să plece!

Ce puteți face cu I2C pe zmeură Pi?

I2C este excelent pentru orice proiect care necesită un număr mare de rezultate. O utilizare tipică este pentru ecrane LCD, care necesită până la 16 pini de utilizat. I2C aduce acest lucru la doar două pentru comunicare și două pentru putere și sol.

Multe ecrane LCD vin cu un I2C “rucsac” atașate, făcându-le mult mai simple de instalat și eliberând restul pinilor dvs. Pi pentru alți senzori și periferice.

TheRaspberryPiGuy are un tutorial detaliat pe YouTube cu privire la configurarea și utilizarea unui ecran LCD cu I2C pe Raspberry Pi

Folosind SPI și I2C salvează pini!

SPI si I2C pe Raspberry Pi nu sunt cu siguranta pentru incepatori de electronica de hobby, dar nu sunt de asemenea speriati de.

Înainte de scufundări, ar fi o idee bună să urmăriți ghidul nostru începător pentru Raspberry Pi pentru a afla elementele de bază.

Lucrul prin niște proiecte de exemplu este cel mai bun mod de a învăța și așteptăm cu nerăbdare să vedem ce veniți! Cine știe ce ciudate și minunate creaturi de zmeură Pi? 10 Proiectele cele mai ciudate de zmeură Pi 10 Cele mai ciudate proiecte de zmeură Pi Există un om de știință nebun în fiecare dintre noi, iar Raspberry Pi vă permite să vă scoți și să vă jucați. Uneori, lucrurile devin ciudate. Foarte ciudat. Citiți mai multe pe care le veți face?

Explorați mai multe despre: Raspberry Pi.