Problème bouton poussoir/LED

Portrait de Léo

Bonsoir à toutes et à tous, je vous explique mon problème:

Ma LED ne veut pas changer d'état quand j'appuie sur le bouton poussoir :/ (sur le serial monitor, la valeur change bien!). De plus je ne comprends pas ces deux lignes de codes: Serial.begin(9600); et long etatboutton= HIGH;.

Voici mon code:

long boutton = 7;
long led= 11;
long etatboutton= HIGH;
void setup() {
  Serial.begin(9600);
  pinMode(boutton, INPUT_PULLUP);
  pinMode(led, OUTPUT);

}

void loop() {
  
  etatboutton = digitalRead(boutton);
  
  Serial.println(etatboutton);
  
  if (etatboutton = HIGH)
  {digitalWrite(led,HIGH);
  }
  else
  {digitalWrite(led,LOW);
  }

}

 

Portrait de Alex

Salut Léo,

Es-tu certains du cablage? Es-tu certains que la LED est dans le bon sens?

Serial.begin(9600); permet de lancer la liaison série qui te permet par la suite de lire la valeur à travers le moniteur série en haud à droite.

long etatBouton, que tu peux d'ailleurs utiliser en "boolean" car il n'a que deux états, permet de créer une variable qui correspond à l'état de l'interrupteur.

Portrait de Léo

D'accord merci pour les lignes de code, j'ai réalisé exactement le même cablage que dans la vidéo. La LED est dans le bon sens, elle est bien allumée mais quand j'appuie sur le bouton poussoir rien ne se passe; la LED reste allumée! :/

Portrait de Alex

C'est bon j'ai trouvé...

Il y a toujours == et non = dans une condition if()

if (etatboutton == HIGH)
  {digitalWrite(led,HIGH);
  }
  else
  {digitalWrite(led,LOW);
  }

Portrait de Léo

Raaah, c'est ce que je me suis dis tout à l'heure j'ai essayé mais à ce moment il devait y avoir une erreur dans le câblage. En tout cas ça fonctionne, merci!

Erreur | Les Électroniciens.com

Message d'erreur

  • Warning : Error while sending QUERY packet. PID=5550 dans DatabaseStatementBase->execute() (ligne 2227 dans /home/leselectnn/www/includes/database/database.inc).
  • Warning : Cannot modify header information - headers already sent by (output started at /home/leselectnn/www/includes/bootstrap.inc:1640) dans drupal_send_headers() (ligne 1499 dans /home/leselectnn/www/includes/bootstrap.inc).
  • PDOException : SQLSTATE[HY000]: General error: 2006 MySQL server has gone away: SELECT 1 AS expression FROM {variable} variable WHERE ( (name = :db_condition_placeholder_0) ); Array ( [:db_condition_placeholder_0] => cron_last ) dans variable_set() (ligne 1258 dans /home/leselectnn/www/includes/bootstrap.inc).

Erreur

Le site Web a rencontré une erreur inattendue. Veuillez essayer de nouveau plus tard.

Uncaught exception thrown in shutdown function.

PDOException: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away: DELETE FROM {semaphore} WHERE (value = :db_condition_placeholder_0) ; Array ( [:db_condition_placeholder_0] => 173745433162c6b677b260b9.93414865 ) in lock_release_all() (line 269 of /home/leselectnn/www/includes/lock.inc).