2026-10-12 : Dev

Je continue de peaufiner la config, j’ai changé les PCF en PCA suite à la discussion du 2026-10-09.

A tester

  • Steppers : connecter sur breadboard tous les steppers et les faire tourner
  • 2 PCA
  • Un servo (minimum)
  • Une pompe (minimum)

Avancement

  • Ajout de la classe actionneur
  • Timer de match pour empêcher toute autre fonction d’être appelée après la fin du match
  • Ajout d’un check des configs pour les steppers afin d’éviter de futurs problèmes

Modifications firmware robot principale

  • PCA9685 au lieu des PCF8574 (platformio.ini, board_pins.h, robot_config.h)
    • Ajout de la lib Adafruit PWM Servo Driver Library
    • 2 PCA9685 de 16 canaux, soit 32 connecteurs actionneurs (servos et pompes)
    • Pin ~OE partagée pour couper toutes les sorties PCA d’un coup
    • static_assert : les 2 PCA ne doivent pas avoir la même adresse I2C, et jamais 0x70 (adresse “all call”)
    • Réglages PWM : fréquence 50 Hz, plage d’impulsion servo par défaut 500-2500 µs
  • Gestion des actionneurs et du match (actuators.cpp/.h, match.cpp/.h, steppers.cpp/.h)
    • Classes actionneurs pour stepper, servo et pompe
    • Fonctions de timer de match (durée et état du match)
    • Checks de config des slots steppers et initialisation des PCA9685
  • MATCH_DURATION passé de secondes en millisecondes (100000UL)
  • Correction d’un commentaire obsolète dans match.h
  • Ajout d’un README au firmware (futur tuto de modification et explication)
  • Scan I2C (main.cpp, breadboard/test1_I2C.cpp)
    • Fonction de scan du bus I2C avec sortie série pour le debug
    • monitor_speed = 115200 dans platformio.ini
    • Fichier breadboard/test2_pca.cpp créé (vide) pour le prochain test

Tests

  • I2C fonctionnelle, reconnaît les adresses des PCA

Nouveaux I1

  • Jean MOULY
  • Enzo MAAZ