Relay Board, dubbi...

Salve a tutti,
mi è appena arrivata una relay board che avevo ordinato. Ho quindi subito provveduto a testarla e da allora ho avuto qualche dubbio sul suo funzionamento : questa infatti la collego direttamente ai 5V di arduino in quanto assorbe solo 60mA max. tuttavia non appena accesa si eccita la bobina e rimane così anche se imposto il pin digitale su LOW. Si stacca soltanto quando stacco l'alimentazione. E' l'alimentazione Arduino da PC che non è sufficiente? Oppure è l'intera scheda che non va?

Se volete (e se posso) vi allego il link del negozio eBay dal quale l'ho acquistata. E' possibile?

Buona giornata, :slight_smile:
MA

MasterArchi:
Se volete (e se posso) vi allego il link del negozio eBay dal quale l'ho acquistata. E' possibile?

Non solo è possibile, ma ... è d'obbligo se vuoi un qualche aiuto ... :grin: :grin: :grin:

E metti anche come l'hai collegata ad Arduino ... :roll_eyes:

Guglielmo

Grazie della risposta,
allora il link della scheda è questo : Scheda 1 relè 5Vdc modulo relay per arduino/pic - ART. CQ01 | eBay

gpb01:
E metti anche come l'hai collegata ad Arduino ... :roll_eyes:

Ad Arduino l'ho collegata nel seguente modo :

  1. Vcc su 5V
  2. Gnd su Gnd
    3)IN1 sul pin digitale 2

l'ho quindi provata con l'esempio blink cambiando la variabile "led" su 2 e mettendo i delay a 5000 per tenere in sicurezza il relè.

Ho dimenticato qualcosa?

Grazie ancora, :wink:
MA

No, non sembra che tu abbia dimenticato nulla ...
... per sicurezza, potresti postare l'esatto programma di prova (... mi raccomando, racchiuso tra i tag CODE che, in fase di edit, ti inserisce il bottone # ... terzultimo della seconda fila) ??? :roll_eyes:

Piuttosto, il LED sulla schedina che fa ???

Guglielmo

P.S. : Comunque quello è un venditore piuttosto serio ... nel malaugurato caso fosse guasta, non dovresti aver alcun problema a fartela sostituire :wink:

gpb01:
... per sicurezza, potresti postare l'esatto programma di prova (... mi raccomando, racchiuso tra i tag CODE che, in fase di edit, ti inserisce il bottone # ... terzultimo della seconda fila) ??? :roll_eyes:

Ecco il codice del test :

int led = 2;

// 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(5000);               // wait for 5 seconds
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(5000);               // wait for 5 seconds
}

Non penso ci siano errori nel codice

gpb01:
Piuttosto, il LED sulla schedina che fa ???

Di LED ce ne sono 2 e sono entrambi accesi costantemente (penso siano uno per l'alimentazione ed uno per il segnale).
Devo iniziare a preoccuparmi? :cold_sweat:

MA

Fai una prova molto semplice ...

... stacca quel modulo da Arduino, alimentalo (GND e +Vcc) e con un filo collegato a IN1 tocca il GND e il +Vcc (alternativamente) e vedi se scatta e quando scatta :wink:

In pratica fai a mano quello che dovrebbe fare il pin di Arduino ... così verifichiamo il modulo ...

Guglielmo

gpb01:
... stacca quel modulo da Arduino, alimentalo (GND e +Vcc) e con un filo collegato a IN1 tocca il GND e il +Vcc (alternativamente) e vedi se scatta e quando scatta :wink:

Farlo con l'alimentazione di Arduino va bene lo stesso?

MA

Si, certo, portagli solo GND e +Vcc ... e attento a non fare corti :wink:

Guglielmo

gpb01:
Si, certo, portagli solo GND e +Vcc ... e attento a non fare corti :wink:

Ho appena fatto ciò che mi hai suggerito. Ho alimentato il modulo con Arduino e, collegando IN1 a Vcc non è successo niente, collegandolo invece al GND ha fatto corto (e mi sembra anche normale, ma non ci avevo pensato XD ).
Penso quindi che sia un problema di modulo. Giusto?

MA

Pure io ho questo problema... Il mio programma è il seguente:

const int buttonPin = 8;
const int avantiPin = 4;
const int indietroPin = 2;

int buttonState = 0;

void setup() {
  
  pinMode (avantiPin, OUTPUT);
  pinMode (indietroPin, OUTPUT);
  pinMode (buttonPin, INPUT);
  }
  
  void loop (){
    
    buttonState = digitalRead (buttonPin);
    
    if (buttonState == HIGH) {
      digitalWrite (avantiPin, HIGH);
      delay (3000);
      digitalWrite (avantiPin, LOW);
      digitalWrite (indietroPin, HIGH);
      delay (3000);
      digitalWrite (indietroPin, LOW);
      }

    else {
        digitalWrite (avantiPin, LOW);
        digitalWrite (indietroPin, LOW);
        }
        }

nei pin 2 e 4 sono collegati due segnali che attivano il relè, il pin 8 è collegato ad un interruttore, come consiglia sull'esempio Button. Quando il bottone è aperto, i relè rimangono aperti, quando lo chiudo, il programma di attivazione di avanti e indietro funzionano correttamente...
Qualcuno che possa illuminarmi??

MasterArchi:
Ho alimentato il modulo con Arduino e, collegando IN1 a Vcc non è successo niente, collegandolo invece al GND ha fatto corto (e mi sembra anche normale, ma non ci avevo pensato XD ).

... perché ti sembra normale ??? :astonished: :astonished: :astonished:

A me affatto, quello è l'ingresso di pilotaggio e messo a Vcc (HIGH) o a GND (LOW) commuta o meno il relè ... e NON deve assolutamente fare corto!

Se fa corto, allora è guasto ... contatta gaetano (il venditore) e spiegagli il problema.

Guglielmo

P.S. : Sicuro che non hai per sbaglio fatto tu un qualche corto e che i collegamenti sono esatti eh ? Scusa se chiedo, ma sono cose che capitano ... :wink:

paro95:
Pure io ho questo problema... Il mio programma è il seguente ...

Prima di tutto edita il tuo post e racchiudi il codice tra i tag CODE che, in fase di edit, ti inserisce il bottone # ... terzultimo della seconda fila ... come da regolamento, punto 7.

Poi ... NON mi sembra che il tuo problema sia simile ...
... qui c'è probabilmente un guasto HW, il tuo è un problema SW ... apri un thread a parte, nella sezione Software e spiega chiaramente tutto (collegamenti, codice, cosa vuoi ottenere, ecc.)

Guglielmo

Scusa Guglielmo per i miei errori, provvederò a leggermi il regolamento.

Comunque ho risolto: I relè funzionano col logica negata, cioè se gli da HIGH loro non si eccitano, se scrivi LOW, si eccitano e si chiude il relè.

Grazie comunque.

Anche io ho avuto "casini" con quei tipi di relè, poi ho capito che lavorano con logica inversa e hanno funzionato a dovere.

Ragazzi ... prima di intervenire, leggete BENE tutta la discussione ...
... il problema qui non è con che livelli pilotarli ... il problema è che :

MasterArchi:
Ho alimentato il modulo con Arduino e, collegando IN1 a Vcc non è successo niente, collegandolo invece al GND ha fatto corto

cosa che non deve avvenire e che è indipendente poi da come andranno pilotati ...

Guglielmo

si, ma visto che ora dice che gli funziona, chissa' cosa avra' combinato quando ha fatto quella prova

sicuramente non ha collegato il GND a Vin, piuttosto GND con Vcc

Brunello:
si, ma visto che ora dice che gli funziona ...

DOVE ??? :astonished: :astonished: :astonished:

Non vedo il post dove MasterArchi dice che gli funziona ... :roll_eyes:

Guglielmo

cavolo, hai ragione... era un'altro

paro95:
Scusa Guglielmo per i miei errori, provvederò a leggermi il regolamento.

Comunque ho risolto: I relè funzionano col logica negata, cioè se gli da HIGH loro non si eccitano, se scrivi LOW, si eccitano e si chiude il relè.

mannaggia, dopo un po' non ci si capisce piu' niente

Aggiungo una domanda stupida a @Master (non si sà mai).
Ma i test della board li fai con 220V staccata, vero ?

no non collega nessun cavo della 220v ( ci manca solo che muore fulminato :slight_smile: :slight_smile: :slight_smile: :slight_smile: )