ciao a tutti, ecco il mio primo post.
Premetto che la disperazione di un niubbo può spingerlo a fare le domande più assurde e di questo mi scuso in anticipo.
Il mio problema:
arduino 1 che deve comunicare con una scheda relè.
Ho circumnavigato il web... ma le risposte (anche qui sul forum)non mi hanno reso la vita + facile.
ho una scheda con 2 relays srd-05vdc-sl-c che hanno 3 uscite e 6 ingressi (vcc-gnd-in1-in2-com-gnd).
ho collegato all'uscita del relè il circuito interrotto di una lampadina(in un foro la fase della corrente e nell'altro quello della lampada) se do corrente si accende, quindi ho presupposto che il relè fosse chiuso di norma e diseccitato se alimentato oppure che avevo sbagliato il cablaggio. messe le fasi nei fori 1-3 la lampada non si accende allora ho provato a dare direttamente 5v al relè ma il circuito nn si chiude..
altro tentativo collego:
vcc(relè)-->5v arduino
gnd (relè)--> gnd arduino
in1 (relè) --> pin 12 arduino
vorrei a questo punto testare il relè che avendo dei led dovrebbe indicarmi se attacca o stacca e scrivo questo micro programma...ma se sono qui.... credo abbiate capito che non ci sono state storie
/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.
This example code is in the public domain.
*/
// Pin 12 has an LED connected on most Arduino boards.
// give it a name:
int led = 12;
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
grazie a chi avrà la pazienza di tornare sui propri passi...ed a breve le foto
Prima di tutto questi esperimenti si fanno con basse tensioni ... mi auguro che quando tu scrivi "(in un foro la fase della corrente e nell'altro quello della lampada)" tu non intenda la fase della 220v
Non sapendo cosa si, fa a giocare con la 220v ci si fa parecchio male ... e tu ... mi sembra che NON sappia assolutamente cosa stai facendo ...
Poi ...
... come chiaramente visibile nella foto 4, quella scheda monta due relé ciascuno con uno SCAMBIO ovvero un contatto che si muove (quello centrale) e o si mette in contatto con il CONTATTO di sinistra o con quello di destra ... quindi ... è come un interruttore il filo deve entrare su quello centrale e uscire su uno dei due (destra o sinistra) a secono se vuoi che il contatto, a relé NON eccitato, sia aperto o chiuso.
Gli altri pin, andando a naso, senza uno schema, sono :
GND e 5 v ... per alimentare la schedina ... glie li devi dare FISSI
In1 e In2 ... comandano i relè ... a seconda se LOW o HIGH ... eccitano o diseccitano il relativo relè.
Beh grazie per le celeri risposte . ovviamente tutti gli esperimenti sono fatti in sicurezza con lampadina 12v e trasformatore che simulano l'impianto domestico ma Guglielmo ha fatto bene ad evidenziare questo aspetto. Ho aggiunto nella cartella unoschizzo fatto al volo con il cellulare. ..spero renda l'idea.
Tornando alle uscite del relÈ quindi foro centrale fase dalla presa elettrica uno dei 2 per circuito aperto o chiuso a seconda delle esigenze. ..ma come faccio a testare il relè stand alone? I collegamenti secondo voi sono giusti sull'arduino?
Per provarlo ... lo alimenti (GND e +5) e poi dai o GND (simulando un LOW) o +5 (simulando un HIGH) hai pin In1 e In2 ... dovresti sentir scattare i relè ...
Dalle foto su internet si vede che il modulo che ti stai usando è dotato di fotoacoppiatori per l'uso di una alimentazione separata.
Se lo alimenti solo con Arduino devi ponticellare il pin COM con il pin GND alla sua destra.
Purtroppo il cinesissimo produttore non mette uno straccio di datasheet o schema tecnico, quindi prova e vediamo se funziona.
Si, guardando QUI, si vede bene, in una delle foto, che ci deve essere un ponticello tra COM e GND ...
Guglielmo
P.S. : Bellissime le "Commonly Asked Questions: " ... leggete la 2 P:P:S : inoltre ... quello li lo vendono per Arduino e i relè sono a ... 12v XD XD XD ... leggete la discussione ... che roba ... P.P.P.S.: lamerino non ti preoccupare, sul tuo si vede che i relè sono a 5v
wella ragazzi... come da voi suggerito il test del relè è andato tutto ok... ho ponticellato i primi 2 pin partendo dal basso(com+gnd) ed adesso funge tutto.
prossimo step cercare di compilare il codice con arduino
Bene, ma ...
... ricorda che il metodo che hai usato per il controllo del bottone, "forse" può andare bene per attivare un relè, ma in tutti gli altri casi NON va bene poiché ... non tieni conto dei "rimbalzi" che un qualsiasi interruttore ha !!!
Quando apri o chiudi un interruttore (nel tuo caso un pulsante), quello che arriva sul pin di Arduino è, più o meno, questo :
... quindi ... se ad esempio tu dovessi gestire un contatore, avresti una "raffica" di aperture e chiusure !!!
La cosa si risolve con tecniche di "debouncing" ... come puoi, ad esempio, leggere QUI
gpb01:
Si, guardando QUI, si vede bene, in una delle foto, che ci deve essere un ponticello tra COM e GND ...
Guglielmo
P.S. : Bellissime le "Commonly Asked Questions: " ... leggete la 2 P:P:S : inoltre ... quello li lo vendono per Arduino e i relè sono a ... 12v XD XD XD ... leggete la discussione ... che roba ... P.P.P.S.: lamerino non ti preoccupare, sul tuo si vede che i relè sono a 5v
Sí, questa é bella.
Per la 2 FAQ c'é una risposta: "NO" ma sembra che non vogliono darla per dire che i prodotti venduti da loro NON sono arduino originali.
Falsificano Arduino e poi si lamentano che il propretario del marchio e del nome prende provvedimenti contro di loro. Averte visto il loro logo? un infinito senza + e -; che fantasia.
gpb01:
Bene, ma ...
... ricorda che il metodo che hai usato per il controllo del bottone, "forse" può andare bene per attivare un relè, ma in tutti gli altri casi NON va bene poiché ... non tieni conto dei "rimbalzi" che un qualsiasi interruttore ha !!!
Quando apri o chiudi un interruttore (nel tuo caso un pulsante), quello che arriva sul pin di Arduino è, più o meno, questo :
... quindi ... se ad esempio tu dovessi gestire un contatore, avresti una "raffica" di aperture e chiusure !!!
La cosa si risolve con tecniche di "debouncing" ... come puoi, ad esempio, leggere QUI
Guglielmo
ciao guglielmo, quindi il codice di esempio da te postato è una sorta di transistor digitale? evita che la tensione se ne vada in giro per la breadboard?
comunque io per adesso volevo provare solo il funzionamento del relè....grazie a tutti
lamerino:
ciao guglielmo, quindi il codice di esempio da te postato è una sorta di transistor digitale? evita che la tensione se ne vada in giro per la breadboard?
Ehhhh ??? Chi ha parlato di tensione e di breadboard ???
Si tratta di un codice per non contare i "rimbalzi" che qualunque oggetto reale (... e non teorico sulla carta) fa quando si apre e quando si chiude ... un pulsante, un interruttore, i contatti di un relè, ecc. ecc.
Tu non te ne accorgi perché il relè è lento e non ce la fa a scattare rapidamente così tante volte ... ma quando tu premi e lasci il tuo pulsante ... in realtà mandi e levi corrente al tuo relè (... alla sua bobina) un bel numero di volte molto rapidamente e ... NON è cosa buona !!!
scusa se l'ho sparata grossa.. spero che l'esperienza eviterà queste panzanate....
ricapitolando il debouncing serve a preservare la vita del mio relè?
domanda stupida,,,sempre tramite forum ho impostato il pin di input comandato digitalmente
devo cmq tener conto del codice che mi hai postato???
grazie e scusa ancora.