Relay shield

Bonsoir,

matériel :

http://www.dfrobot.com/wiki/index.php/Relay_Shield_for_Arduino_V2.1_(SKU:DFR0144)
et une carte arduino UNO R3.

j’aimerai juste allumer éteindre mon moteur, mais avant de faire ça je test avec une led.

Mon problème est que je vois bien mes relais qui font ON/OFF mais impossible de faire switcher ma LED. Je pense que je branche mal ma LED ou que j’ai mal compris les explications dans le lien plus haut. Je vais de mon 5V au COM 4 puis je repart en direction de ma LED en passant par une résistance depuis le NC4 ( normally closed). Puis je reviens sur le ground de l’arduino. Pour l’instant ma LED est allumée.

Je téleverse ce programme :

byte relayPin[4] = {2,7,8,10};

//D2 → RELAY1
//D7 → RELAY2
//D8 → RELAY3
//D10 → RELAY4

void setup(){
for(int i = 0; i < 4; i++) pinMode(relayPin*,OUTPUT);*
}

// an sample to switch the 4 relays

void loop(){

  • int i;*
    _ for(i = 0; i < 4; i++) digitalWrite(relayPin*,HIGH);_
    _
    delay(1000);_
    _ for(i = 0; i < 4; i++) digitalWrite(relayPin,LOW);
    delay(1000);*_

}
[/quote]
Là les LEDS sur le shield clignote belle et bien mais pas moyen de faire pareille avec ma LED externe. Est ce que je fais mon branchement faux ?
Merci d’avance pour vos réponse =) !
Cordialement, Thibaud.

relayPin[4] est un tableau de 4 éléments, indicés par i.

Ici, digitalWrite(relayPin,LOW); l'indice i n'apparaît pas dans l'expression

Tout d’abord merci pour ta réponse :).

Voici les modifications apportées.

byte relayPin[4] = {2,7,8,10};

//D2 → RELAY1
//D7 → RELAY2
//D8 → RELAY3
//D10 → RELAY4

void setup(){
for(int i = 0; i < 4; i++) pinMode(relayPin*,OUTPUT);*
}

// an sample to switch the 4 relays

void loop(){

  • int i;*
    _ for(i = 0; i < 4; i++) digitalWrite(relayPin*,HIGH);_
    _
    delay(1000);_
    _ for(i = 0; i < 4; i++) digitalWrite(relayPin,LOW);
    delay(1000);*_

}
[/Quote]
Mais cela ne change rien.

Nanonnien: Voici les modifications apportées.

Euuuhhh j'ai beau cherché je les vois pas ...

Nanonnien: Mais cela ne change rien.

... du coup, ceci explique cela ...

byte relayPin[4] = {2,7,8,10};

//D2 → RELAY1
//D7 → RELAY2
//D8 → RELAY3
//D10 → RELAY4

void setup(){
for(int i = 0; i < 4; i++) pinMode(relayPin*,OUTPUT);*
}

// an sample to switch the 4 relays

void loop(){

  • int i;*
    _ for(i = 0; i < 4; i++) digitalWrite(relayPin*,HIGH);_
    _
    delay(1000);_
    _ for(i = 0; i < 4; i++) digitalWrite(relayPin,LOW);
    delay(1000);*_

}
[/Quote]
Si je copie/colle le bon ça ira mieu :roll_eyes:.
Enfaite ça l’affiche pas … je sais pas pourquoi mais j’ai ajouter après les relayPin.

byte relayPin[4] = {2,7,8,10};
  
//D2 -> RELAY1
//D7 -> RELAY2
//D8 -> RELAY3
//D10 -> RELAY4
  
void setup(){
  for(int i = 0; i < 4; i++)  pinMode(relayPin[i],OUTPUT);
}
  
// an sample to switch the 4 relays
  
void loop(){
    
  int i;
  for(i = 0; i < 4; i++)  digitalWrite(relayPin[i],HIGH);
  delay(1000);
  for(i = 0; i < 4; i++)  digitalWrite(relayPin[i],LOW);
  delay(1000);
   
}

Comme ça ? Question bonus : tu les as branché comment tes relais ?

Oui :) !

Comme cela est indiqué dans le wiki : http://www.dfrobot.com/index.php?route=product/product&filter_name=relay%20shield&product_id=496

Et l’appui sur les boutons déclenche bien les relais ?

Sauf erreur oui. Mais le.bouton principale à été cassé pendant le transport.