Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Modulo sedici rele'

Progetti, interfacciamento, discussioni varie su questa piattaforma.

Moderatori: Foto UtenteWALTERmwp, Foto Utentexyz

0
voti

[1] Modulo sedici rele'

Messaggioda Foto Utentepapa10 » 15 dic 2015, 16:59

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
Avatar utente
Foto Utentepapa10
71 1 3 4
Frequentatore
Frequentatore
 
Messaggi: 248
Iscritto il: 20 ott 2011, 17:11

0
voti

[2] Re: Modulo 16 Rele'

Messaggioda Foto UtenteJackd » 16 dic 2015, 2:26

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.
Codice: Seleziona tutto
[code=php]per il codice a colori[/code]
Avatar utente
Foto UtenteJackd
794 4 7
Expert
Expert
 
Messaggi: 282
Iscritto il: 15 set 2014, 19:10
Località: Padova

0
voti

[3] Re: Modulo 16 Rele'

Messaggioda Foto Utentepapa10 » 16 dic 2015, 8:40

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.
Avatar utente
Foto Utentepapa10
71 1 3 4
Frequentatore
Frequentatore
 
Messaggi: 248
Iscritto il: 20 ott 2011, 17:11

0
voti

[4] Re: Modulo 16 Rele'

Messaggioda Foto UtenteJackd » 16 dic 2015, 13:32

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
...
Codice: Seleziona tutto
[code=php]per il codice a colori[/code]
Avatar utente
Foto UtenteJackd
794 4 7
Expert
Expert
 
Messaggi: 282
Iscritto il: 15 set 2014, 19:10
Località: Padova

1
voti

[5] Re: Modulo 16 Rele'

Messaggioda Foto Utentepapa10 » 16 dic 2015, 15:03

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
Avatar utente
Foto Utentepapa10
71 1 3 4
Frequentatore
Frequentatore
 
Messaggi: 248
Iscritto il: 20 ott 2011, 17:11

1
voti

[6] Re: Modulo sedici rele'

Messaggioda Foto Utentepapa10 » 21 dic 2015, 8:43

Ho risolto il problema,grazie e buon Natale a tutti
Avatar utente
Foto Utentepapa10
71 1 3 4
Frequentatore
Frequentatore
 
Messaggi: 248
Iscritto il: 20 ott 2011, 17:11


Torna a Arduino

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti