Sujet fermé (voir le sujet "Problème avec relais à 4 canaux")

Bonjour,
Je cherche à concevoir un système avec des relais à 4 canaux et un module bluetooth hc-05 qui se commande via une application crée sur MIT app inventor. Je dispose d'un programme et de l'application que j'ai obtenu dans un sujet précédent et qui sont opérationnels:
image

String Incoming_value;

void setup()
{
  Serial.begin(9600);
  
  //--------------------------------- Serial 1 Rx = 19 Tx = 18
  Serial1.begin(9600);
  Serial1.setTimeout(50);     // Pour fin des commandes depuis Bluetooth
  
  pinMode(22, OUTPUT);
  pinMode(23, OUTPUT);
  pinMode(24, OUTPUT);
  pinMode(25, OUTPUT);
  pinMode(26, OUTPUT);
  pinMode(27, OUTPUT);
  pinMode(28, OUTPUT);
  pinMode(29, OUTPUT);
  pinMode(30, OUTPUT);
  pinMode(31, OUTPUT);
  pinMode(32, OUTPUT);
  pinMode(33, OUTPUT);
}

void loop()
{
  if(Serial1.available() > 0)
  {
    Incoming_value = Serial1.readString();
    Serial.print(Incoming_value);
    Serial.print("\n");
    //rouge
    if(Incoming_value == "rouge")
    digitalWrite(33, HIGH);
    else if(Incoming_value == "nonRouge")
    digitalWrite(33, LOW);
    //jaune
    else if(Incoming_value == "jaune")
    digitalWrite(32, HIGH);
    else if(Incoming_value == "nonJaune")
    digitalWrite(32, LOW);
    //bleu
    else if(Incoming_value == "bleu")
    digitalWrite(31, HIGH);
    else if(Incoming_value == "nonBleu")
    digitalWrite(31, LOW);
    //gris
    else if(Incoming_value == "gris")
    digitalWrite(30, HIGH);
    else if(Incoming_value == "nonGris")
    digitalWrite(30, LOW);
    //violet
    else if(Incoming_value == "violet")
    digitalWrite(29, HIGH);
    else if(Incoming_value == "nonViolet")
    digitalWrite(29, LOW);
    //ing1
    else if(Incoming_value == "ing1")
    digitalWrite(28, HIGH);
    else if(Incoming_value == "nonIng1")
    digitalWrite(28, LOW);
    //ing2
    else if(Incoming_value == "ing2")
    digitalWrite(27, HIGH);
    else if(Incoming_value == "nonIng2")
    digitalWrite(27, LOW);
    //ing3
    else if(Incoming_value == "ing3")
    digitalWrite(26, HIGH);
    else if(Incoming_value == "nonIng3")
    digitalWrite(26, LOW);
    //ing4
    else if(Incoming_value == "ing4")
    digitalWrite(25, HIGH);
    else if(Incoming_value == "nonIng4")
    digitalWrite(25, LOW);
    //ing5
    else if(Incoming_value == "ing5")
    digitalWrite(24, HIGH);
    else if(Incoming_value == "nonIng5")
    digitalWrite(24, LOW);
    //ing6
    else if(Incoming_value == "ing6")
    digitalWrite(23, HIGH);
    else if(Incoming_value == "nonIng6")
    digitalWrite(23, LOW);
    //ing7
    else if(Incoming_value == "ing7")
    digitalWrite(22, HIGH);
    else if(Incoming_value == "nonIng7")
    digitalWrite(22, LOW);
  }
}

Au départ les relais ne fonctionnaient pas comme voulu. Avant de comprendre que le problème ne venait ni de l'appli ni du programme, j'ai décidé d'effectuer des essais avec des fils qui partent de l'arduino directement vers des LED:


Lorsque l'on appuyait sur les boutons ON de l'application dédié à tel broche, la LED correspondante s'allumait et pareil lorsque l'on appuyait sur OFF pour éteindre. C'est ainsi que j'ai compris que le problème viens des relais.
J'ai ensuite placé petit à petit des relais entre l'arduino et les LED:

Sur le schéma ci-dessus, je n'ai pas représenter toutes les connexions des LED aux relais pour éviter de le rendre déroutant mais elles sont toutes comme en bas à droite:
image
Sur les relais, se trouve des petites LED rouges qui s'éteignent lorsqu'elle reçoivent un signal. Donc lorsque ces LED sont allumées la LED correspondante sur la breadbord est censé être éteinte et inversement. Le problème est que j'ai au départ des allumages de LED sur la breadbord lorsque j'appuie sur ON sur l'application mais qu'ensuite ces même LED refusent de s'éteindre lorsque j'appuie sur OFF, alors que je peux clairement voir sur les LED des relais que les signaux sont bien reçu. Quelqu'un comprendrait-t-il ce phénomène ?

Cordialement

Bonjour,
La sortie 5V de ton mega est incapable d’alimenter tout ce bazar !
Utilise une alimentation 5V 2A pour alimenter les relais et les leds. N’oublies pas de connecter les GND ensemble

Bon, il faudrait arrêter les doublons tu poses exactement la même question ici

Je ferme ce fil de discussion