Pagina 1 di 1

Modulo sedici rele'

MessaggioInviato: 15 dic 2015, 16:59
da papa10
Avrei bisogno di uno sketch per l'utilizzo di un modulo a 16 rele',dovendo pilotare dispositivi a 220vca.Potreste aiutarmi.Ringraziandovi vi invio auguri per un Felice Natale

Re: Modulo 16 Rele'

MessaggioInviato: 16 dic 2015, 2:26
da Jackd
forse la domanda per te sara' un po banale, ma hai un link al modulo che vorresti usare?
perché cercando in giro io trovo solo schede tipo questa http://www.amazon.it/SainSmart-16-Channel-Arduino-Mega2560-Duemilanove/dp/B005WR747I
Se è quello che hai in mano, il discorso è abbastanza semplice: ogni singolo relè ha bisogno di una uscita del micro.
NB: quella scheda relè è active LOW cioè quando il piedino del micro è HIGH, il relè è spento, quando il piedino del micro è LOW il rele viene alimentato.

Codice: Seleziona tutto
int Relay1 = 2; //pin connesso al rele1 (ovvero IN1)
int Relay2 = 3; //pin connesso al rele2 (ovvero IN2)
int Relay3 = 4; //pin connesso al rele3 (ovvero IN3)
//da continuare per ciascun rele, non li scrivo tutti, lascio a te riempire secondo tue esigenze
 
void setup()
{
  pinMode(Relay1, OUTPUT); //imposto il pin corrispondente al Rele come uscita
  digitalWrite(Relay1, HIGH); //imposto il pin in High -- rele spento
  pinMode(Relay2, OUTPUT); //imposto il pin corrispondente al Rele come uscita
  digitalWrite(Relay2, HIGH); //imposto il pin in High -- rele spento 
  pinMode(Relay3, OUTPUT); //imposto il pin corrispondente al Rele come uscita
  digitalWrite(Relay3, HIGH); //imposto il pin in High -- rele spento
//da continuare per ciascun rele
}
void loop()
{
//inserisci il tuo codice che farà le sue cose fino a quando ti servira acendere il rele, cosa  che farai con:

          digitalWrite(Relay1, LOW);

//inserisci il tuo codice che farà le sue cose fino a quando ti servira spegnere il rele, cosa  che farai con:
          digitalWrite(Relay1, HIGH);
}


Questo è veramente una schifezza di codice, ma serve per farti capire il come ottenere il risultato.
ci sono maniere più corrette di scrivere quanto sopra, e c'è anche la possibilità di manipolare direttamente tutta la porta, ma è una cosa che per il momento sconsiglio se sei poco esperto.

Re: Modulo 16 Rele'

MessaggioInviato: 16 dic 2015, 8:40
da papa10
Jackd ti ringrazio della risposta immediata.Il modulo e' proprio quello che hai postato.Diciamo che il procedimento l'ho capito(per un novello e per giunta anche pensionato e' gia' molto).Un'altra cosa e per i pin posso usare(poiche' i rele' sono 16) indifferentemente quelli digitali e analogici,perche' non bastano soltanto quelli digitali?.Grazie ancora.

Re: Modulo 16 Rele'

MessaggioInviato: 16 dic 2015, 13:32
da Jackd
papa10 ha scritto:per un novello e per giunta anche pensionato e' gia' molto.

qua un po di invidia ci sta.... pensione, che miraggio...

Battute a parte, fin che fai esperimenti e prendi confidenza con arduino, io ti consiglio caldamente di evitare di usare i pin Digitali 0 e 1 che sono collegati alla porta seriale.
I pin analogici possono essere usati come pin digitali se tu nello sketc al posto di chiamarli A0, A1, A2, A3, A4, A5, li chiami rispettivamente, 14, 15, 16, 17, 18, 19.
Codice: Seleziona tutto
int Relay1 = 2;
int Relay2 = 3;
...
int Relay12 = 13; //pin con collegato il led montato su arduino - il led è acceso quando il rele non è alimentato
int Relay13 = 14; //pin marcato come A0 su arduino
int Relay14 = 15; // e cosi via
...

Re: Modulo 16 Rele'

MessaggioInviato: 16 dic 2015, 15:03
da papa10
ancora una volta grazie.Nella vecchiaia ho imparato un'altra cosa.Posso usare i pin analogici mettendo i numeri da 14 a dove finiscono.Grazie ancora e felice S.Natale

Re: Modulo sedici rele'

MessaggioInviato: 21 dic 2015, 8:43
da papa10
Ho risolto il problema,grazie e buon Natale a tutti