interfață Spi și Arduino

Figura ilustrează acest tabel.

interfață Spi și Arduino
Patru modul de interfață SPI

interfață SPI oferă mai multe opțiuni pentru a conecta sclavi: un independent și în cascadă. Cu conectarea independentă la dispozitivul de master de autobuz SPI se adresează fiecare sclav în mod individual. Când sunt activate sclavi cascading alternativ, ca o cascadă.

interfață Spi și Arduino
Tipuri de dispozitive de conectare pentru a lucra la interfața SPI: independentă și cascadă

2 Punerea în aplicare a familiilor de interfață SPI Arduino placi

Interfața de autobuz Arduino SPI sunt pe anumite porturi. Fiecare bord concluziile lor. Pentru comoditate, rezultatele sunt duplicate și, de asemenea, efectuate pe un ICSP conector separat (în circuitul de programare serial, dispozitiv inclus în circuitul de programare, prin protocolul serial). Vă rugăm să rețineți că nu există pini conector ICSP Slave - SS, deoarece Aceasta a însemnat că Arduino să fie utilizat ca un dispozitiv master în rețea. Dar, dacă este necesar, aveți posibilitatea să atribuiți orice ieșire digitală Arduino ca SS.

Figura prezintă standard concluziile corespunzătoare autobuze SPI pentru Arduino UNO si Nano.

interfață Spi și Arduino
Punerea în aplicare a interfețe SPI pe placa Arduino UNO și Arduino Nano

3 pentru a lucra cu SPI Interface Library

Este scris pentru biblioteca speciala Arduino. care implementează protocolul SPI. Conectați-l astfel: la începutul programului adăuga #include SPI.h.

Pentru a începe pe protocolul SPI. trebuie să specificați setările, și apoi inițializa protocolul folosind procedura SPI.beginTransaction (). Puteți face acest lucru cu o singură instrucțiune: SPI.beginTransaction (SPISettings (14000000, MSBFIRST, SPI_MODE0))

Acest lucru înseamnă că inițializa protocolul SPI la o frecvență de 14 MHz, transmisia de date merge, începând cu MSB (bitul cel mai semnificativ) în modul SPI_MODE0.

După inițializare, slave selectați traducerea SS PIN-ul corespunzător la starea LOW.

Apoi date slave peredaom SPI.transfer () de comandă.

După SS transmitere a reveni la starea HIGH.

interfață Spi și Arduino
diagrama de timp de interfață SPI

Lucrarea este completată cu comanda de protocol SPI.endTransaction ().

Este de dorit să se reducă la minimum timpul de execuție a transmisiei între instrucțiuni SPI.beginTransaction () și SPI.endTransaction (), că nu a existat nici o suprapunere, în cazul în care celălalt dispozitiv încearcă să inițializa transferul de date utilizând alte setări.

Conectarea registrului de deplasare 4 la Arduino

Luați în considerare aplicarea practică a interfeței SPI. Noi lumina LED-uri prin controlul registrului de deplasare de 8 biți pe SPI autobuz. Arduino conectat la un registru de deplasare 74HC595. Pentru fiecare dintre 8 ieșiri registru conectați printr-un rezistor de limitare pentru valoarea nominală LED 220 Ohm. Schema este prezentată în figură.

interfață Spi și Arduino
Cablarea la registrul de deplasare 74HC595 Arduino

5 Schița pentru a controla registrul de deplasare, prin intermediul SPI

Să scrie o schiță.

Mai întâi conectați biblioteca SPI și inițializa interfața SPI. Definiți un cod PIN 8 ca selectați PIN-ul SS slave. registru de deplasare curat prin trimiterea la acesta valoarea „0“. Inițializare portul serial.

