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
~OEpartagé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 jamais0x70(adresse “all call”)- Réglages PWM : fréquence 50 Hz, plage d’impulsion servo par défaut 500-2500 µs
- Ajout de la lib
- 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_DURATIONpassé 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 = 115200dansplatformio.ini- Fichier
breadboard/test2_pca.cppcréé (vide) pour le prochain test
Tests
- I2C fonctionnelle, reconnaît les adresses des PCA
Nouveaux I1
- Jean MOULY
- Enzo MAAZ