Retour au journal
#étape 03

Développement du firmware et communication

Écriture du code pour l'IC : gestion de la liaison Bluetooth bidirectionnelle et premières ébauches de pilotage moteur.

firmwareBluetoothHC-05ATMEGA328PAndroid

Étape 3 : Firmware et Communication

Structure du code

Le firmware de notre IC (ATMEGA328P) se concentre sur trois axes principaux : l'écoute série via le module BT (HC-05), le décodage des commandes reçues depuis l'application Android, et la gestion des sorties PWM pour le futur moteur.

Nous avons opté pour une approche légère afin de maximiser l'autonomie. L'utilisation de l'oscillateur interne à 8MHz (validée lors de l'étape précédente) nous impose de bien calibrer les vitesses de transmission (Baud rate) pour éviter toute corruption de données.

Protocole de communication

Pour le contrôle via Bluetooth, nous avons défini un protocole simple basé sur des caractères de commande :

  • 'U' : Up (Monter la banquette)
  • 'D' : Down (Descendre la banquette)
  • 'S' : Stop (Arrêt immédiat)

Le module HC-05 relaie ces caractères directement à l'IC via les ports RX/TX. La fiabilité est excellente après quelques ajustements de câblage.

Gestion de l'autonomie

L'un de nos objectifs critiques étant les 24h d'autonomie, nous avons intégré des fonctions de mise en veille profonde de l'IC. Le système se réveille uniquement lors de la réception d'un signal Bluetooth ou d'un appui sur un bouton physique.

Prochaines étapes

Une fois le moteur définitivement choisi, nous devrons adapter les ponts en H ou les contrôleurs de puissance pour finaliser la partie "mouvement" du firmware. Pour l'instant, le cœur logiciel est prêt à recevoir ses ordres sans fil.