Allumer une LED indirectement

Bonjour, j'aimerais que lorsque la PIN 2 de l'ARDUINO reçoit du courant, la LED de la PIN 13 s'allume
Mais mon programme ne fonctionne pas, pouvez vous m'aider ?

Voici le code:

int switchState = 0 ;

void setup(){

  pinMode(13,OUTPUT);

  pinMode(2,INPUT);
}

void loop(){

  switchState = digitalRead(2);

  if (switchState == LOW)
    { digitalWrite(13, HIGH); }

  else { digitalWrite(13, LOW);

  delay(100);
}
}

Voici le montage:

Est ce que tu as strictement suivi ton schémas ? car si c'est le cas, il faut que le fil rouge de droite soit connecté sur la broche du dessus de l'interupteur et il manque une résistance de pull-down à ton montage.

Si non, pour faire sans résistance, tu changes le fil rouge de gauche vers GND

ta ligne pinMode(2,INPUT); devient pinMode(2,INPUT_PULLUP);

Attention, les niveaux logiques sont inversés dans ce cas, HIGH correspond au bouton non enfoncé, et LOW bouton enfoncé.

Il manque une résistance en série avec la diode et une résistance de rappel pour l'interrupteur.

Avec ton montage, lorsque le bouton n'est pas appuyé, ton pin 2 est "en l'air" donc dans un état instable, il peut valoir 0 ou 1 en fonction des ondes qu'il capte.

bigben99 > il me semble que sur la pin 13, il y a déjà une résistance embarquée non ?

vohu:
bigben99 > il me semble que sur la pin 13, il y a déjà une résistance embarquée non ?

bonjour,
tout à fait, pas besoin de résistance sur la 13

Mais mon programme ne fonctionne pas, pouvez vous m'aider ?

ma voiture non plus :slight_smile:
sans plus de détails, difficile de répondre.
tu veux allumer la led tant que tu appuie?
juste appuyer et relacher et allumer la led et à nouveau appuyer relacher et éteindre?

infobarquee:
bonjour,
tout à fait, pas besoin de résistance sur la 13

Sauf à utiliser la Del interne : FAUX.
Une del câblée directement avec le Vcc ou la masse endommagera gravement la sortie 13.

  1. Sur l'ancien schéma la sortie se fait en parallèle sur le réseau R+Del.
    La sortie est directe sans résistance.

  2. Sur le nouveau schéma la del est interfacée par l'ampli op, qui était non utilisé dans l'ancien schéma donc la sortie est directe sans résistance.

j'aurais appris quelque chose ce soir :slight_smile:
j'étais resté sur l'ancienne version avec la 13 en output et gnd ou il n'y avait pas besoin de résistance.

Je n'ai pas l'impression que l'on se comprend.
Je répond par rapport à un schéma publié où l'auteur fait figurer une diode externe, je ne répond pas sur la diode interne qui a toujours eu sa résistance interne même si le schéma interne a été modifié.

Exact : DANGER.
La sortie 13 d'Arduino comme toutes les sorties sont directement reliées au microcontrôleur. DONC SI ON UTILISE CETTE SORTIE EN EXTERNE IL FAUT IMP2RATIVEMENT LIMITER LE COURANT avec une résistance.
Même topo pour une entrée. la relier directement à la masse ou au +5Vcc va la mettre en danger. Imaginez que le programme présente une erreur et qu'elle passe en sortie ... DOMMAGE !
D'une façon générale, j'insère toujours une protection en ligne, même sur les entrées Analogiques. ces dernières peuvent parfaitement être configurées par programme en sorties, ou recevoir une tension exagérée. Si il y a une résistance de l'ordre de 10kOhm en entrée, elles seront alors protégées par les diodes internes au microcontrôleur.
Amicalement : Nulentout.