Arduino Forum

International => Français => Topic started by: Alcar on Jun 07, 2018, 03:27 pm

Title: probléme de lecture d'un pin
Post by: Alcar on Jun 07, 2018, 03:27 pm
voila mon programme (c'est le deuxième)
quand j'allume ma carte UNO rien ne se passe, ce qui est normal, puisque le programme attend un signal dans l'entrée 10 pour démarrer.
si j'envoi un signal; le programme s'exécute correctement
la carte
puis la carte son et un moteur
puis le moteur s'arrête
la ventouse s'arrête et la porte s'ouvre.
et le programme s'arrête.
chaque élément est commandé par une carte relais: donc trois relais

mon problème est que dés que je met un fil dans la borne 10 (relié à rien du tout) le programme démarre. je pensais quand dessous de 1volt la carte considérée que l'entrée était à zéro.
le probléme vient: de la carte??
du programme
ou du montage , j'ai essayé de rajouter une résistance de 220 ohm à la sortie avant de mettre le fil, dés que j'enfonce un coté de la résistance dans la pin 10 le programme démarre, j'ai éssaye avec un entrée analogique même pb
à l'aide

Code: [Select]

int pinMoteur = 4;
int pinSon = 6;
int pinVentouse =8;
boolean ouverturePorte;
int pinAction;
int val = 0;
void setup() {
 //initialisation des ports
 pinMoteur = 4;
 pinSon = 6;
 pinVentouse = 8;
 pinAction = 10;

 // état des ports
 pinMode(pinMoteur, OUTPUT);
 pinMode(pinSon, OUTPUT);
 pinMode(pinVentouse, OUTPUT);
 pinMode(pinAction, INPUT);
 //mise à zéro
 digitalWrite(pinSon, LOW);
 digitalWrite(pinMoteur, LOW);
 digitalWrite(pinVentouse, LOW);
 digitalWrite(pinAction, LOW);
 ouverturePorte = true;
}
void loop() {
   
     val = digitalRead(pinAction);
     if (val ==1)



if (ouverturePorte)
 {
   digitalWrite(pinSon, HIGH);
   delay(3000);
   digitalWrite(pinSon, HIGH);
   digitalWrite(pinMoteur, HIGH);
   delay(4000);
   digitalWrite(pinMoteur, LOW);
   digitalWrite(pinVentouse, HIGH);
   delay(3000);
   digitalWrite(pinSon, LOW);
   digitalWrite(pinMoteur, LOW);
   digitalWrite(pinVentouse, LOW);
   {
     ouverturePorte = false;
   }

 }

}


Title: Re: probléme de lecture d'un pin
Post by: lesept on Jun 07, 2018, 04:24 pm
Et comme ça ?
Code: [Select]
void loop() {
  val = digitalRead(pinAction);
  if (val == 1) {  // <-- ajout d'une accolade
    if (ouverturePorte)
    {
      digitalWrite(pinSon, HIGH);
      delay(3000);
      digitalWrite(pinSon, HIGH);
      digitalWrite(pinMoteur, HIGH);
      delay(4000);
      digitalWrite(pinMoteur, LOW);
      digitalWrite(pinVentouse, HIGH);
      delay(3000);
      digitalWrite(pinSon, LOW);
      digitalWrite(pinMoteur, LOW);
      digitalWrite(pinVentouse, LOW);
      {
        ouverturePorte = false;
      }
    }
  } // <--- fermeture
}
Title: Re: probléme de lecture d'un pin
Post by: infobarquee on Jun 07, 2018, 04:28 pm
bonjour,

bonjour, merci, code entre balise code </>
Title: Re: probléme de lecture d'un pin
Post by: Alcar on Jun 07, 2018, 05:19 pm
merci pour votre aide.

bon toujours pareil, j'ai essayé avec une autre carte et c'est pareil????
Title: Re: probléme de lecture d'un pin
Post by: dfgh on Jun 07, 2018, 05:45 pm
hello

merci de lire ceci  et de corriger ton premier post (https://forum.arduino.cc/index.php?topic=315372.0)
Title: Re: probléme de lecture d'un pin
Post by: Alcar on Jun 07, 2018, 06:15 pm
ok
excusez moi
cordialement
Title: Re: probléme de lecture d'un pin
Post by: dfgh on Jun 07, 2018, 06:35 pm
merci :)
Title: Re: probléme de lecture d'un pin
Post by: lesept on Jun 07, 2018, 06:57 pm
Est-ce que tu peux tester en utilisant une autre broche que la 10 ?

La broche 10 est reliée à la LED RX, va une résistance 10k. Peut-être est-elle plus sensible qu'une autre et que le fil que tu insères agit comme une antenne ?
Title: Re: probléme de lecture d'un pin
Post by: dfgh on Jun 07, 2018, 07:13 pm
veux tu tester ce code, attention il ne fonctionnera qu'une fois

Code: [Select]
const byte pinMoteur = 4;
const byte pinSon = 6;
const byte pinVentouse = 8;
boolean ouverturePorte;
const byte pinAction = 10;
int val = 0;
void setup()
{
  // état des ports
  pinMode(pinMoteur, OUTPUT);
  pinMode(pinSon, OUTPUT);
  pinMode(pinVentouse, OUTPUT);
  pinMode(pinAction, INPUT_PULLUP);//il faudra mettre ton fil sur GND pour ouvrir
  //mise à zéro
  digitalWrite(pinSon, LOW);
  digitalWrite(pinMoteur, LOW);
  digitalWrite(pinVentouse, LOW);
  ouverturePorte = true;
}
void loop()
{
  val = digitalRead(pinAction);
  if (val == LOW)
  {
    digitalWrite(pinSon, HIGH);
    delay(3000);
    digitalWrite(pinSon, HIGH);
    digitalWrite(pinMoteur, HIGH);
    delay(4000);
    digitalWrite(pinMoteur, LOW);
    digitalWrite(pinVentouse, HIGH);
    delay(3000);
    digitalWrite(pinSon, LOW);
    digitalWrite(pinMoteur, LOW);
    digitalWrite(pinVentouse, LOW);
  }
}
Title: Re: probléme de lecture d'un pin
Post by: lesept on Jun 07, 2018, 07:21 pm
veux tu tester ce code, attention il ne fonctionnera qu'une fois
Pourquoi ? Il s'autodétruit après ?
Title: Re: probléme de lecture d'un pin
Post by: Alcar on Jun 07, 2018, 07:27 pm
Alors,
j'ai mis les sorties sur les pins 2, 4, 6 pour être sur la première série de pins
j'ai essayé l 'entré sur le 10, 11, 13, A2, A5
ah, quand je touche les soudures des pins (au dos de la carte) le programme démarre

deuxiéme essais
les sorties en 8, 10, 12
et l'entrée en 4
idem des que je mets un fil dans le 4 le programme demarre

j'y comprend rien???
Title: Re: probléme de lecture d'un pin
Post by: lesept on Jun 07, 2018, 07:57 pm
J'ai simplifié et reproduit le montage, avec juste la pin 10 et la LED du nano pour montrer que le test est vérifié. Le code :
Code: [Select]
int pinAction = 10;
int val = 0;
boolean ouverturePorte = true;

void setup() {
  //initialisation des ports
  pinMode(pinAction, INPUT);
  digitalWrite(pinAction, LOW);
  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, HIGH);
  delay (2000);
  digitalWrite(LED_BUILTIN, LOW);
}

