bouton.py

LattePanda 3 Delta (id : lattepanda-3) · 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 3 Delta (x86 Intel N5105, Windows 10/11 ou Ubuntu) avec son coprocesseur Arduino compatible (ATmega32U4) relié aux deux 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… Côté hôte : pip install pinpong puis python3. Côté MCU : l'ATmega32U4 apparaît comme un port COM — programmez-le avec l'Arduino IDE (carte « Arduino Leonardo »).

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