docdoc:
Beh intanto sai che in genere vanno a logica negativa, si? Ossia per attivarlo devi mandarlo LOW, non HIGH.
Secondo, posta comunque il tuo codice, non si sa mai.
Terzo, se metti HIGH il pin non vedo perché dovrebbe andare a 3.3V e non a 5V. Ma tu hai collegato il carico a quel relé o lo stai facendo andare per test senza carico, sentendo lo scatto? E se hai messo del carico, come è collegato? Insomma, come ti ha chiesto anche fabpolli, metto programma e schema di TUTTI i collegamenti, e vediamo.
Dacci queste info e vediamo.
void setup() {
Serial.begin(9600);
pinMode(8,OUTPUT);
// put your setup code here, to run once:
digitalWrite(8,LOW);
}
delay(2000);
// put your main code here, to run repeatedly:
}
Datman:
Se Arduino è alimentato a 3,3V e la scheda a relè a 5V e vuole una chiusura a massa, è probabile che con 3,3V si ecciti come con una chiusura a massa.
Alimento arduino con usb ed alla scheda stessa collego il modulo relè.
Allora prova così:
Stacchi il filo che unisce il morsetto IN del rele e l'uscita del tuo arduino. Lo stacchi solo dalla parte Arduino.
Quindi ti trovi in mano il filo collegato solo a IN
Lo provi a collegare alternativamente al GND (arduino o rele è lo stesso) e a VCC
Non devi collegarlo fisso, solo toccare alternativamente GND e VCC
E ci dici cosa succede
steve-cr:
Allora prova così:
Stacchi il filo che unisce il morsetto IN del rele e l'uscita del tuo arduino. Lo stacchi solo dalla parte Arduino.
Quindi ti trovi in mano il filo collegato solo a IN
Lo provi a collegare alternativamente al GND (arduino o rele è lo stesso) e a VCC
Non devi collegarlo fisso, solo toccare alternativamente GND e VCC
E ci dici cosa succede
Quando lo collego al GND fa il tac e si accende la lucetta verde; quando tocco +5V non fa nulla;
Datman:
Se Arduino è alimentato a 3,3V e la scheda a relè a 5V e vuole una chiusura a massa, è probabile che con 3,3V si ecciti come con una chiusura a massa.
Infatti dice che rimane attivato, essendo a logica negativa... mi sa che i 3,3 sono pochini.
Perfetto. Adesso sai che funziona in negativo. Quindi solo quando fai digitalWrite (pin, LOW).
Per riportarlo a spento dovrai fare il contrario digitalWrite (pin, HIGH).
steve-cr:
Perfetto. Adesso sai che funziona in negativo. Quindi solo quando fai digitalWrite (pin, LOW).
Per riportarlo a spento dovrai fare il contrario digitalWrite (pin, HIGH).
Il fatto è che a me rimane sempre attivo, anche quando ho il pin in stato High perchè in tale stato è a 3.34V e non a 5V. Poichè ho provato anche con altri pin digitali e tutti sono a 3.34 V in high, sarà un problema della scheda ?
Il relé funziona, i collegamenti sono corretti, il programma anche resta un malfunzionamento della scheda che non eroga la tensione necessaria a far disattivare il relé, o ne hai un altro per fare la prova e capire se effettivamente è quella scheda danneggiata e un altra uguale invece funziona o se entrambe le schede (uguali) non erogano la tensione necessaria allora funzionano così e non puoi usarle tal quali, in ogni caso se anche così fosse sono fuori specifiche quindi eviterei di usarle a prescindere.
Se poi le vuoi usare a tutti i costi ti serve frapporre al modulo relé un interfaccia con un transistor che ti permetta di pilotarlo 0-3V3 e usare questo per pilotare il modulo relé, ma non so se ne vale la pena transistor, resistenze cablaggio ecc. vedi tu
Ho anche un modulo a 8 relè optoisolati; con lo stesso codice il relè connesso si attiva e disattiva secondo aspettative; Mi sa allora che dovrò prendere un'altra scheda ....... .
Non riesco a leggere la sigla completa dell'AMS1117: potrebbe essere -5 o -3.3. Comunque, solo misurando con un tester analogico o digitale la tensione direttamente sul microcontrollore potremo essere sicuri della tensione a cui è alimentato, poiché i 3,3V potrebbero andare solo al connettore per dispositivi esterni.
Cerca atmega328p datasheet e da lì scopri quali sono i pin di alimentazione su cui misurare la tensione. Il negativo del tester puoi metterlo a massa dove ti è più comodo.