void loop() {
  val = digitalRead(pinAction);
  if (val == 1)
  {
    if (ouverturePorte)
    {
      digitalWrite(LED_BUILTIN, HIGH);
      ouverturePorte = false;
    }
  }
}
La LED s'allume 2 secondes (c'est pour voir de quelle LED il s'agit) puis lorsque j'insère un fil métallique dans le trou de ma breadboard branché sur la broche 10, la LED s'allume.

Maintenant si je commente la ligne
Code: [Select]
  digitalWrite(pinAction, LOW);tout rentre dans l'ordre. Il ne doit pas aimer un digitalWrite sur un port déclaré en OUTPUT...

Voilà !
Title: Re: probléme de lecture d'un pin
Post by: dfgh on Jun 08, 2018, 12:05 am
@ le sept
je me suis mal exprimé, je parlais du prg d'origine de notre ami
il initialise un boolean à true
puis dans la boucle, si la condition est confirmée, et si le boolean est true, il exécute sa fonction d'ouverture et passe le boolean à false .
la fois suivante, le boolean est false et il ne peut plus exécuter sa fonction d'ouverture
le code d'origine en simplifié
Code: [Select]
boolean ouverturePorte = true;
setup(){}
void loop() {

  val = digitalRead(pinAction);
  if (val == 1)
    if (ouverturePorte)
    {
      digitalWrite(pinSon, HIGH);
      delay(3000);
      //etc....
      ouverturePorte = false;
    }
}
Title: Re: probléme de lecture d'un pin
Post by: Alcar on Jun 08, 2018, 10:46 am
bonjours à tous,
j'ai essayé toutes vos solutions et voila ce qui marche à la perfection, sachant que si le signal en entrée est continu (reste branché) le programme ne doit s'exécuter qu'une seule fois.
en fait c'est pour un jeux. les enfants doivent trouver 3 objets qui une fois posés sur le bon emplacement laisse passer le - (là le GND, sur mon premier essais c'était le +, mais c'est pas important) ,  pour déclencher: un son, un moteur qui fait bouger plein de petits trucs et enfin ouvre une porte. le programme ne doit pas redémarrer au début une fois exécuté, pour le remettre à zéro il faut faire un reset.
 j'ai remis, dans le code proposé par "DFGH", la fonction ouverturePorte et .... TOUT MARCHE