Pentru a aprinde o diodă emițătoare de lumină specifică, folosind un registru de deplasare, este necesar să se prezinte numărul său de intrare pe 8 biți. De exemplu, pentru a porni primul LED - Servim număr binar 00000001 la al doilea - 00000010 a treia - 00000100, etc. Aceste numere binare când traduse într-un sistem numeric zecimal pentru a forma o secvență de 1, 2, 4, 8, 16, 32, 64, 128 și sunt puteri de două de la 0 la 7.

Prin urmare, în ciclul buclă () de numărul de LED-uri fac central de la 0 la 7. pow Funcția (putere de bază) 2 contorul reușește să ridice ciclu energetic. Microcontrolere nu sunt foarte precise de lucru cu numere, cum ar fi „dublu“, astfel încât pentru a converti rezultatul la un întreg folosind rotund funcția rotunjiri (). Și treci numărul rezultat în registrul de deplasare. Pentru claritate în valorile de serie monitorului de ieșire, care sunt obținute prin această operațiune: edinichka „runs“ deversărilor - LED-uri val de lumină.

interfață Spi și Arduino
Numerele trimise la registrul de deplasare 74HC595

6 „val de călătorie“, a LED-urilor

LED-urile se aprind unul câte unul, și am văzut rulează „val“ de lumini. LED-ul este controlat de către registrul de deplasare, la care suntem conectate prin intermediul SPI. Ca urmare, LED-urile de control a 8-3 numai implicate de ieșire Arduino. Dacă am conectat LED-ul direct la porturile digitale Arduino, ar trebui să utilizați un port separat pentru fiecare LED.

Am studiat cel mai simplu exemplu de lucru cu autobuzul Arduino SPI. O privire mai atentă la activitatea unui număr de registre de deplasare într-un independent și în cascadă într-un articol separat.

În prezența a internetului:

În Panoul de control, în secțiunea Programe și caracteristici. selectați Activează sau dezactivează componentele Windows. găsi .NET Framework 3.5, și bifați caseta în acest moment.

Fără acces la rețea:

  1. Introduceți discul cu Windows 8 DVD-ROM sau de a extrage imaginea pe hard disk.
  2. Lansați un instrument de linie de comandă (cmd) cu drepturi de administrator.
  3. Executați următoarele comenzi:

interfață Spi și Arduino

articole recente

interfață Spi și Arduino

Orice fișier de calculator, după cum se știe, este format din octeți. Byte poate lua valori de la 0 la 255. entropie informații ...

interfață Spi și Arduino

Să conecta două calculatoare cu ajutorul unui emițător radio ieftine și un receptor radio și să dea peste aer între calculatoare unele date ...

interfață Spi și Arduino

Toți cei care începe să studieze Arduino, familiarizat cu mediul de dezvoltare Arduino IDE. Acesta vă permite să scrie schițe, validați și ...

interfață Spi și Arduino

Temperatura și senzor de umiditate DHT17 - senzor popular și ieftin, care poate fi utilizat într-o gamă destul de largă de temperaturi ...

interfață Spi și Arduino

Pe Internet, există mai multe opțiuni pentru calcularea sumei de control CRC. Dar ce este de fapt o sumă de control și ...

interfață Spi și Arduino

Producator DSO138 osciloscop nu lasă utilizatorii și actualizează periodic software-ul ( „firmware“) pentru dispozitivele. Să vedem ...

interfață Spi și Arduino

Intr-un articol anterior am abordat pe scurt cu aplicarea registrului de deplasare, în special, 74HC595. Să aruncăm o mai detaliată ...

interfață Spi și Arduino

Luați în considerare modulul de conectare GY-273 cu trei axe busola digitala firma HMC5883L Honeywell. Acest cip poate fi folosit pentru măsurători magnetometrice ...

interfață Spi și Arduino

10-15 ani în urmă, portul paralel a fost destul de popular interfață pentru comunicarea între dispozitive. Astăzi, producătorii de diverse dispozitive da ...

interfață Spi și Arduino

Se întâmplă ca programele de scriere pentru Arduino, încărcate în memorie, și totul funcționează bine. Și apoi dintr-o dată - ...