ultimo aggiornamento 2 febbraio 2013


JLCPCB - 2$ per prototipi di PCB, di qualsiasi colore. Produzione in 24 ore!
L'Azienda di prototipi PCB più popolare, con oltre 700.000 clienti in tutto il mondo!
Continua la produzione dei PCB standard a 2 strati durante le festività primaverili


Arduino UNO

Arduino UNO -  parallelo

Arduino UNO -  seriale
Arduino DUE

Arduino DUE -  parallelo

Arduino DUE -  seriale

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

 

homotix

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.

Lato superiore della scheda con i vari connettori utilizzati per i test

Il cablaggio non è dei migliori!

LM1086 - 1.5A Low Dropout Positive Regulators

Piedinatura Datasheet Foto dell'integrato

 

Pin di Arduino utilizzati nel programma
 

Pin

Descrizione

2

Uscita comando relè 1

3

Uscita comando relè 2

4

Uscita comando relè 3

5

Uscita comando relè 4

6

Uscita comando relè 5

7

Uscita comando relè 6

8

Uscita comando relè 7

9

Uscita comando relè 8

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.

Lato superiore della scheda con i vari connettori utilizzati per i test

Il cablaggio sul lato inferiore della scheda. Anche data la sua complessità non è dei migliori!

LM1086 - 1.5A Low Dropout Positive Regulators

Piedinatura Datasheet Foto dell'integrato

 

Pin di Arduino utilizzati nel programma
 

Pin

Descrizione

5

Data RLY

6

SCLK_RLY

8

LAT_RLY

10

/OE_RLY


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 tensio
ne, 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.

 

Vista di assieme della scheda Arduino DUE su cui è montato un'apposito shield, il cavo piatto a 20 fili, e la Digital I/O Parallax

Dettaglio della scheda Arduino DUE con il prototipo dello shield su cui sono montati vari connettori usati per i test.

Dettaglio del connettore 10x1 monatato sil cavo 20 fili lato Arduino DUE

Dettaglio connettore lato Digital I/O

Dettaglio del regolatore usato per fornire la tensione Vdd pari a 3,3V necessaria per alimentare i circuiti digitali della Digital I/O

Dettaglio Jumper per la scelta della tensione Vdd

Dettaglio del regolatore usato per fornire la tensione Vdd pari a 3,3V necessaria per alimentare i circuiti digitali della Digital I/O

Prima di fornire tensione occorre prestare attensione affinchè il Jumper sia correttamente posizionato. Si ricorda che le porte di Arduino DUE funzionano a 3,3V e non tollerano i +5V.

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
 

Pin

Descrizione

2

Uscita comando relè 1

3

Uscita comando relè 2

4

Uscita comando relè 3

5

Uscita comando relè 4

6

Uscita comando relè 5

7

Uscita comando relè 6

8

Uscita comando relè 7

9

Uscita comando relè 8

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