Maintenant il faut que je digère ce code pour comprendre....

sinon  le branchement est assez simple
3 relais alimentés par la carte, et piloté par les pins 4, 6, 8, chaque relais active une fonction.
le pin 10 est relié au GND en passant par des interrupteurs ILS qui se ferment quand on pose les objets dessus (ils sont pourvus d'un aimant),  ce qui démarre le programme.

j'espère que c'est clair????

Merci à tous,
BON, à la rentrée je m'inscris au FABLAB qui est pas loin de chez moi pour prendre des cours d'ARDINIO.

encore un grand MERCI


Code: [Select]

const byte pinMoteur = 4;
const byte pinSon = 6;
const byte pinVentouse = 8;
boolean ouverturePorte;
const byte pinAction = 10;
int val = 0;
void setup()
{
  // état des ports
  pinMode(pinMoteur, OUTPUT);
  pinMode(pinSon, OUTPUT);
  pinMode(pinVentouse, OUTPUT);
  pinMode(pinAction, INPUT_PULLUP);//il faudra mettre ton fil sur GND pour ouvrir
  //mise à zéro
  digitalWrite(pinSon, LOW);
  digitalWrite(pinMoteur, LOW);
  digitalWrite(pinVentouse, LOW);
  ouverturePorte = true;
}
void loop()
{
  val = digitalRead(pinAction);
  if (val == LOW)
  {
    if (ouverturePorte)
    {
    digitalWrite(pinSon, HIGH);
    delay(3000);
    digitalWrite(pinSon, HIGH);
    digitalWrite(pinMoteur, HIGH);
    delay(4000);
    digitalWrite(pinMoteur, LOW);
    digitalWrite(pinVentouse, HIGH);
    delay(3000);
    digitalWrite(pinSon, LOW);
    digitalWrite(pinMoteur, LOW);
    digitalWrite(pinVentouse, LOW);
    {
      ouverturePorte = false;
    }
  }
}
}
Title: Re: probléme de lecture d'un pin
Post by: Alcar on Jun 11, 2018, 12:16 pm
bonjour,
j'essaie de comprendre quel est l'effet de la déclaration const byte des pins 4,6,8,10 ???? par rapport à la déclaration en variable, sur le comportement de la carte. (pour rappel, le fait de mettre un fil non connecté sur le pin 10, déclenché le programme).

cela veut dire que l'on a des constantes qui peuvent prendre une valeur de 0 à 255 au lieu d'avoir des variables et donc qui ne changent pas de valeur, elles sont déclarées en sortie pour les 3 premières et en entrée pour la 4ème.

OU c'est le fait de mettre un PULLUP qui change la sensibilité d'entrée qui attend une tension négative au lieu d'une tension positive,  qui permet de supprimer le problème????

belle journée
Title: Re: probléme de lecture d'un pin
Post by: dfgh on Jun 11, 2018, 12:40 pm
ton fil en l'air se comporte comme une antenne, un capteur.
en principe, sur un circuit intégré, on ne laisse pas une entrée "en l'air", si non connectée, on lui fixe un potentiel, soit la masse soit VCC. cela évite des surprises, des comportements non prévus.

c'est l'effet que tu obtiens en mettant les pullup en service. tes résistances de pullup mettent l'entrée à VCC
Title: Re: probléme de lecture d'un pin
Post by: 68tjs on Jun 11, 2018, 02:18 pm
Quote
j'essaie de comprendre quel est l'effet de la déclaration const byte des pins 4,6,8,10 ???? par rapport à la déclaration en variable,
Ces petits détails sans importance apparente sont importants avec une machine qui n'a que très peu de place mémoire.
Une variable est stockée dans la RAM qui n'est pas bien grande. En plus avec le compilateur avr-gcc un integer occupe 2 octets ce qui est du gâchis quand un microcontrôleur ne dispose pas de plus de 255 pins.

Le fait de déclarer en byte (soit 1 octet en français) fait déjà une première optimisation.
Ensuite si le compilateur sait que le contenu ne changera pas (mot clé "const") il se livrera de lui même a des optimisations comme ne pas utiliser la ram pour la variable qui ne varie pas mais la flash.
Un compilateur est quelque chose de plus complexe qu'un simple moteur qui transforme du code en langage machine, on parle beaucoup en ce moment d'intelligence artificielle cela en est un exemple.

Des fois on ne veux pas que le compilateur optimise, le mot clé qui interdit au compilateur de se livrer à des optimisations est "volatil".
Title: Re: probléme de lecture d'un pin
Post by: Alcar on Jun 11, 2018, 02:24 pm
merci pour ces explications qui me permettent d'avancer
bonne journée.
Title: Re: probléme de lecture d'un pin
Post by: Alcar on Jun 13, 2018, 09:08 pm
bonsoir
excusez moi si je profite, mais un qui sais, vaux mieux  que mille qui cherchent,
voilà je continue mon apprentissage sur des pb qui me semble simple, mai qui une fois devant la page blanche sont plus compliqué.
alors on a 6 cellules photo électrique sans retard, quand on met la main devant, elles s'enclenchent et quand on enlève la main elles s'éteignent.
donc 6 pin déclarées
et 1 pinRelais
quand on en cache 3  des cellules (123) et que les 3 autres sont libres le signal dans la PIN 8 doit allumer le relais, et uniquement dans ce cas.
toutes les autres combinaisons ne doivent pas, en aucun cas, allumer le relais.
voila mon code, qui marche, mais sans fiabilité.
doit je employer une autre condition que if et Else
Code: [Select]


const byte inputPin1 = 2;               // entrées pour cellules
const byte inputPin2 = 3;
const byte inputPin3 = 4;
const byte inputPin4 = 5;
const byte inputPin5 = 6;
const byte inputPin6 = 7;
int relayPin = 8;
// commençons avec aucun mouvement detecté
//etat du relais
boolean val1 = 0;                    // variable pour lire l'état des broches
boolean val2 = 0;
boolean val3 = 0;
boolean val4 = 0;
boolean val5 = 0;
boolean val6 = 0;
                     

void setup() {

  pinMode(relayPin, OUTPUT);  //declare l epin relais en sortie
  pinMode(inputPin1, INPUT);     // declare les pins des cranes en entrée
  pinMode(inputPin2, INPUT);
  pinMode(inputPin3, INPUT);
  pinMode(inputPin4, INPUT);
  pinMode(inputPin5, INPUT);
  pinMode(inputPin6, INPUT);

}

void loop() {
  val1 = digitalRead(inputPin1);  // lire l'état des broches
  val2 = digitalRead(inputPin2);
  val3 = digitalRead(inputPin3);
  val4 = digitalRead(inputPin4);
  val5 = digitalRead(inputPin5);
  val6 = digitalRead(inputPin6);

  digitalWrite (relayPin, LOW);

  if (val1 == true && val2 == true && val3== true && val4== false && val5 == false && val6 == false)
 
     
     
     { digitalWrite (relayPin, HIGH); }
     
        else

        {

          digitalWrite (relayPin, LOW);


merci d'avance pour vos conseils qui me permettent d'avancer


Title: Re: probléme de lecture d'un pin
Post by: lesept on Jun 13, 2018, 10:25 pm
Les variables val1 à val6 valent 0 ou 1 selon qu'elles sont LOW ou HIGH : tu peux le vérifier en les affichant sur la console. Même si les puristes n'aiment pas ça, tu peux faire des calculs avec.

Pour tester si 3 cellules sont masquées, n'importe lesquelles, tu peux faire
Code: [Select]
byte test = val1+val2+val3+val4+val5+val6;
if (test == 3) {  actions à faire }


Pour tester si seules les 1 à 3 sont cachées :
Code: [Select]
byte test1 = val1+val2+val3;
byte test2 = val4+val5+val6;
if (test1 == 3 && test2 == 0) digitalWrite(8,HIGH);
Title: Re: probléme de lecture d'un pin
Post by: Alcar on Jun 14, 2018, 10:54 am
Merci je vais essayer çà.

mon premier programme ressemblait à çà et qui a marché jusqu'à la déclaration de 4 conditions  "if" successives  et au delà  j'ai un message d'erreur???

Warning: suggest explicit braces to avoid ambigous  'else' [wparentheses] if (val5 == 0)
j'ai pas compris, mais cela vient il sans doute du nombre important de if successifs?



Code: [Select]


             
const byte inputPin1 = 2;               // entrées
const byte inputPin2 = 3;
const byte inputPin3 = 4;
const byte inputPin4 = 5;
const byte inputPin5 = 6;
const byte inputPin6 = 7;
const byte relayPin = 8;
// commençons avec aucun mouvement detecté
//etat du relais
boolean val1 = 0;                    // variable pour lire l'état des broches
boolean val2 = 0;
boolean val3 = 0;
boolean val4 = 0;
boolean val5 = 0;
boolean val6 = 0;


void setup() {
       // declare LED as en sortie
  pinMode(relayPin, OUTPUT);  //declare l epin relais en sortie
  pinMode(inputPin1, INPUT);     // declare les pins des cranes en entrée
  pinMode(inputPin2, INPUT);
  pinMode(inputPin3, INPUT);
  pinMode(inputPin4, INPUT);
  pinMode(inputPin5, INPUT);
  pinMode(inputPin6, INPUT);


}

void loop() {
  val1 = digitalRead(inputPin1);  // lire l'état des broches
  val2 = digitalRead(inputPin2);
  val3 = digitalRead(inputPin3);
  val4 = digitalRead(inputPin4);
  val5 = digitalRead(inputPin5);
  val6 = digitalRead(inputPin6);

  digitalWrite (relayPin, LOW);

  if (val1 == 1 )
    if (val2 == 1)
      if (val3 == 1)
        if (val4 == 0)
          if (val5 == 0)
            if (val6 == 0)

           { digitalWrite (relayPin, HIGH);}

           
           
            else
           
            {

              digitalWrite (relayPin, LOW);
            }



}
Title: Re: probléme de lecture d'un pin
Post by: Alcar on Jun 14, 2018, 12:10 pm
merci LESEPT
tout à l'air de fonctionner normalement
c'est un bon apprentissage, j'avais pas pensé faire le système des tests, je vais approfondir cela ....
encore merci
Title: Re: probléme de lecture d'un pin
Post by: lesept on Jun 14, 2018, 12:11 pm
C'est un warning, pas une erreur : ça n'empêche pas la compilation ni l'exécution. Le compilateur te demande de mettre des accolades dans tes if pour éviter toute ambiguïté. Le plus simple est de tester ce que je te propose, qui n'est pas ambigu. Le compilateur devrait apprécier... :)

EDIT : on s'est croisé...

Tu peux encore simplifier le programme comme suit :
Code: [Select]
if (val1+val2+val3 == 3 && val4+val5+val6 == 0) digitalWrite(8,HIGH);
Title: Re: probléme de lecture d'un pin
Post by: Alcar on Jul 09, 2018, 06:22 pm
pour améliorer mon programme je voulais pouvoir le lancer à partir d'un bouton initialiser sur un autre pin
le 11,
j'ai essayé de mettre deux conditions dans le if , soit le pin 10 reçoit un signal, soit j'appuie sur un bouton qui est branché sur le pin 11 pour lancer le programme.
j'ai essayé plien de trucs mais rein ne fonctionne.
soit le programme se lance quand le signal arrive sur le pin 10 mais rien ne se pas si j'envois du 5v sur le 11
soit le programme demarre tout seul.

voila mon programme avec la condition OU
Code: [Select]
const byte pinLumier = 4;
const byte pinSon = 6;
const byte pinVentouse = 8;
boolean ouverturePorte;
const byte pinAction = 10;
const byte pinBouton = 11;
int val = 0;
int val1 = 0;
void setup()
{
  // état des ports
  pinMode(pinLumier, OUTPUT);
  pinMode(pinSon, OUTPUT);
  pinMode(pinVentouse, OUTPUT);
  pinMode(pinAction, INPUT_PULLUP);// fil sur GND pour ouvrir
  //mise à zéro
  digitalWrite(pinSon, LOW);
  digitalWrite(pinLumier, LOW);
  digitalWrite(pinVentouse, LOW);
  ouverturePorte = true;
}
void loop()
{
  val = digitalRead(pinAction);
   val1 = digitalRead(pinBouton);
  if (val == LOW || val1 == HIGH)
  {
    if (ouverturePorte)
    {
      digitalWrite(pinSon, HIGH);
      delay(5000);
      digitalWrite(pinVentouse, HIGH);
      delay (2500);
      digitalWrite(pinLumier, HIGH);
      delay(30000);
      digitalWrite(pinSon, LOW);
      digitalWrite(pinLumier, LOW);
      digitalWrite(pinVentouse, LOW);
      {
        ouverturePorte = false;
      }
    }
  }
}

 
Title: Re: probléme de lecture d'un pin
Post by: dfgh on Jul 09, 2018, 07:09 pm
hello
ton prg ci joint avec des commentaires
il est perturbé par les rebonds sur 10 ou 11
il manquait un pinMode
et ta mise à false du flag ouvertureporte n'autorise qu'un seul mouvement de la porte.
après ce mouvement, il faudra razer le prg pour que le flag soit à nouveau initialisé à true
Title: Re: probléme de lecture d'un pin
Post by: dfgh on Jul 09, 2018, 07:10 pm
 :) j'ai oublié ton prg
Code: [Select]
const byte pinLumier = 4;
const byte pinSon = 6;
const byte pinVentouse = 8;
boolean ouverturePorte;
const byte pinAction = 10;
const byte pinBouton = 11;//init si ==high donc cablé a l'inverse de pinAction
int val = 0;
int val1 = 0;
void setup()
{
  // état des ports
  pinMode(pinLumier, OUTPUT);
  pinMode(pinSon, OUTPUT);
  pinMode(pinVentouse, OUTPUT);
  pinMode(pinAction, INPUT_PULLUP);// fil sur GND pour ouvrir (validé par contact avec GND)
  pinMode(pinBouton, INPUT);//il manquait cette déclaration   (validé par contact avec VCC)
  //mise à zéro
  digitalWrite(pinSon, LOW);
  digitalWrite(pinLumier, LOW);
  digitalWrite(pinVentouse, LOW);
  ouverturePorte = true;
}
void loop()
{
    val = digitalRead(pinAction);// 10 inputpullup
   val1 = digitalRead(pinBouton);// 11 init input
   delay(200);//on laisse le temps aux rebonds de disparaitre
  if (val == LOW || val1 == HIGH)
  {
    if (ouverturePorte)//le flag ne sera true qu'une seule fois
    {
      digitalWrite(pinSon, HIGH);
      delay(5000);
      digitalWrite(pinVentouse, HIGH);
      delay (2500);
      digitalWrite(pinLumier, HIGH);
      delay(30000);
      digitalWrite(pinSon, LOW);
      digitalWrite(pinLumier, LOW);
      digitalWrite(pinVentouse, LOW);
      {//accolade inutile ou mal placée
        ouverturePorte = false;//ici, tu interdit à la porte de bouger une deuxième fois
      }//accolade inutile ou mal placée
    }
  }
}
Title: Re: probléme de lecture d'un pin
Post by: Alcar on Jul 10, 2018, 07:11 am
merci pour ton aide,
je me suis aperçu après avoir posté que j'avais oublié la ligne sur le pin 11,
pour la porte je ne veut effectivement qu'elle ne s'ouvre qu'un fois, pour la relancer je met un autre bouton sur le reset de la carte avec le GND... je ne sais pas si c'est très académique mais ça marche?
par contre dés que je téléverse le programme il se lance toujours tout sans avoir reçu de signal,idem quand je fais un reset.

Title: Re: probléme de lecture d'un pin
Post by: dfgh on Jul 10, 2018, 08:52 am
comment sont cablés 10 et 11?
Title: Re: probléme de lecture d'un pin
Post by: Alcar on Jul 10, 2018, 10:35 am
pour le moment je fait avec un fil que je connecte au GND pour le 10 et un autre fil que je connecte 5v pour le 11
même quand les fils ne sont pas branche sur la carte, le programme se lance.
Title: Re: probléme de lecture d'un pin
Post by: dfgh on Jul 10, 2018, 10:43 am
tu relies en permanence le 11 à GND à travers une résistance de 10 K ( valeur pas très importante)

puis pour maniper, tu appliques tes 5V sur l'entrée 11 sans débrancher ta  résistance.
Title: Re: probléme de lecture d'un pin
Post by: kamill on Jul 10, 2018, 11:25 am
Bonjour,

Tu as bien une résistance de pulldown sur la pin 11?
Title: Re: probléme de lecture d'un pin
Post by: Alcar on Jul 10, 2018, 02:23 pm
je pense mettre une résistance 10K sur GND  et un condensateur de 10 UF en // du bouton  poussoir
pour éviter les parasitage: montage RC pulldown du lien ci dessous
https://arduino103.blogspot.com/2011/12/boutons-contacts-et-deparatisage.html