bouton.py

LattePanda Alpha · Fichier : bouton.py · Langage : Python · Usage : Réagir à un bouton du connecteur depuis Python

Le bouton physique devient un événement du PC : scrutation à 50 Hz côté Python, pull-up gérée par le MCU. Le déclencheur idéal pour lancer un traitement lourd que seul l'x86 sait faire.

Matériel requis

Une LattePanda Alpha (x86 Intel m3-7Y30, Windows 10 ou Linux) avec son coprocesseur ATmega32U4 compatible Arduino Leonardo sur les connecteurs 50 broches. 1 bouton poussoir (D2 vers GND).

Branchement

Bouton entre la broche D2 du connecteur 50 broches et une broche GND. Pull-up interne activée par le script.

Fonctionnement

read_digital traverse le pont série PinPong (~1 ms) ; la boucle 20 ms fait l'anti-rebond. L'appui peut déclencher subprocess, une capture caméra, un email… L'ATmega32U4 est un vrai Leonardo : brochez-le en « Arduino Leonardo » dans l'IDE via son port COM interne. Côté hôte, la bibliothèque DFRobot lattepanda (Python) dialogue avec lui par série.

Pour aller plus loin

Menu complet avec trois boutons, ou interlock de sécurité avant activation d'un moteur.

bouton.py

#!/usr/bin/env python3
# Bouton sur D2 (vers GND, pull-up MCU) -> reaction Python immediate.
from pinpong.board import Board, Pin
import time

Board().begin()
bouton = Pin(Pin.D2, Pin.IN, Pin.PULL_UP)

print("Appuyez sur D2 (Ctrl-C pour sortir)")
dernier = 1
while True:
    etat = bouton.read_digital()
    if etat != dernier:
        dernier = etat
        if etat == 0:
            print("APPUI ! — horodatage", time.time())
            # Ici : lancer un script, piloter un actionneur, logger...
    time.sleep(0.02)

← Retour à la fiche