Utiliser une entrée analogique comme une entrée numérique

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.

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'

Merci beaucoup.

Merci beaucoup J-M-L.

Désolé al1fch.

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.

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

Merci.

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

boutonPullUp

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.

Merci.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.