Files
ArtemiaandClaude Opus 5.5 30d0e356a6 Illustre les modules 0 à 2 (9 figures)
Bibliothèque commune schemas/outils.py (boîtes, flèches, chronogrammes, séquences). M0 : chaîne de développement, séquence BOOT/RESET. M1 : architecture, comparatif Uno/ESP32-S3, diviseur de tension. M2 : pull-up, rebonds, chenillard, protocole WS2812.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 15:11:18 +02:00

54 lines
2.4 KiB
Python

"""Module 0 — Prérequis & installation."""
from outils import boite, chronogramme, fleche, toile
from style import BLEU, ENCRE, GRIS, ORANGE, VERT, Figure
def chaine_developpement():
fig, ax = toile(16, 5.6)
# Zones ordinateur / carte
boite(ax, 5.0, 3.0, 9.4, 4.6, couleur=GRIS, fond="#f9fafb")
boite(ax, 13.2, 3.0, 4.6, 4.6, couleur=BLEU, fond="#f5f8fe")
ax.text(0.6, 4.8, "Ordinateur — Arduino IDE", fontsize=9, color=GRIS, fontweight="bold")
ax.text(11.2, 4.8, "Carte ESP32-S3", fontsize=9, color=BLEU, fontweight="bold")
code = boite(ax, 2.0, 3.3, 2.6, 1.4, "Croquis\n(.ino)", couleur=BLEU)
comp = boite(ax, 5.6, 3.3, 2.6, 1.4, "Compilation\n✓ Vérifier", couleur=BLEU)
moni = boite(ax, 4.2, 1.4, 5.4, 0.9, "Moniteur série — 115200 bauds", couleur=VERT, taille=8.5)
flash = boite(ax, 13.2, 3.3, 3.2, 1.4, "Mémoire Flash\n(programme)", couleur=ORANGE)
cpu = boite(ax, 13.2, 1.4, 3.2, 0.9, "Exécution", couleur=ORANGE)
fleche(ax, code["d"], comp["g"])
fleche(ax, comp["d"], flash["g"], "Téléverser →\n(câble USB)", taille=8)
fleche(ax, flash["b"], cpu["h"])
fleche(ax, cpu["g"], moni["d"], "Serial.println()", couleur=VERT, taille=8)
ax.text(8.0, 0.1, "Le même câble USB sert au téléversement et au moniteur série (USB CDC).",
ha="center", fontsize=7.5, color=GRIS, style="italic")
return fig
def boot_reset():
voies = [
("BOOT", [(0, 1), (1, 0), (4, 1)]),
("RESET", [(0, 1), (2, 0), (2.6, 1)]),
]
fig, ax, y = chronogramme(voies, 6, largeur_cm=15, hauteur_voie_cm=1.6,
couleurs={"RESET": ORANGE})
ax.set_xticks([])
ax.spines["bottom"].set_visible(False)
for i in range(2):
ax.text(6.05, y(i) + 1, "relâché", fontsize=7, color=GRIS, va="center")
ax.text(6.05, y(i), "appuyé", fontsize=7, color=GRIS, va="center")
etapes = [(1, "① maintenir BOOT"), (2.3, "② appui bref\nsur RESET"), (4, "③ relâcher BOOT")]
for t, txt in etapes:
ax.axvline(t, color=GRIS, lw=0.8, ls=":")
ax.text(t, 3.05, txt, ha="center", va="bottom", fontsize=8, color=ENCRE)
ax.text(5.0, -0.75, "→ la carte démarre en mode téléchargement", ha="center", fontsize=8.5,
color=VERT, fontweight="bold")
ax.set_ylim(-1.1, 4.1)
fig.tight_layout()
return fig
FIGURES = [
Figure("m00-chaine-developpement", chaine_developpement),
Figure("m00-boot-reset", boot_reset),
]