Programmation asistée avec l'IA Gemini: 

Si Gemini permet de créer des images, l'IA est aussi une assistance intéressante pour la programmation.
Le test vise à programmer le logiciel en micropython qui doit piloter 3 leds RGB de puissance pour faire une ambiance colorée programmable.

Cela a démarré par quelques phrases qui spécifient en détail ce que l'on veut:
- usage d'un RAP2040-zéro comme processeur
- génération de 3 signaux PWM modulant des mosfets pour gérer le mélange RGB et donner une couleur
- usage d'un oled 1.3" en I2C géré par un SH1106  (le modèle 0.96" est géré par un SSD1306)
- modulation des leds par une fréquence programmable
- menu géré par un encodeur
- exécution d'un programme défini dans un fichier .txt, chaque ligne du fichier spécifiant les 3 octets valeurs RGB (ou le nom de la couleur voulue), la durée en secondes de l'effet , la fréquence de modulation et l'intensité globale des leds
- choix du fichier programme à exécuter
- un fichier config permet de stocker les paramètres courants et niveau de couleur

Les divers fichiers .txt et .py sont stockés sur la flash du module (2Mo environ pour le Pi-zéro) grâce au logiciel Thonny. (on ne peut pas copier directement ces fichiers sur le disque qui monte sous windows en mode Boot, mode réservé aux fichiers UF2).

Au bout de une à deux heures de ma part avec des specs et remarques , l'IA (qui répond en quelques secondes) a produit tout le logiciel micropython opérationnel : la durée vient du fait de l'imprécision de la demande, du raffinage du menu et des tests en temps réel sur breadboard.
Je n'ai écrit aucune ligne de code, juste fait des remarques de modifs , d'ajouts et de corrections d'anomalies  (l'IA en fait mais corrige quand on lui indique l'erreur).
C'est l'IA qui a affecté les broches des signaux en tenant compte des contraintes des slices PWM du RP2040. L'ajout de la gestion de la led neopixel embarquée permet d'afficher la couleur qui sera produite sur les leds de puissance.



D'abord installer l'interpréteur µpython (version 2Mo de base).
Noter qu'il existe des modules RP2040 avec 16Mo de flash; Pour gérer toute cette capacité il faut installer un interpréteur dédié, le standard ne gérant que 2Mo: demander à l'IA !!!!
en utilisant le mode boot du RP2040:
micropython: fichier .UF2
Le logiciel µpython produit par l'IA à installer avec Thonny sous le nom main.py sur le RP2040: leds_spectre_zero.py
il faut copier aussi la lib de gestion du SH1106 importée par le programme: sh1106.py

En prime l'IA m'a créé deux programmes de test de la flash et d'affichage des fichiers s'y trouvant: flashtest.py  et flashdir.py. Il suffit de les lancer sur la console de Thonny.



Le menu:
1. Choix fichier
choix  du fichier programme .txt à utiliser depuis la flash
2. Spectre RGB
modif de la couleur courante sur la roue chromatique et intensité. la couleur est reflétée sur la led neopixel embarquée(pratique pour tester)
3. Activer programme
lance le programme
4. Freq modulation
change la fréquence de modulation en manuel en dehors du programme
5. On/Off
on  et off des leds. la led dédiée indique on ou off
6. Sauver eeprom
sauve la configuration courante en flash, qui sera utiisée au démarrage

La ligne du bas affiche la fréquence courante de modulation et l'intensité.

En conclusion utiliser l'IA pour programmer (surtout en interprété µpython pour les tests) est très pratique.
Pendnat le codage il est facile de poser des questions sur les circuits utilisés ou contraintes d'utilisation.
Néanmoins il faut surveiller donc avoir les bases de la programmation.