bouton.py

LattePanda 3 Delta (id: lattepanda-3) · Archivo : bouton.py · Lenguaje : Python · Uso : Réagir à un bouton du connecteur depuis Python

El botón físico se vuelve un evento del PC: sondeo a 50 Hz por Python, pull-up gestionada por el MCU. El disparador ideal para el procesamiento pesado que solo el x86 sabe hacer.

Hardware necesario

Una LattePanda 3 Delta (x86 Intel N5105, Windows 10/11 o Ubuntu) con su coprocesador Arduino compatible (ATmega32U4) conectado a los dos conectores de 50 pines. 1 botón pulsador (D2 a GND).

Cableado

Botón entre el pin D2 del conector de 50 pines y un pin GND. Pull-up interna activada por el script.

Funcionamiento

read_digital cruza el puente serie PinPong (~1 ms); el bucle de 20 ms hace antirrebote. La pulsación puede lanzar subprocess, una captura de cámara, un correo… Lado anfitrión: pip install pinpong y python3. Lado MCU: el ATmega32U4 aparece como puerto COM — prográmelo con el Arduino IDE (placa « Arduino Leonardo »).

Para ir más lejos

Menú completo con tres botones, o enclavamiento de seguridad antes de activar un motor.

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)

← Volver a la ficha