🛠 Bouton poussoir et messages console

Hardkernel ODROID-C2 (Amlogic S905) · debutant · Schéma : IMG-odroid-c2-debutant-2-odroidc2-bouton-console.svg — bouton poussoir avec résistance de pull-up 10 kΩ vers 3,3 V sur le connecteur J2

Objectifs

Lire un bouton poussoir sur l'ODROID-C2 et afficher un message sur la console à chaque appui, en combinant l'entrée GPIO (wiring-odroid) et la sortie stdout — la base de toute interface homme-machine.

Matériel

Code complet

/* bouton.c — gcc bouton.c -lwiringPi -o bouton */
#include <wiringPi.h>
#include <stdio.h>
#include <time.h>

#define BTN 11   /* broche physique 11, bouton vers GND */

int main(void) {
    if (wiringPiSetupPhys == -1) { perror("wiringPiSetupPhys"); return 1; }
    pinMode(BTN, INPUT);   /* pull-up 10k externe vers 3,3 V requis */
    int last = HIGH, appuis = 0;
    for (;;) {
        int état = digitalRead(BTN);
        if (état == LOW && last == HIGH) {
            appuis++;
            printf("Appui n%d — bouton actif (niveau bas)\n", appuis);
            fflush(stdout);
            delay(50);     /* anti-rebond logiciel */
        }
        last = état;
        delay(5);
    }
}

Vérification attendue

Chaque appui affiche une ligne « Appui n1 », « Appui n2 »… sur la console. Relâcher puis appuyer de nouveau compte un nouvel appui ; maintenir le bouton appuyé ne doit pas répéter le message (anti-rebond).

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels