interfață Spi și Arduino
Figura ilustrează acest tabel.
![spi interfață și Arduino (folosind un registru de deplasare) interfață Spi și Arduino](https://webp.images-on-off.com/26/263/434x244_76ndq22d0ybsdu0i8gpd.webp)
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 (Punerea în aplicare a plăcilor de interfață) interfață Spi și Arduino](https://webp.images-on-off.com/26/263/434x166_j96s9hvzs44wn8yptxva.webp)
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 plăcilor de interfață) interfață Spi și Arduino](https://webp.images-on-off.com/26/263/434x322_h44wsvbb4z7y68dph82p.webp)
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 (Arduino) interfață Spi și Arduino](https://webp.images-on-off.com/26/263/434x165_t39h5azir8m8gu2zgo4g.webp)
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ă.
![spi interfață și Arduino (folosind un registru de deplasare) interfață Spi și Arduino](https://webp.images-on-off.com/26/263/434x337_5eby7hz8kiux06vhtfue.webp)
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 (Arduino) interfață Spi și Arduino](https://webp.images-on-off.com/26/263/364x550_fa9flu6sh8zwt6jyt7nr.webp)
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:
- Introduceți discul cu Windows 8 DVD-ROM sau de a extrage imaginea pe hard disk.
- Lansați un instrument de linie de comandă (cmd) cu drepturi de administrator.
- Executați următoarele comenzi:
![spi interfață și Arduino (folosind un registru de deplasare) interfață Spi și Arduino](https://webp.images-on-off.com/26/263/434x177_de6mrokbzdy07ludugpt.webp)
articole recente
![spi interfață și Arduino (folosind un registru de deplasare) interfață Spi și Arduino](https://webp.images-on-off.com/26/263/240x135_ydjyc7du3o3oy1ijse66.webp)
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 (Punerea în aplicare a plăcilor de interfață) interfață Spi și Arduino](https://webp.images-on-off.com/26/263/240x135_r6foco0xbnp8bk482da5.webp)
Să conecta două calculatoare cu ajutorul unui emițător radio ieftine și un receptor radio și să dea peste aer între calculatoare unele date ...
![spi interfață și Arduino (registru de deplasare) interfață Spi și Arduino](https://webp.images-on-off.com/26/263/240x135_m6i21b2s1st7jaz0gyjr.webp)
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 (Arduino) interfață Spi și Arduino](https://webp.images-on-off.com/26/263/240x135_ew3zr9pke5kdixqn5uc2.webp)
Temperatura și senzor de umiditate DHT17 - senzor popular și ieftin, care poate fi utilizat într-o gamă destul de largă de temperaturi ...
![spi interfață și Arduino (folosind un registru de deplasare) interfață Spi și Arduino](https://webp.images-on-off.com/26/263/240x135_mp1vbi8l2inzll1l3q8j.webp)
Pe Internet, există mai multe opțiuni pentru calcularea sumei de control CRC. Dar ce este de fapt o sumă de control și ...
![spi interfață și Arduino (registru de deplasare) interfață Spi și Arduino](https://webp.images-on-off.com/26/263/240x135_49qd2si7o8dpvwdfd8rh.webp)
Producator DSO138 osciloscop nu lasă utilizatorii și actualizează periodic software-ul ( „firmware“) pentru dispozitivele. Să vedem ...
![interfață SPI și Arduino (interfață) interfață Spi și Arduino](https://webp.images-on-off.com/26/263/240x135_3ve8zvkny7sadzyhbqsn.webp)
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 (interfață) interfață Spi și Arduino](https://webp.images-on-off.com/26/263/240x135_ixkras8a2v6oqxyaei0o.webp)
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 (interfață) interfață Spi și Arduino](https://webp.images-on-off.com/26/263/240x135_pv4yia2voekru5xgxep3.webp)
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 ...
![Spi interfață și Arduino (interfață SPI) interfață Spi și Arduino](https://webp.images-on-off.com/26/263/240x135_ocuxqah9mdfuw5bskg4x.webp)
Se întâmplă ca programele de scriere pentru Arduino, încărcate în memorie, și totul funcționează bine. Și apoi dintr-o dată - ...