Cuprins:
- Pasul 1: cărțile și circuitele
- Pasul 2: Programul pentru a rula o mașină de stat multitasking
- Pasul 3: Pentru a încheia
Video: State Machine și Multitasking pe Arduino cu expansori SPI: 3 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
Săptămâna trecută, am cerut să creez un sistem de pilotare a artificiilor cu un arduino. Avea nevoie de aproximativ 64 de ieșiri pentru a controla incendiile. O modalitate de a face acest lucru este să folosiți extensoare IC. Așadar, sunt disponibile 2 soluții:
- un expansor I2C, dar are nevoie de invertor atunci când porniți IC-ul (consultați instrucțiunile mele anterioare pe mașina cu stare finită) deoarece toate ieșirile pornesc și opresc rapid: o problemă cu artificiile.
-un SPI, de asemenea, ușor de rulat și fără probleme la pornire.
Așa că am decis să studiez acest tip de expansoare. Folosesc și o mașină de stat cu multitasking pentru a controla 16 I / O digitale și 2 ieșiri analogice. Acest card este conceput pentru a controla sistemele de automatizare precum un PLC.
De asemenea, am studiat diferențele și traducerea dintre desenele diagramei de stare și un alt grafic greu utilizat în automatizare: SFC (Sequential Function Chart) bazat pe fostele plase Petri.
en.wikipedia.org/wiki/Sequential_function_…
fr.wikipedia.org/wiki/Grafcet
Pasul 1: cărțile și circuitele
Folosesc un arduino uno și 2 tipuri de cipuri DIL:
- MCP23S17, 2 x 16 I / O expansor controlat cu SPI
-MCP4921, DAC 12 biți, 0 / 5V
Aceste IC sunt foarte ieftine și fiabile și, de asemenea, foarte ușor de conectat și de programat. Pe schemă, am folosit câteva componente suplimentare, cum ar fi condensatoare de decuplare, rezistențe pull-down pentru intrări.
Pasul 2: Programul pentru a rula o mașină de stat multitasking
Ideea globală este de a controla I / O digitală și, între timp, de a lansa un efect de decolorare ON / OFF pe LED-urile conectate la ambele ieșiri analogice.
Un alt lucru, fac intenționat conexiunea separată a pinilor CS (chip select) pentru a avea mai multe posibilități de mai mult IC pe magistrala SPI. Așa că am folosit:
- o bibliotecă specială pentru mașina de stat
-o bibliotecă specială pentru MCP23S17
-Nu există o bibliotecă specială pentru MCP4921, CS și conexiunea SPI soft sunt „la îndemână”.
Puteți vedea pe imagini traducerea dintre mașina de stare așteptată și SFC (numită și GRAFCET sau gr7 în franceză). Unii termeni comuni: stări concurente, multitasking și încapsulare.
Ofer bibliotecilor și codului sursă o mulțime de comentarii. Pentru a o citi și a o înțelege, trebuie să citiți în același timp și diagrama de stare sau SFC.
Pasul 3: Pentru a încheia
Functioneaza!!
Când porniți sistemul, așteptați câteva secunde și apoi utilizați extensia (timp pentru a iniția magistrala SPI).
Sistemul are reacții foarte rapide și trebuie să creați o placă de interfață de alimentare dacă doriți să controlați orice mașină. Vedeți instructibilele mele anterioare, este foarte ușor !!
Mulțumesc tutoriale foarte interesante și funcționale din întreaga lume.
Manu4371.
Recomandat:
LLDPi - Raspberry Pi Network Tool (Colorado State University): 7 pași
LLDPi - Raspberry Pi Network Tool (Colorado State University): Proiectul LLDPi este un sistem încorporat realizat dintr-un Raspberry Pi și LCD care poate prelua informații LLDP (Link Layer Discovery Protocol) de pe dispozitivele învecinate într-o rețea, cum ar fi numele și descrierea sistemului , numele și descrierea portului, VLA
Senzori multipli BMP280 în Arduino Uno prin SPI: 6 pași
Mai mulți senzori BMP280 în Arduino Uno prin SPI: În acest tutorial vom conecta trei BMP280 pe Arduino Uno prin SPI, dar puteți conecta până la opt BMP280 pe Uno folosind porturile digitale D3 la D10 ca nSS (Slave Select) pentru fiecare senzor. a probelor de presiune atmosferică măsurate de B
State Machine pe Arduino - un semafor pietonal: 6 pași (cu imagini)
Mașină de stat pe Arduino - un semafor pietonal: Hei, vă voi arăta cum să programați un semafor pietonal pentru Arduino în C ++ cu o mașină de stare finită folosind YAKINDU Statechart Tools. Acest lucru va demonstra puterea mașinilor de stat și poate fi folosit ca model pentru mai departe
Afișaj LCD I2C / IIC - Utilizați un LCD SPI pe afișajul LCD I2C Utilizând modulul SPI la IIC cu Arduino: 5 pași
Afișaj LCD I2C / IIC | Utilizați un LCD SPI pe afișajul LCD I2C Utilizarea modulului SPI la IIC cu Arduino: Bună băieți, deoarece un SPI LCD 1602 normal are prea multe fire pentru a se conecta, deci este foarte dificil să îl interfațați cu arduino, dar există un modul disponibil pe piață. convertiți afișajul SPI în afișajul IIC, deci trebuie să conectați doar 4 fire
SPI preliminar * pe Pi: comunicarea cu un accelerometru cu 3 axe SPI folosind un Raspberry Pi: 10 pași
SPI preliminar * pe Pi: Comunicarea cu un accelerometru cu 3 axe SPI Utilizarea unui Raspberry Pi: Ghid pas cu pas despre cum să configurați Raspbian și să comunicați cu un dispozitiv SPI utilizând biblioteca SPI bcm2835 (NU bit banged!) Acest lucru este încă foarte preliminar … Trebuie să adaug imagini mai bune ale legăturii fizice și să analizez un cod incomod