Go Down

Topic: Relay shield (Read 2173 times) previous topic - next topic

Nanonnien

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 :

Quote

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);
   
}



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.

Christian_R

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
Christian

Nanonnien


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

Voici les modifications apportées.
Quote

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);
   
}


Mais cela ne change rien.

B@tto


Voici les modifications apportées.


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


Mais cela ne change rien.


... du coup, ceci explique cela ...
Blog électronique : battomicro.wordpress.com
Photographie : www.interactive-celebration.fr
Fablab de Montpellier : www.labsud.org

Nanonnien


Quote

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);
   
}



Si je copie/colle le bon ça ira mieu :smiley-roll-blue:.

Enfaite ça l'affiche pas ... je sais pas pourquoi mais j'ai ajouter après les relayPin.



B@tto

Code: [Select]
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 ?
Blog électronique : battomicro.wordpress.com
Photographie : www.interactive-celebration.fr
Fablab de Montpellier : www.labsud.org

Nanonnien

Oui :) !

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

B@tto

Et l'appui sur les boutons déclenche bien les relais ?
Blog électronique : battomicro.wordpress.com
Photographie : www.interactive-celebration.fr
Fablab de Montpellier : www.labsud.org

Nanonnien

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

Go Up