ultimo aggiornamento 2 febbraio 2013 |
|
|
|
Collegamento PARALLELO con Arduino UNO
La Parallax Digital I/O Board
Kit può essere collegata alle schede della serie Arduino come :
Arduino
2009,
UNO,
UNO R3,
e suoi
cloni
per pilotare circuiti ad
alta tensione, in quanto consente di controllare fino a 8 uscite isolate e di leggere fino a 8 ingressi optoisolati.
Gli ingressi possono sopportare una
tensione da 5-30VDC (AC compatibile) e le uscite possono essere sia
dotate di relè meccanici oppure a stato solido in grado di commutare
carichi fino a 12A , come ad esempio ventole di raffreddamento, solenoidi, elementi
di riscaldamento e altro ancora.
I circuiti logici operano a 5V,
8 led verdi e 8 led rossi indicano lo stato
di input e output, 2 led gialli indicano la presenza di tensione sulla
linea di alimentazione dei relè e della logica.
Gli ingressi possono essere configurati per gestire diverse
tensioni di ingresso.
La scheda di interfaccia utilizza uno shield, che nel prototipo è realizzato con
una
Proto shield V.4
, sulla scheda è presente un regolatore di tensione
|
|
Lo schema di utilizzo è semplice, è presente un
connettore X1 (10+10 pin) i cui pin sono collegati alle varie porte digitali di Arduino.
Essendo il collegamento parallelo ogni porta comanda un relè della scheda.
Il regolatore IC1 tipo LM1086 (tensione fissa 3,3V) è
opzionale. tramite il jumper JP1, è possibile scegliere il valore di VDD
da inviare alla scheda Digital I/O.
Il programma
Test_digital_io_1.ino permette di testare la scheda.
|
|
|||
LM1086 - 1.5A Low Dropout Positive Regulators | ||
Piedinatura | Datasheet | Foto dell'integrato |
Pin di Arduino utilizzati nel programma
|
Programma Test_digital_io_1.ino |
Listato del programma per testare il collegamento parallelo
/* Test_digital_io_1.ino Il programma ha il compito di testare il funzionamento della DIGITAL I/O BOARD PARALLAX Test delle uscite - Collegamento parallelo Ultima modifica il 31/12/2012 da Adriano Gandolfo <https://www.adrirobot.it> This example code is in the public domain. */ byte accensione_led[15][8] = {{0,0,0,0,0,0,0,0}, // = 0 {1,1,1,1,1,1,1,1}, // = 1 {0,0,0,0,0,0,0,0}, // = 2 {1,0,1,0,1,0,1,0}, // = 3 {0,0,0,0,0,0,0,0}, // = 4 {0,1,0,1,0,1,0,1}, // = 5 {0,0,0,0,0,0,0,0}, // = 6 {1,0,0,0,0,0,0,0}, // = 7 {0,1,0,0,0,0,0,0}, // = 8 {0,0,1,0,0,0,0,0}, // = 9 {0,0,0,1,0,0,0,0}, // = 10 {0,0,0,0,1,0,0,0}, // = 11 {0,0,0,0,0,1,0,0}, // = 12 {0,0,0,0,0,0,1,0}, // = 13 {0,0,0,0,0,0,0,1}}; // = 14 void setup() { pinMode(2, OUTPUT); //RLY1 pinMode(3, OUTPUT); //RLY2 pinMode(4, OUTPUT); //RLY3 pinMode(5, OUTPUT); //RLY4 pinMode(6, OUTPUT); //RLY5 pinMode(7, OUTPUT); //RLY6 pinMode(8, OUTPUT); //RLY7 pinMode(9, OUTPUT); //RLY8 } void TEST(byte digit) { byte pin = 2; for (byte Count = 0; Count < 8; ++Count) { digitalWrite(pin, accensione_led[digit][Count]); ++pin; } } void loop() { for (byte count = 15; count > 0; --count) { delay(1000); // pausa in millisecondi TEST(count - 1); } } |
Collegamento SERIALE con Arduino UNO
La Parallax Digital I/O Board
Kit può essere collegata alle schede della serie Arduino come :
Arduino
2009,
UNO,
UNO R3,
e suoi
cloni
per pilotare circuiti ad
alta tensione, in quanto consente di controllare fino a 8 uscite isolate e di leggere fino a 8 ingressi optoisolati.
Gli ingressi possono sopportare una
tensione da 5-30VDC (AC compatibile) e le uscite possono essere sia
dotate di relè meccanici oppure a stato solido in grado di commutare
carichi fino a 12A , come ad esempio ventole di raffreddamento, solenoidi, elementi
di riscaldamento e altro ancora.
I circuiti logici operano a 5V,
8 led verdi e 8 led rossi indicano lo stato
di input e output, 2 led gialli indicano la presenza di tensione sulla
linea di alimentazione dei relè e della logica.
Gli ingressi possono essere configurati per gestire diverse
tensioni di ingresso.
La scheda di interfaccia utilizza uno shield, che nel prototipo è realizzato con
una
Proto shield V.4
, sulla scheda è presente un regolatore di tensione
|
|
|||
Lo schema di utilizzo è semplice, è presente un
connettore X1 (5+5 pin) i cui pin sono collegati alle varie porte digitali di Arduino.
Sono presenti i pin per comandare le uscite e per leggere gli ingressi
provenienti dalla Digital I/O collegata in seriale.
Il regolatore IC1 tipo LM1086 (tensione fissa 3,3V) è
opzionale. tramite il jumper JP1, è possibile scegliere il valore di VDD
da inviare alla scheda Digital I/O.
Il programma
Test_digital_io_2.ino permette di testare la scheda,
in questo caso è possibile attivare i relè presenti sulla scheda.
|
|
|
|||
LM1086 - 1.5A Low Dropout Positive Regulators | ||
Piedinatura | Datasheet | Foto dell'integrato |
Pin di Arduino utilizzati nel programma
|
Programma Test_digital_io_2.ino |
Listato del programma per testare il collegamento seriale
/* Test_digital_io_2.pde Il programma ha il compito di testare il funzionamento della DIGITAL I/O BOARD PARALLAX Test delle uscite - Collegamento seriale Ultima modifica il 31/12/2012 da Adriano Gandolfo <https://www.adrirobot.it> This example code is in the public domain. */ //Definizione dello stato delle 8 uscite byte values[]={ B11111111, B00000000, B01010101, B10101010, B00000000, B10000000, B01000000, B00100000, B00010000, B00001000, B00000100, B00000010, B00000001,}; // Definizione dei pin Arduino connessi // al connettore della scheda Digital i/o // DATA_RLY connesso a DS del 74HC595 int DATA_RLY = 5; // SCLK_RLY connesso al SH_CP del 74HC595 int SCLK_RLY = 6; // LAT_RLY connesso al ST_CP del 74HC595 int LAT_RLY = 8; // /OE_RLY connesso a OE del 74HC595 int OE_RLY = 10; void setup(){ pinMode(LAT_RLY, OUTPUT); pinMode(SCLK_RLY, OUTPUT); pinMode(DATA_RLY, OUTPUT); pinMode(OE_RLY, OUTPUT); //Attiviamo le uscite del 74HC595 digitalWrite (OE_RLY, LOW); } // Il ciclo emette in uscita i dati // presenti nell'array void loop(){ for(int i=0;i<13;i++){ digitalWrite(LAT_RLY, LOW); shiftOut(DATA_RLY, SCLK_RLY, MSBFIRST, values[i]); digitalWrite(LAT_RLY, HIGH); delay(500);} } |
Collegamento PARALLELO con Arduino DUE
La Parallax Digital I/O Board
Kit può essere collegata alla scheda
Arduino DUE
per pilotare circuiti ad
alta tensione, in quanto consente di controllare fino a 8 uscite isolate e di leggere fino a 8 ingressi optoisolati.
Gli ingressi possono sopportare una
tensione da 5-30VDC (AC compatibile) e le uscite possono essere sia
dotate di relè meccanici oppure a stato solido in grado di commutare
carichi fino a 12A , come ad esempio ventole di raffreddamento, solenoidi, elementi
di riscaldamento e altro ancora.
I circuiti logici operano a 5V,
8 led verdi e 8 led rossi indicano lo stato
di input e output, 2 led gialli indicano la presenza di tensione sulla
linea di alimentazione dei relè e della logica.
Gli ingressi possono essere configurati per gestire diverse
tensioni di ingresso.
La scheda di interfaccia utilizza uno shield, che nel prototipo è realizzato con
una
Proto shield V.4
, sulla scheda è presente un regolatore di tensione,
questo è necessario in quanto la logica presente sulla scheda Digital I/O deve
essere alimentata con una tensione Vdd di 3,3V in quanto questa è la
tensione che le porte di Arduino DUE possono tollerare.
Dettaglio Jumper per la scelta della tensione Vdd
|
|
|||
Lo schema di utilizzo è semplice, è presente un
connettore X1 (10+10 pin) i cui pin sono collegati alle varie porte digitali di Arduino.
Essendo il collegamento parallelo ogni porta comanda un relè della scheda.
Il regolatore IC1 tipo LM1086 (tensione fissa 3,3V)
che è
opzionale per l'interfacciamento delle schede Arduino UNO, in questo caso è
obbligatorio in quanto le porte di Arduino DUE non tollerano la tensione di +5V.
Ricordarsi pertanto di spostare l'apposito jumper JP1, in questo modo la
tensione di 3,3V sarà inviata alla scheda Digital I/O.
Il programma
test_digital_io_3.ino permette di testare la scheda.
LM1086 - 1.5A Low Dropout Positive Regulators | ||
Piedinatura | Datasheet | Foto dell'integrato |
Pin di Arduino utilizzati nel programma
|
Programma test_digital_io_3.ino |
Listato del programma per testare il collegamento parallelo
/* Test_digital_io_3.pde Il programma ha il compito di testare il funzionamento della DIGITAL I/O BOARD PARALLAX con Arduino DUE Test delle uscite - Collegamento parallelo Ultima modifica il 2/1/2013 da Adriano Gandolfo <https://www.adrirobot.it> This example code is in the public domain. */ byte accensione_led[15][8] = {{0,0,0,0,0,0,0,0}, // = 0 {1,1,1,1,1,1,1,1}, // = 1 {0,0,0,0,0,0,0,0}, // = 2 {1,0,1,0,1,0,1,0}, // = 3 {0,0,0,0,0,0,0,0}, // = 4 {0,1,0,1,0,1,0,1}, // = 5 {0,0,0,0,0,0,0,0}, // = 6 {1,0,0,0,0,0,0,0}, // = 7 {0,1,0,0,0,0,0,0}, // = 8 {0,0,1,0,0,0,0,0}, // = 9 {0,0,0,1,0,0,0,0}, // = 10 {0,0,0,0,1,0,0,0}, // = 11 {0,0,0,0,0,1,0,0}, // = 12 {0,0,0,0,0,0,1,0}, // = 13 {0,0,0,0,0,0,0,1}}; // = 14 void setup() { pinMode(2, OUTPUT); //RLY1 pinMode(3, OUTPUT); //RLY2 pinMode(4, OUTPUT); //RLY3 pinMode(5, OUTPUT); //RLY4 pinMode(6, OUTPUT); //RLY5 pinMode(7, OUTPUT); //RLY6 pinMode(8, OUTPUT); //RLY7 pinMode(9, OUTPUT); //RLY8 } void TEST(byte digit) { byte pin = 2; for (byte Count = 0; Count < 8; ++Count) { digitalWrite(pin, accensione_led[digit][Count]); ++pin; } } void loop() { for (byte count = 15; count > 0; --count) { delay(1000); // pausa in millisecondi TEST(count - 1); } } |
Elenco revisioni | |
02/02/2013 | Inserito filmato su Arduino Due e collegamento parallelo |
16/01/2013 | Emissione preliminare |