Bonjour,
Je rappelle que je suis tout débutant sur Arduino, Langage C et surtout électronique.
Je souhaite utiliser un bouton poussoir sur une entrée analogique :
1/ Ce Code peut-il convenir ? :
int Statutbouton11 = 0;
pinMode(A0, INPUT); //(setup)
void loop() {
Statutbouton11 = analogRead(A0);
if (Statutbouton11 == HIGH) {
//code
delay(200);
}
}
2/ Pour le montage, dois-je comme pour une entrée digitale souder une résistance ?
Merci à tous pour votre aide.
J-M-L
May 6, 2021, 1:48pm
2
Oui ça fonctionnera avec un pull down externe et digitalRead au lieu de analogRead
Le plus simple reste d’utiliser le pullup interne de la carte, ça inverse juste la logique et vous n’avez plus besoin de résistance externe
void setup() {
pinMode(A0, INPUT_PULLUP); // A0 —- bouton —— GND
}
void loop() {
if (digitalRead(A0) == LOW) {
//code
delay(15); // anti rebond du pauvre :)
}
}
Bonjour
fil déplacé à l'endroit défini dans les Règles du Forum :
Les entrées dites analogiques sont en fait des entrées/sorties numériques disposant en plus d'un mode de fonctionnement alternatif, le mode 'entrée analogique'
Une dernière question :
Y a t-il plusieurs résistances pull up dans ma carte nano ?
Dans ce cas il me sera peut-être possible de brancher 4 boutons poussoirs de plus sur mes entrées analogiques et sans résistance externe ?
Merci beaucoup.
J-M-L
May 6, 2021, 3:34pm
7
Oui les pins 0 à 13 et A0 à A5 ont chacunes une résistance de pullup que vous pouvez activer, donc jouable aussi sur les autres
Cf cette doc
Pour compléter, tu te demande peut-être pourquoi mettre un pull up ? Dans l'idée, sans un pull up, tu à un câble "en l'air" cf le shéma
Tu voit que sans la résistance, le câble connecté à ta broche est "en l'air" ce qui rend ton câble antenne donc avec de fausse valeurs ^^
Voila voila.
system
Closed
September 5, 2021, 6:09am
11
This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.