8x32 PI
This commit is contained in:
+65
-1
@@ -70,7 +70,7 @@ chaîne de LED), l'Arduino est idéal. Pour **diffuser les créations d'une
|
||||
| **Raspberry Pi 3B+, 4 ou Zero 2 W** | 1 | ⚠️ **pas le Pi 5** (voir encadré) |
|
||||
| Bloc secteur USB **officiel** du Pi | 1 | micro-USB 2,5 A (3B+, Zero 2 W) ou USB-C 3 A (Pi 4) |
|
||||
| Carte micro-SD 16 Go ou plus | 1 | « classe 10 » / « A1 » |
|
||||
| Puce **74AHCT125** (boîtier DIP 14 pattes) | 1 | l'adaptateur 3,3 V → 5 V (partie 4). Le **74HCT125** convient aussi |
|
||||
| Puce **74AHCT125** (boîtier DIP 14 pattes) | 1 | l'adaptateur 3,3 V → 5 V (partie 4). Le **74HCT125** convient aussi. **Pas de puce ?** Voir les solutions de dépannage, partie 4 |
|
||||
| Alimentation d'établi | 1 | réglée sur **5,0 V**, limite ≈ 3 A |
|
||||
| 2 cordons banane → pince crocodile | 1 rouge + 1 noir | |
|
||||
| Résistance **330 Ω** | 1 | orange-orange-marron |
|
||||
@@ -153,6 +153,63 @@ gauche, la patte 1 est **en bas à gauche**. On compte ensuite dans le sens
|
||||
inverse des aiguilles d'une montre : 1 à 7 en bas, de gauche à droite, puis
|
||||
8 à 14 en haut, de droite à gauche.
|
||||
|
||||
### Pas de 74AHCT125 sous la main ? Deux solutions de dépannage
|
||||
|
||||
**Solution A : baisser la tension de la matrice (conseillée, aucun composant).**
|
||||
Le seuil du « 1 » vaut 70 % de la tension d'alimentation **des LED**. Si on
|
||||
alimente la matrice en **4,4 V** au lieu de 5 V, le seuil tombe à
|
||||
0,7 × 4,4 ≈ **3,1 V**, et les 3,3 V du Pi suffisent. Les WS2812B fonctionnent
|
||||
entre 3,5 et 5,3 V : 4,4 V ne les gêne pas, elles sont juste un peu moins
|
||||
lumineuses.
|
||||
|
||||

|
||||
|
||||
En résumé :
|
||||
|
||||
```
|
||||
Pi patte 12 (GPIO 18) ──[ 330 Ω ]── fil VERT de la fiche DIN
|
||||
Pi patte 6 (GND) ───────────── fil BLANC de la fiche DIN
|
||||
fil ROUGE de la fiche DIN : NON branché, isolé (comme avec l'Arduino)
|
||||
alimentation d'établi : 4,4 V (au lieu de 5,0 V) sur les fils du milieu
|
||||
```
|
||||
|
||||
- Réglez l'alimentation d'établi sur **4,4 V** (entre 4,2 et 4,5 V) ; ne
|
||||
descendez pas sous 4,0 V, les couleurs se dérègleraient (le bleu et le vert
|
||||
faiblissent en premier).
|
||||
- ⚠️ Le fil **rouge** de la fiche reste **isolé** : il porte la tension de la
|
||||
matrice, et ne doit **jamais** toucher une patte du Pi.
|
||||
- Gardez le fil de données **court** (moins de 30 cm).
|
||||
|
||||
**Solution B : un transistor « inverseur » (si la solution A scintille).**
|
||||
Avec un transistor NPN du kit, de préférence un **2N3904** (le plus rapide du
|
||||
kit ; un BC337 ou un S8050 peuvent convenir), on fabrique un adaptateur 5 V.
|
||||
Le transistor **inverse** le signal (un 1 devient un 0) : il faut le dire au
|
||||
programme avec `INVERSER_SIGNAL = True` dans [`matrice.py`](matrice.py).
|
||||
|
||||

|
||||
|
||||
Le même montage, en schéma électrique :
|
||||
|
||||
```
|
||||
fil ROUGE de la fiche (5 V)
|
||||
│
|
||||
[ 1 kΩ ] ← résistance de « tirage »
|
||||
│
|
||||
├────────── fil VERT de la fiche (DIN)
|
||||
│
|
||||
Pi patte 12 ──[ 1 kΩ ]──── B C transistor NPN 2N3904
|
||||
\│/ (vérifier l'ordre E-B-C
|
||||
E sur la datasheet !)
|
||||
│
|
||||
Pi patte 6 (GND) ───────────────┴───────── fil BLANC de la fiche (GND)
|
||||
```
|
||||
|
||||
Ici l'alimentation d'établi reste à **5,0 V**. Le 5 V n'atteint jamais le Pi :
|
||||
il s'arrête au collecteur du transistor. Ce montage est plus lent qu'un
|
||||
74AHCT125 : il marche souvent bien, mais c'est un dépannage.
|
||||
|
||||
> Dans les deux cas, le reste (logiciel, installation, Krita) ne change pas.
|
||||
|
||||
> **Pourquoi « AHCT » et pas « HC » ?** Les lettres **T** (comme dans HCT,
|
||||
> AHCT) veulent dire que la puce accepte des entrées « faibles » de 3,3 V même
|
||||
> quand elle est alimentée en 5 V. Un 74**HC**125, lui, ne serait pas plus
|
||||
@@ -179,6 +236,11 @@ inverse des aiguilles d'une montre : 1 à 7 en bas, de gauche à droite, puis
|
||||
|
||||

|
||||
|
||||
> **Sans 74AHCT125 ?** Cette partie décrit le montage avec la puce. Pour la
|
||||
> solution A (matrice en 4,4 V), suivez l'étape A ci-dessous en réglant
|
||||
> l'alimentation sur **4,4 V**, puis le [schéma de la solution A](schemas/branchement_sans_puce.svg) :
|
||||
> 3 fils seulement entre la fiche et le Pi, pas de plaque d'essai.
|
||||
|
||||
**Tout est débranché** : alimentation d'établi éteinte, Pi sans son bloc
|
||||
secteur.
|
||||
|
||||
@@ -375,6 +437,8 @@ Une fenêtre s'ouvre avec 256 ronds de couleur qui imitent la matrice.
|
||||
| **Le simulateur s'ouvre au lieu de la matrice** | Même cause : `rpi_ws281x` introuvable | Idem |
|
||||
| **Ça marche, puis tout se fige ou scintille quand on branche un casque / lance un son** | La sortie audio utilise le même circuit que GPIO 18 | Vérifier `dtparam=audio=off` dans `/boot/firmware/config.txt`, redémarrer |
|
||||
| **Couleurs aléatoires, scintillement** | Puce absente ou de type HC (sans T) | Vérifier les lettres sur la puce |
|
||||
| | Montage sans puce (solution A) | Baisser encore un peu l'alimentation (4,2 V), raccourcir le fil vert, ou passer à la solution B |
|
||||
| **Rien ne s'allume avec le transistor** (solution B) | `INVERSER_SIGNAL` oublié, ou transistor à l'envers | `INVERSER_SIGNAL = True` dans `matrice.py` ; vérifier E-B-C |
|
||||
| | Masse mal serrée | Revérifier toutes les masses |
|
||||
| **Couleurs fausses** (rouge ↔ vert) | Ordre des couleurs | Dans `matrice.py`, remplacer `WS2811_STRIP_GRB` par `WS2811_STRIP_RGB` |
|
||||
| **Les couleurs sombres de mon dessin n'apparaissent pas** | Normal : correction gamma + luminosité faible | Voir [GUIDE_KRITA.md, partie 5](GUIDE_KRITA.md#5-ce-qui-change-entre-lécran-et-les-led) |
|
||||
|
||||
+204
-66
@@ -1,6 +1,8 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Dessine les schémas du dossier « schemas » :
|
||||
- branchement.svg : Raspberry Pi + 74AHCT125 + matrice + alimentation
|
||||
- branchement_sans_puce.svg : solution A sans puce (matrice en 4,4 V)
|
||||
- branchement_transistor.svg : solution B sans puce (transistor inverseur)
|
||||
- brochage_74ahct125.svg : la puce adaptatrice de niveau, patte par patte
|
||||
- chaine_krita_matrice.svg : le trajet d'une animation, de Krita à la matrice
|
||||
Usage : python3 outils/schemas.py"""
|
||||
@@ -66,10 +68,9 @@ def hop_h(x_croise, sens=1, r=7):
|
||||
# 1. BRANCHEMENT
|
||||
# =============================================================================
|
||||
|
||||
def branchement():
|
||||
s = Svg(1200, 940, "Branchement matrice WS2812B 8×32, Raspberry Pi, 74AHCT125 "
|
||||
"et alimentation d'établi")
|
||||
|
||||
def _matrice_et_alimentation(s, tension="5.00 V"):
|
||||
"""Partie commune à tous les montages : matrice vue de dos, sortie DOUT,
|
||||
alimentation d'établi + condensateur, connecteur DIN et sa fiche."""
|
||||
# ---------- matrice (vue de dos) ----------
|
||||
s.texte(60, 38, "Matrice WS2812B 8 × 32 — vue de dos (côté fils)", 20, "#222", gras=True)
|
||||
s.add('<pattern id="pix" x="60" y="55" width="30.625" height="30.625" '
|
||||
@@ -107,7 +108,7 @@ def branchement():
|
||||
s.rect(300, 500, 330, 210, "#e9ecef", 10, "#adb5bd", 2)
|
||||
s.texte(465, 526, "Alimentation d'établi", 16, "#333", "middle", True)
|
||||
s.rect(318, 540, 160, 96, "#1d2b1d", 4)
|
||||
s.texte(398, 578, "5.00 V", 28, "#7dff7d", "middle", True, True)
|
||||
s.texte(398, 578, tension, 28, "#7dff7d", "middle", True, True)
|
||||
s.texte(398, 618, "3.00 A", 20, "#ffb347", "middle", mono=True)
|
||||
for x, t in [(345, "tension"), (420, "courant")]:
|
||||
s.add(f'<circle cx="{x}" cy="672" r="16" fill="#666"/>')
|
||||
@@ -127,6 +128,102 @@ def branchement():
|
||||
s.texte(966, 358, "connecteur DIN de la matrice", 13, "#555")
|
||||
s.texte(966, 381, "+ fiche fournie (rouge / blanc / vert)", 13, "#555")
|
||||
|
||||
|
||||
def _resistance_v(s, x, y, couleurs, valeur, sous_titre=None):
|
||||
"""Résistance verticale de 40 de haut, centrée en x, du haut y à y + 40."""
|
||||
s.rect(x - 9, y, 18, 40, "#e8d3a8", 6, "#a88a52")
|
||||
for i, c in enumerate(couleurs):
|
||||
s.rect(x - 9, y + 8 + i * 8, 18, 4, c)
|
||||
s.rect(x - 9, y + 32, 18, 3, "#c9a227")
|
||||
s.texte(x + 18, y + 16, valeur, 13, "#7a5a1e", gras=True)
|
||||
if sous_titre:
|
||||
s.texte(x + 18, y + 33, sous_titre, 12, "#7a5a1e")
|
||||
|
||||
|
||||
def _resistance_h(s, x, y, couleurs, valeur):
|
||||
"""Résistance horizontale de 40 de large, centrée en y, de x à x + 40."""
|
||||
s.rect(x, y - 9, 40, 18, "#e8d3a8", 6, "#a88a52")
|
||||
for i, c in enumerate(couleurs):
|
||||
s.rect(x + 8 + i * 8, y - 9, 4, 18, c)
|
||||
s.rect(x + 32, y - 9, 3, 18, "#c9a227")
|
||||
s.texte(x + 20, y - 15, valeur, 13, "#7a5a1e", "middle", True)
|
||||
|
||||
|
||||
ANNEAUX_330 = ["#e67e22", "#e67e22", "#8b4513"] # orange-orange-marron
|
||||
ANNEAUX_1K = ["#8b4513", "#1a1a1a", ROUGE] # marron-noir-rouge
|
||||
|
||||
|
||||
def _raspberry_pi(s, x0, pas=16, y=645):
|
||||
"""Carte Raspberry Pi avec son connecteur 40 pattes.
|
||||
x0 = abscisse de la patte 2 ; renvoie un dictionnaire n° de patte → x."""
|
||||
largeur = 19 * pas + 104
|
||||
gauche = x0 - 52
|
||||
s.rect(gauche, y, largeur, 230, "#1f7a3a", 12)
|
||||
s.rect(x0 - 13, y + 10, 19 * pas + 26, 42, "#143d20", 3)
|
||||
xs = {}
|
||||
for i in range(20):
|
||||
for n, yy in ((2 * i + 2, y + 21), (2 * i + 1, y + 39)): # bord : paires
|
||||
xs[n] = x0 + i * pas
|
||||
couleur = "#d4af37"
|
||||
if n in (2, 4):
|
||||
couleur = ROUGE
|
||||
elif n in (6, 14):
|
||||
couleur = NOIR
|
||||
elif n == 12:
|
||||
couleur = JAUNE_GPIO
|
||||
s.rect(xs[n] - 5, yy - 5, 10, 10, couleur, 1)
|
||||
s.texte(x0 - 9, y + 25, "2", 9, "#cde", "end")
|
||||
s.texte(x0 - 9, y + 43, "1", 9, "#cde", "end")
|
||||
s.texte(x0 + 19 * pas + 9, y + 25, "40", 9, "#cde")
|
||||
s.texte(x0 + 19 * pas + 9, y + 43, "39", 9, "#cde")
|
||||
centre = gauche + largeur / 2
|
||||
s.texte(centre, y + 125, "Raspberry Pi", 24, "#fff", "middle", True)
|
||||
s.texte(centre, y + 149, "3B+, 4 ou Zero 2 W (pas le Pi 5)", 14, "#d8f0dd", "middle")
|
||||
s.texte(xs[12] + 3, y + 67, "patte 12 = GPIO 18", 12, "#ffe08a", "start", True)
|
||||
s.texte(xs[6] - 2, y + 67, "patte 6 = GND", 12, "#fff", "end", True)
|
||||
s.add(f'<path d="M{gauche + 30} {y + 188} l16 16 m0 -16 l-16 16" '
|
||||
f'stroke="#ffb3b3" stroke-width="3"/>')
|
||||
s.texte(gauche + 56, y + 201, "pattes 2 et 4 (5 V) : NE PAS relier à la matrice", 12, "#ffd6d6")
|
||||
# alimentation USB du Pi
|
||||
droite = gauche + largeur
|
||||
s.rect(droite, y + 145, 18, 34, "#b8b8b8", 3)
|
||||
s.fil(f"M{droite + 18} {y + 162} H{droite + 30} V{y + 255}", "#555")
|
||||
s.texte(droite + 25, y + 273, "bloc secteur USB du Pi", 13, "#333", "end")
|
||||
s.texte(droite + 25, y + 290, "(5 V, 2,5 A ou plus)", 12, "#777", "end")
|
||||
return xs
|
||||
|
||||
|
||||
def _legende(s, fils, lignes_gnd, alerte, notes=()):
|
||||
s.rect(40, 470, 236, 140 + 28 * len(fils) + 18 * len(lignes_gnd) + 14 * len(notes),
|
||||
"#f8f9fa", 8, "#dee2e6")
|
||||
s.texte(56, 496, "Code couleur des fils", 15, "#222", gras=True)
|
||||
for i, (c, t) in enumerate(fils):
|
||||
y = 520 + i * 28
|
||||
s.add(f'<line x1="56" y1="{y}" x2="90" y2="{y}" stroke="{c}" stroke-width="6" '
|
||||
'stroke-linecap="round"/>')
|
||||
s.texte(100, y + 5, t, 14)
|
||||
y = 520 + len(fils) * 28 + 10
|
||||
for ligne in lignes_gnd:
|
||||
s.texte(56, y, ligne, 13, "#555")
|
||||
y += 18
|
||||
y += 6
|
||||
s.texte(56, y, alerte, 13, "#b00020", gras=True)
|
||||
y += 22
|
||||
for ligne in notes:
|
||||
s.texte(56, y, ligne, 12, "#777")
|
||||
y += 14
|
||||
|
||||
|
||||
FILS_5V = [(ROUGE, "rouge = + 5 V"), (NOIR, "noir = GND (masse)"),
|
||||
(BLANC_FIL, "blanc = GND (masse)"), (VERT, "vert = données 5 V"),
|
||||
(JAUNE_GPIO, "jaune = données 3,3 V")]
|
||||
|
||||
|
||||
def branchement():
|
||||
s = Svg(1200, 940, "Branchement matrice WS2812B 8×32, Raspberry Pi, 74AHCT125 "
|
||||
"et alimentation d'établi")
|
||||
_matrice_et_alimentation(s)
|
||||
|
||||
# ---------- plaque d'essai + 74AHCT125 ----------
|
||||
s.rect(700, 425, 440, 190, "#f6f1e3", 8, "#d9cfb2", 2)
|
||||
s.texte(1132, 608, "plaque d'essai", 12, "#a8997a", "end")
|
||||
@@ -164,75 +261,114 @@ def branchement():
|
||||
s.texte(broche_bas(3) + 6, 545, "1Y", 11, VERT, "start", True)
|
||||
s.texte(broche_bas(7) + 8, 545, "GND", 11, "#333", "start", True)
|
||||
|
||||
# résistance 330 Ω
|
||||
s.rect(1071, 470, 18, 40, "#e8d3a8", 6, "#a88a52")
|
||||
for y, c in [(478, "#e67e22"), (486, "#e67e22"), (494, "#8b4513")]:
|
||||
s.rect(1071, y, 18, 4, c)
|
||||
s.rect(1071, 502, 18, 3, "#c9a227")
|
||||
s.texte(1098, 486, "330 Ω", 13, "#7a5a1e", gras=True)
|
||||
_resistance_v(s, 1080, 470, ANNEAUX_330, "330 Ω")
|
||||
|
||||
s.texte(966, 404, "fil rouge de la fiche : il alimente", 12, ROUGE, gras=True)
|
||||
s.texte(966, 418, "la puce (patte 14 = VCC, 5 V)", 12, ROUGE, gras=True)
|
||||
|
||||
# ---------- Raspberry Pi ----------
|
||||
s.rect(700, 645, 440, 230, "#1f7a3a", 12)
|
||||
s.rect(750, 655, 336, 42, "#143d20", 3)
|
||||
x0 = broche_bas(2) - 80 # x de la patte 2 → la patte 12 tombe sous « 1A »
|
||||
for i in range(20):
|
||||
for rang, y in ((0, 666), (1, 684)): # rangée du bord : pattes paires
|
||||
n = 2 * i + 2 if rang == 0 else 2 * i + 1
|
||||
couleur = "#d4af37"
|
||||
if n in (2, 4):
|
||||
couleur = ROUGE
|
||||
elif n in (6, 14):
|
||||
couleur = NOIR
|
||||
elif n == 12:
|
||||
couleur = JAUNE_GPIO
|
||||
s.rect(x0 + i * 16 - 5, y - 5, 10, 10, couleur, 1)
|
||||
s.texte(x0 - 9, 670, "2", 9, "#cde", "end")
|
||||
s.texte(x0 - 9, 688, "1", 9, "#cde", "end")
|
||||
s.texte(x0 + 19 * 16 + 9, 670, "40", 9, "#cde")
|
||||
s.texte(x0 + 19 * 16 + 9, 688, "39", 9, "#cde")
|
||||
|
||||
# GPIO 18 (patte 12) → 1A (patte 2)
|
||||
s.fil(f"M{broche_bas(2)} 528 V661", JAUNE_GPIO)
|
||||
# GND (patte 6) ← rail
|
||||
s.fil(f"M780 585 V630 H{x0 + 32} V661", NOIR, 4)
|
||||
|
||||
s.texte(920, 770, "Raspberry Pi", 24, "#fff", "middle", True)
|
||||
s.texte(920, 794, "3B+, 4 ou Zero 2 W (pas le Pi 5)", 14, "#d8f0dd", "middle")
|
||||
s.texte(x0 + 80, 712, "patte 12 = GPIO 18", 12, "#ffe08a", "start", True)
|
||||
s.texte(x0 + 30, 712, "patte 6 = GND", 12, "#fff", "end", True)
|
||||
s.add(f'<path d="M{x0 + 8} 833 L{x0 + 24} 849 M{x0 + 24} 833 L{x0 + 8} 849" '
|
||||
f'stroke="#ffb3b3" stroke-width="3"/>')
|
||||
s.texte(x0 + 34, 846, "pattes 2 et 4 (5 V) : NE PAS relier à la matrice", 12, "#ffd6d6")
|
||||
|
||||
# alimentation USB du Pi
|
||||
s.rect(1140, 790, 18, 34, "#b8b8b8", 3)
|
||||
s.fil("M1158 807 H1180 V900", "#555")
|
||||
s.texte(1170, 918, "bloc secteur USB du Pi", 13, "#333", "end")
|
||||
s.texte(1170, 935, "(5 V, 2,5 A ou plus)", 12, "#777", "end")
|
||||
|
||||
# ---------- légende ----------
|
||||
s.rect(40, 470, 236, 300, "#f8f9fa", 8, "#dee2e6")
|
||||
s.texte(56, 496, "Code couleur des fils", 15, "#222", gras=True)
|
||||
for i, (c, t) in enumerate([(ROUGE, "rouge = + 5 V"), (NOIR, "noir = GND (masse)"),
|
||||
(BLANC_FIL, "blanc = GND (masse)"), (VERT, "vert = données 5 V"),
|
||||
(JAUNE_GPIO, "jaune = données 3,3 V")]):
|
||||
y = 520 + i * 28
|
||||
s.add(f'<line x1="56" y1="{y}" x2="90" y2="{y}" stroke="{c}" stroke-width="6" '
|
||||
'stroke-linecap="round"/>')
|
||||
s.texte(100, y + 5, t, 14)
|
||||
s.texte(56, 670, "Tous les GND sont reliés :", 13, "#555")
|
||||
s.texte(56, 688, "Pi ↔ puce ↔ fil blanc ↔ matrice", 13, "#555")
|
||||
s.texte(56, 706, "↔ fil noir ↔ borne − de l'alim.", 13, "#555")
|
||||
s.texte(56, 730, "Alim. réglée sur 5,0 V maxi !", 13, "#b00020", gras=True)
|
||||
s.texte(56, 752, "Un pont = les fils se croisent", 12, "#777")
|
||||
s.texte(56, 766, "sans se toucher.", 12, "#777")
|
||||
pattes = _raspberry_pi(s, broche_bas(2) - 80) # la patte 12 tombe sous « 1A »
|
||||
s.fil(f"M{broche_bas(2)} 528 V661", JAUNE_GPIO) # GPIO 18 → 1A
|
||||
s.fil(f"M780 585 V630 H{pattes[6]} V661", NOIR, 4) # GND (patte 6) ← rail
|
||||
|
||||
_legende(s, FILS_5V,
|
||||
["Tous les GND sont reliés :", "Pi ↔ puce ↔ fil blanc ↔ matrice",
|
||||
"↔ fil noir ↔ borne − de l'alim."],
|
||||
"Alim. réglée sur 5,0 V maxi !",
|
||||
["Un pont = les fils se croisent", "sans se toucher."])
|
||||
s.save("branchement.svg")
|
||||
|
||||
|
||||
def branchement_sans_puce():
|
||||
"""Solution A : pas d'adaptateur, la matrice est alimentée en 4,4 V."""
|
||||
s = Svg(1200, 940, "Branchement sans 74AHCT125 (solution A) : matrice en 4,4 V, "
|
||||
"Raspberry Pi relié directement")
|
||||
_matrice_et_alimentation(s, "4.40 V")
|
||||
|
||||
pattes_x0 = 832 # le Pi doit tenir dans la largeur du dessin
|
||||
# fil rouge de la fiche : isolé
|
||||
s.fil("M880 386 V420", ROUGE)
|
||||
s.rect(872, 418, 16, 16, "#f2c94c", 2)
|
||||
s.texte(864, 431, "fil rouge : NON branché, isolé (scotch)", 13, "#b00020", "end", True)
|
||||
# fil vert → 330 Ω → patte 12 ; fil blanc → patte 6
|
||||
s.fil("M940 386 V440 H948 V470", VERT)
|
||||
_resistance_v(s, 948, 470, ANNEAUX_330, "330 Ω", "(300 à 500 Ω)")
|
||||
pattes = _raspberry_pi(s, pattes_x0, pas=14)
|
||||
s.fil(f"M948 510 V620 H{pattes[12]} V661", JAUNE_GPIO)
|
||||
s.fil(f"M910 386 V600 H{pattes[6]} V661", BLANC_FIL)
|
||||
|
||||
# encadré d'explication
|
||||
s.rect(660, 455, 230, 120, "#fff8e1", 8, "#f2c94c", 2)
|
||||
for i, (t, gras) in enumerate([("Pourquoi 4,4 V ?", True),
|
||||
("Le « 1 » doit dépasser 70 %", False),
|
||||
("de la tension des LED :", False),
|
||||
("0,7 × 4,4 V ≈ 3,1 V", True),
|
||||
("→ les 3,3 V du Pi suffisent.", False)]):
|
||||
s.texte(675, 480 + i * 20, t, 13, "#7a5a00", gras=gras)
|
||||
|
||||
_legende(s, [(ROUGE, "rouge = + 4,4 V"), (NOIR, "noir = GND (masse)"),
|
||||
(BLANC_FIL, "blanc = GND (masse)"), (VERT, "vert = données"),
|
||||
(JAUNE_GPIO, "jaune = données 3,3 V")],
|
||||
["Tous les GND sont reliés :", "Pi ↔ fil blanc ↔ matrice",
|
||||
"↔ fil noir ↔ borne − de l'alim."],
|
||||
"Alim. réglée sur 4,4 V !",
|
||||
["Entre 4,2 et 4,5 V.", "Fil de données : moins de 30 cm."])
|
||||
s.save("branchement_sans_puce.svg")
|
||||
|
||||
|
||||
def branchement_transistor():
|
||||
"""Solution B : un transistor NPN (2N3904) en inverseur, matrice en 5 V."""
|
||||
s = Svg(1200, 940, "Branchement sans 74AHCT125 (solution B) : transistor 2N3904 "
|
||||
"en adaptateur de niveau")
|
||||
_matrice_et_alimentation(s)
|
||||
|
||||
s.rect(700, 425, 440, 190, "#f6f1e3", 8, "#d9cfb2", 2)
|
||||
s.texte(1132, 608, "plaque d'essai", 12, "#a8997a", "end")
|
||||
|
||||
XC = 1030 # verticale du collecteur et de l'émetteur
|
||||
XB = 1013 # barre de base du transistor
|
||||
# rouge (5 V) → résistance de tirage 1 kΩ → nœud du collecteur
|
||||
s.fil(f"M880 386 V440 H{XC} V455", ROUGE)
|
||||
_resistance_v(s, XC, 455, ANNEAUX_1K, "1 kΩ", "tirage")
|
||||
# vert (DIN) ← nœud du collecteur
|
||||
s.fil(f"M940 386 V400 H1100 V505 H{XC}", VERT)
|
||||
s.fil(f"M{XC} 495 V520", VERT)
|
||||
s.point(XC, 505, VERT)
|
||||
# transistor NPN
|
||||
s.add(f'<circle cx="{XC - 8}" cy="540" r="24" fill="#fff" stroke="#333" stroke-width="2"/>')
|
||||
s.add(f'<line x1="{XB}" y1="526" x2="{XB}" y2="554" stroke="#333" stroke-width="4"/>')
|
||||
s.fil(f"M{XB} 534 L{XC} 520", "#333", 3)
|
||||
s.fil(f"M{XB} 546 L{XC} 560 V585", "#333", 3)
|
||||
s.add(f'<path d="M{XC - 9} 550 L{XC} 560 L{XC - 12} 561 Z" fill="#333"/>')
|
||||
s.texte(XC + 10, 524, "C", 12, "#333", gras=True)
|
||||
s.texte(XC + 10, 570, "E", 12, "#333", gras=True)
|
||||
s.texte(XB - 4, 528, "B", 12, "#333", "end", True)
|
||||
s.texte(XC + 26, 545, "2N3904", 13, "#333", gras=True)
|
||||
s.texte(XC + 26, 561, "(NPN)", 12, "#555")
|
||||
# base ← 1 kΩ ← GPIO 18
|
||||
pattes_x0 = 843 - 80
|
||||
_resistance_h(s, 930, 540, ANNEAUX_1K, "1 kΩ")
|
||||
s.fil(f"M970 540 H{XB}", JAUNE_GPIO, 4)
|
||||
s.fil(f"M843 661 V540 {hop_h(910, 1)} H930", JAUNE_GPIO)
|
||||
# masses : blanc → rail → émetteur et Pi
|
||||
s.fil(f"M910 386 V585 H{XC}", BLANC_FIL)
|
||||
s.point(XC, 585, NOIR)
|
||||
s.point(910, 585, BLANC_FIL)
|
||||
pattes = _raspberry_pi(s, pattes_x0)
|
||||
s.fil(f"M910 585 V630 {hop_h(843, -1)} H{pattes[6]} V661", NOIR, 4)
|
||||
|
||||
s.texte(712, 448, "fil rouge (5 V) : seulement", 11, ROUGE, gras=True)
|
||||
s.texte(712, 461, "vers la résistance de tirage", 11, ROUGE, gras=True)
|
||||
|
||||
_legende(s, FILS_5V,
|
||||
["Tous les GND sont reliés :", "Pi ↔ émetteur ↔ fil blanc",
|
||||
"↔ matrice ↔ borne − de l'alim."],
|
||||
"Dans matrice.py :",
|
||||
["INVERSER_SIGNAL = True", "(le transistor inverse le signal)",
|
||||
"Vérifier l'ordre E-B-C du", "transistor sur sa datasheet !"])
|
||||
s.save("branchement_transistor.svg")
|
||||
|
||||
|
||||
# =============================================================================
|
||||
# 2. BROCHAGE DU 74AHCT125
|
||||
# =============================================================================
|
||||
@@ -285,7 +421,7 @@ def chaine():
|
||||
("#c9682a", "3. Vérifier", ["verifier_animation.py", "+ simulateur", "sur l'ordinateur"]),
|
||||
("#b08900", "4. Déposer", ["dossier « animations »", "carte SD ou réseau", "(01_, 02_… = ordre)"]),
|
||||
("#1f7a3a", "5. Lire", ["Raspberry Pi", "lecteur.py : gamma,", "luminosité, serpentin"]),
|
||||
("#2f6fc4", "6. Afficher", ["74AHCT125 (3,3 → 5 V)", "puis 256 LED", "WS2812B"]),
|
||||
("#2f6fc4", "6. Afficher", ["adaptateur 3,3 → 5 V", "(ou matrice en 4,4 V)", "puis 256 LED WS2812B"]),
|
||||
]
|
||||
larg, ecart = 170, 28
|
||||
for i, (c, titre, lignes) in enumerate(etapes):
|
||||
@@ -311,6 +447,8 @@ def chaine():
|
||||
if __name__ == "__main__":
|
||||
os.makedirs(SORTIE, exist_ok=True)
|
||||
branchement()
|
||||
branchement_sans_puce()
|
||||
branchement_transistor()
|
||||
brochage()
|
||||
chaine()
|
||||
print("Schémas écrits dans", SORTIE)
|
||||
|
||||
@@ -109,8 +109,8 @@
|
||||
<text x="1098" y="486" font-size="13" fill="#7a5a1e" text-anchor="start" font-weight="bold">330 Ω</text>
|
||||
<text x="966" y="404" font-size="12" fill="#d62828" text-anchor="start" font-weight="bold">fil rouge de la fiche : il alimente</text>
|
||||
<text x="966" y="418" font-size="12" fill="#d62828" text-anchor="start" font-weight="bold">la puce (patte 14 = VCC, 5 V)</text>
|
||||
<rect x="700" y="645" width="440" height="230" rx="12" fill="#1f7a3a"/>
|
||||
<rect x="750" y="655" width="336" height="42" rx="3" fill="#143d20"/>
|
||||
<rect x="711" y="645" width="408" height="230" rx="12" fill="#1f7a3a"/>
|
||||
<rect x="750" y="655" width="330" height="42" rx="3" fill="#143d20"/>
|
||||
<rect x="758" y="661" width="10" height="10" rx="1" fill="#d62828"/>
|
||||
<rect x="758" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="774" y="661" width="10" height="10" rx="1" fill="#d62828"/>
|
||||
@@ -155,19 +155,19 @@
|
||||
<text x="754" y="688" font-size="9" fill="#cde" text-anchor="end">1</text>
|
||||
<text x="1076" y="670" font-size="9" fill="#cde" text-anchor="start">40</text>
|
||||
<text x="1076" y="688" font-size="9" fill="#cde" text-anchor="start">39</text>
|
||||
<text x="915.0" y="770" font-size="24" fill="#fff" text-anchor="middle" font-weight="bold">Raspberry Pi</text>
|
||||
<text x="915.0" y="794" font-size="14" fill="#d8f0dd" text-anchor="middle">3B+, 4 ou Zero 2 W (pas le Pi 5)</text>
|
||||
<text x="846" y="712" font-size="12" fill="#ffe08a" text-anchor="start" font-weight="bold">patte 12 = GPIO 18</text>
|
||||
<text x="793" y="712" font-size="12" fill="#fff" text-anchor="end" font-weight="bold">patte 6 = GND</text>
|
||||
<path d="M741 833 l16 16 m0 -16 l-16 16" stroke="#ffb3b3" stroke-width="3"/>
|
||||
<text x="767" y="846" font-size="12" fill="#ffd6d6" text-anchor="start">pattes 2 et 4 (5 V) : NE PAS relier à la matrice</text>
|
||||
<rect x="1119" y="790" width="18" height="34" rx="3" fill="#b8b8b8"/>
|
||||
<path d="M1137 807 H1149 V900" stroke="#555" stroke-width="5" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<text x="1144" y="918" font-size="13" fill="#333" text-anchor="end">bloc secteur USB du Pi</text>
|
||||
<text x="1144" y="935" font-size="12" fill="#777" text-anchor="end">(5 V, 2,5 A ou plus)</text>
|
||||
<path d="M843 528 V661" stroke="#e0a800" stroke-width="5" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M780 585 V630 H795 V661" stroke="#1a1a1a" stroke-width="4" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<text x="920" y="770" font-size="24" fill="#fff" text-anchor="middle" font-weight="bold">Raspberry Pi</text>
|
||||
<text x="920" y="794" font-size="14" fill="#d8f0dd" text-anchor="middle">3B+, 4 ou Zero 2 W (pas le Pi 5)</text>
|
||||
<text x="843" y="712" font-size="12" fill="#ffe08a" text-anchor="start" font-weight="bold">patte 12 = GPIO 18</text>
|
||||
<text x="793" y="712" font-size="12" fill="#fff" text-anchor="end" font-weight="bold">patte 6 = GND</text>
|
||||
<path d="M771 833 L787 849 M787 833 L771 849" stroke="#ffb3b3" stroke-width="3"/>
|
||||
<text x="797" y="846" font-size="12" fill="#ffd6d6" text-anchor="start">pattes 2 et 4 (5 V) : NE PAS relier à la matrice</text>
|
||||
<rect x="1140" y="790" width="18" height="34" rx="3" fill="#b8b8b8"/>
|
||||
<path d="M1158 807 H1180 V900" stroke="#555" stroke-width="5" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<text x="1170" y="918" font-size="13" fill="#333" text-anchor="end">bloc secteur USB du Pi</text>
|
||||
<text x="1170" y="935" font-size="12" fill="#777" text-anchor="end">(5 V, 2,5 A ou plus)</text>
|
||||
<rect x="40" y="470" width="236" height="300" rx="8" fill="#f8f9fa" stroke="#dee2e6" stroke-width="1"/>
|
||||
<rect x="40" y="470" width="236" height="362" rx="8" fill="#f8f9fa" stroke="#dee2e6" stroke-width="1"/>
|
||||
<text x="56" y="496" font-size="15" fill="#222" text-anchor="start" font-weight="bold">Code couleur des fils</text>
|
||||
<line x1="56" y1="520" x2="90" y2="520" stroke="#d62828" stroke-width="6" stroke-linecap="round"/>
|
||||
<text x="100" y="525" font-size="14" fill="#333" text-anchor="start">rouge = + 5 V</text>
|
||||
|
||||
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
@@ -0,0 +1,150 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="940" viewBox="0 0 1200 940" font-family="Helvetica, Arial, sans-serif">
|
||||
<title>Branchement sans 74AHCT125 (solution A) : matrice en 4,4 V, Raspberry Pi relié directement</title>
|
||||
<defs><marker id="fleche" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M1 1 L9 5 L1 9 Z" fill="context-stroke"/></marker><marker id="flecheg" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto"><path d="M1 1 L9 5 L1 9 Z" fill="#555"/></marker><marker id="flechec" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M1 1 L9 5 L1 9 Z" fill="#cfcfcf"/></marker></defs>
|
||||
<rect width="1200" height="940" fill="#ffffff"/>
|
||||
<text x="60" y="38" font-size="20" fill="#222" text-anchor="start" font-weight="bold">Matrice WS2812B 8 × 32 — vue de dos (côté fils)</text>
|
||||
<pattern id="pix" x="60" y="55" width="30.625" height="30.625" patternUnits="userSpaceOnUse"><rect x="9" y="9" width="12" height="12" rx="1" fill="#2b2b2b"/></pattern>
|
||||
<rect x="60" y="55" width="980" height="245" rx="6" fill="#141414"/>
|
||||
<rect x="60" y="55" width="980" height="245" rx="6" fill="url(#pix)"/>
|
||||
<line x1="760" y1="150" x2="340" y2="150" stroke="#cfcfcf" stroke-width="3" marker-end="url(#flechec)"/>
|
||||
<text x="550" y="135" font-size="15" fill="#e6e6e6" text-anchor="middle">les données entrent par DIN et traversent les 256 LED</text>
|
||||
<text x="110" y="268" font-size="12" fill="#cfcfcf" text-anchor="middle">5V</text>
|
||||
<text x="150" y="268" font-size="12" fill="#cfcfcf" text-anchor="middle">GND</text>
|
||||
<text x="194" y="268" font-size="12" fill="#cfcfcf" text-anchor="middle">DOUT</text>
|
||||
<text x="490" y="268" font-size="12" fill="#cfcfcf" text-anchor="middle">5V</text>
|
||||
<text x="550" y="268" font-size="12" fill="#cfcfcf" text-anchor="middle">GND</text>
|
||||
<text x="880" y="268" font-size="12" fill="#cfcfcf" text-anchor="middle">5V</text>
|
||||
<text x="910" y="268" font-size="12" fill="#cfcfcf" text-anchor="middle">GND</text>
|
||||
<text x="940" y="268" font-size="12" fill="#cfcfcf" text-anchor="middle">DIN</text>
|
||||
<path d="M110 282 V340" stroke="#d62828" stroke-width="5" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M150 282 V340" stroke="#bdbdbd" stroke-width="5" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M190 282 V340" stroke="#2a9d3a" stroke-width="5" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<rect x="96" y="340" width="108" height="24" rx="3" fill="#222"/>
|
||||
<text x="150" y="390" font-size="14" fill="#555" text-anchor="middle">Sortie DOUT : ne rien brancher</text>
|
||||
<text x="150" y="408" font-size="13" fill="#888" text-anchor="middle">(sert à chaîner un 2e panneau)</text>
|
||||
<path d="M490 282 V440 H530 V586" stroke="#d62828" stroke-width="6" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M550 282 V420 H590 V586" stroke="#1a1a1a" stroke-width="6" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<line x1="490" y1="352" x2="506" y2="352" stroke="#777" stroke-width="2"/>
|
||||
<line x1="534" y1="352" x2="550" y2="352" stroke="#777" stroke-width="2"/>
|
||||
<rect x="506" y="340" width="28" height="24" rx="5" fill="#1f4e9c"/>
|
||||
<rect x="524" y="340" width="10" height="24" rx="0" fill="#c9d6ee"/>
|
||||
<text x="529" y="356" font-size="13" fill="#1f4e9c" text-anchor="middle" font-weight="bold">−</text>
|
||||
<text x="474" y="340" font-size="14" fill="#1f4e9c" text-anchor="end" font-weight="bold">Condensateur 1000 µF</text>
|
||||
<text x="474" y="358" font-size="13" fill="#1f4e9c" text-anchor="end">bande « − » côté GND (fil noir)</text>
|
||||
<text x="474" y="375" font-size="13" fill="#1f4e9c" text-anchor="end">patte + côté 5V (fil rouge)</text>
|
||||
<rect x="300" y="500" width="330" height="210" rx="10" fill="#e9ecef" stroke="#adb5bd" stroke-width="2"/>
|
||||
<text x="465" y="526" font-size="16" fill="#333" text-anchor="middle" font-weight="bold">Alimentation d'établi</text>
|
||||
<rect x="318" y="540" width="160" height="96" rx="4" fill="#1d2b1d"/>
|
||||
<text x="398" y="578" font-size="28" fill="#7dff7d" text-anchor="middle" font-weight="bold" font-family="monospace">4.40 V</text>
|
||||
<text x="398" y="618" font-size="20" fill="#ffb347" text-anchor="middle" font-family="monospace">3.00 A</text>
|
||||
<circle cx="345" cy="672" r="16" fill="#666"/>
|
||||
<text x="345" y="702" font-size="11" fill="#555" text-anchor="middle">tension</text>
|
||||
<circle cx="420" cy="672" r="16" fill="#666"/>
|
||||
<text x="420" y="702" font-size="11" fill="#555" text-anchor="middle">courant</text>
|
||||
<circle cx="530" cy="600" r="13" fill="#d62828" stroke="#7a0f0f" stroke-width="2"/>
|
||||
<circle cx="590" cy="600" r="13" fill="#1a1a1a" stroke="#000" stroke-width="2"/>
|
||||
<text x="530" y="637" font-size="15" fill="#d62828" text-anchor="middle" font-weight="bold">+</text>
|
||||
<text x="590" y="637" font-size="15" fill="#1a1a1a" text-anchor="middle" font-weight="bold">−</text>
|
||||
<text x="560" y="660" font-size="12" fill="#555" text-anchor="middle">bornes de</text>
|
||||
<text x="560" y="675" font-size="12" fill="#555" text-anchor="middle">sortie</text>
|
||||
<path d="M880 282 V340" stroke="#d62828" stroke-width="5" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M910 282 V340" stroke="#bdbdbd" stroke-width="5" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M940 282 V340" stroke="#2a9d3a" stroke-width="5" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<rect x="866" y="340" width="88" height="22" rx="3" fill="#222"/>
|
||||
<rect x="870" y="364" width="80" height="22" rx="3" fill="#3a3a3a"/>
|
||||
<text x="966" y="358" font-size="13" fill="#555" text-anchor="start">connecteur DIN de la matrice</text>
|
||||
<text x="966" y="381" font-size="13" fill="#555" text-anchor="start">+ fiche fournie (rouge / blanc / vert)</text>
|
||||
<path d="M880 386 V420" stroke="#d62828" stroke-width="5" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<rect x="872" y="418" width="16" height="16" rx="2" fill="#f2c94c"/>
|
||||
<text x="864" y="431" font-size="13" fill="#b00020" text-anchor="end" font-weight="bold">fil rouge : NON branché, isolé (scotch)</text>
|
||||
<path d="M940 386 V440 H948 V470" stroke="#2a9d3a" stroke-width="5" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<rect x="939" y="470" width="18" height="40" rx="6" fill="#e8d3a8" stroke="#a88a52" stroke-width="1"/>
|
||||
<rect x="939" y="478" width="18" height="4" rx="0" fill="#e67e22"/>
|
||||
<rect x="939" y="486" width="18" height="4" rx="0" fill="#e67e22"/>
|
||||
<rect x="939" y="494" width="18" height="4" rx="0" fill="#8b4513"/>
|
||||
<rect x="939" y="502" width="18" height="3" rx="0" fill="#c9a227"/>
|
||||
<text x="966" y="486" font-size="13" fill="#7a5a1e" text-anchor="start" font-weight="bold">330 Ω</text>
|
||||
<text x="966" y="503" font-size="12" fill="#7a5a1e" text-anchor="start">(300 à 500 Ω)</text>
|
||||
<rect x="780" y="645" width="370" height="230" rx="12" fill="#1f7a3a"/>
|
||||
<rect x="819" y="655" width="292" height="42" rx="3" fill="#143d20"/>
|
||||
<rect x="827" y="661" width="10" height="10" rx="1" fill="#d62828"/>
|
||||
<rect x="827" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="841" y="661" width="10" height="10" rx="1" fill="#d62828"/>
|
||||
<rect x="841" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="855" y="661" width="10" height="10" rx="1" fill="#1a1a1a"/>
|
||||
<rect x="855" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="869" y="661" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="869" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="883" y="661" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="883" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="897" y="661" width="10" height="10" rx="1" fill="#e0a800"/>
|
||||
<rect x="897" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="911" y="661" width="10" height="10" rx="1" fill="#1a1a1a"/>
|
||||
<rect x="911" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="925" y="661" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="925" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="939" y="661" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="939" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="953" y="661" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="953" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="967" y="661" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="967" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="981" y="661" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="981" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="995" y="661" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="995" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="1009" y="661" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="1009" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="1023" y="661" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="1023" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="1037" y="661" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="1037" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="1051" y="661" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="1051" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="1065" y="661" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="1065" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="1079" y="661" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="1079" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="1093" y="661" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="1093" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<text x="823" y="670" font-size="9" fill="#cde" text-anchor="end">2</text>
|
||||
<text x="823" y="688" font-size="9" fill="#cde" text-anchor="end">1</text>
|
||||
<text x="1107" y="670" font-size="9" fill="#cde" text-anchor="start">40</text>
|
||||
<text x="1107" y="688" font-size="9" fill="#cde" text-anchor="start">39</text>
|
||||
<text x="965.0" y="770" font-size="24" fill="#fff" text-anchor="middle" font-weight="bold">Raspberry Pi</text>
|
||||
<text x="965.0" y="794" font-size="14" fill="#d8f0dd" text-anchor="middle">3B+, 4 ou Zero 2 W (pas le Pi 5)</text>
|
||||
<text x="905" y="712" font-size="12" fill="#ffe08a" text-anchor="start" font-weight="bold">patte 12 = GPIO 18</text>
|
||||
<text x="858" y="712" font-size="12" fill="#fff" text-anchor="end" font-weight="bold">patte 6 = GND</text>
|
||||
<path d="M810 833 l16 16 m0 -16 l-16 16" stroke="#ffb3b3" stroke-width="3"/>
|
||||
<text x="836" y="846" font-size="12" fill="#ffd6d6" text-anchor="start">pattes 2 et 4 (5 V) : NE PAS relier à la matrice</text>
|
||||
<rect x="1150" y="790" width="18" height="34" rx="3" fill="#b8b8b8"/>
|
||||
<path d="M1168 807 H1180 V900" stroke="#555" stroke-width="5" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<text x="1175" y="918" font-size="13" fill="#333" text-anchor="end">bloc secteur USB du Pi</text>
|
||||
<text x="1175" y="935" font-size="12" fill="#777" text-anchor="end">(5 V, 2,5 A ou plus)</text>
|
||||
<path d="M948 510 V620 H902 V661" stroke="#e0a800" stroke-width="5" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M910 386 V600 H860 V661" stroke="#bdbdbd" stroke-width="5" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<rect x="660" y="455" width="230" height="120" rx="8" fill="#fff8e1" stroke="#f2c94c" stroke-width="2"/>
|
||||
<text x="675" y="480" font-size="13" fill="#7a5a00" text-anchor="start" font-weight="bold">Pourquoi 4,4 V ?</text>
|
||||
<text x="675" y="500" font-size="13" fill="#7a5a00" text-anchor="start">Le « 1 » doit dépasser 70 %</text>
|
||||
<text x="675" y="520" font-size="13" fill="#7a5a00" text-anchor="start">de la tension des LED :</text>
|
||||
<text x="675" y="540" font-size="13" fill="#7a5a00" text-anchor="start" font-weight="bold">0,7 × 4,4 V ≈ 3,1 V</text>
|
||||
<text x="675" y="560" font-size="13" fill="#7a5a00" text-anchor="start">→ les 3,3 V du Pi suffisent.</text>
|
||||
<rect x="40" y="470" width="236" height="362" rx="8" fill="#f8f9fa" stroke="#dee2e6" stroke-width="1"/>
|
||||
<text x="56" y="496" font-size="15" fill="#222" text-anchor="start" font-weight="bold">Code couleur des fils</text>
|
||||
<line x1="56" y1="520" x2="90" y2="520" stroke="#d62828" stroke-width="6" stroke-linecap="round"/>
|
||||
<text x="100" y="525" font-size="14" fill="#333" text-anchor="start">rouge = + 4,4 V</text>
|
||||
<line x1="56" y1="548" x2="90" y2="548" stroke="#1a1a1a" stroke-width="6" stroke-linecap="round"/>
|
||||
<text x="100" y="553" font-size="14" fill="#333" text-anchor="start">noir = GND (masse)</text>
|
||||
<line x1="56" y1="576" x2="90" y2="576" stroke="#bdbdbd" stroke-width="6" stroke-linecap="round"/>
|
||||
<text x="100" y="581" font-size="14" fill="#333" text-anchor="start">blanc = GND (masse)</text>
|
||||
<line x1="56" y1="604" x2="90" y2="604" stroke="#2a9d3a" stroke-width="6" stroke-linecap="round"/>
|
||||
<text x="100" y="609" font-size="14" fill="#333" text-anchor="start">vert = données</text>
|
||||
<line x1="56" y1="632" x2="90" y2="632" stroke="#e0a800" stroke-width="6" stroke-linecap="round"/>
|
||||
<text x="100" y="637" font-size="14" fill="#333" text-anchor="start">jaune = données 3,3 V</text>
|
||||
<text x="56" y="670" font-size="13" fill="#555" text-anchor="start">Tous les GND sont reliés :</text>
|
||||
<text x="56" y="688" font-size="13" fill="#555" text-anchor="start">Pi ↔ fil blanc ↔ matrice</text>
|
||||
<text x="56" y="706" font-size="13" fill="#555" text-anchor="start">↔ fil noir ↔ borne − de l'alim.</text>
|
||||
<text x="56" y="730" font-size="13" fill="#b00020" text-anchor="start" font-weight="bold">Alim. réglée sur 4,4 V !</text>
|
||||
<text x="56" y="752" font-size="12" fill="#777" text-anchor="start">Entre 4,2 et 4,5 V.</text>
|
||||
<text x="56" y="766" font-size="12" fill="#777" text-anchor="start">Fil de données : moins de 30 cm.</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 14 KiB |
@@ -0,0 +1,170 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="940" viewBox="0 0 1200 940" font-family="Helvetica, Arial, sans-serif">
|
||||
<title>Branchement sans 74AHCT125 (solution B) : transistor 2N3904 en adaptateur de niveau</title>
|
||||
<defs><marker id="fleche" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M1 1 L9 5 L1 9 Z" fill="context-stroke"/></marker><marker id="flecheg" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto"><path d="M1 1 L9 5 L1 9 Z" fill="#555"/></marker><marker id="flechec" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M1 1 L9 5 L1 9 Z" fill="#cfcfcf"/></marker></defs>
|
||||
<rect width="1200" height="940" fill="#ffffff"/>
|
||||
<text x="60" y="38" font-size="20" fill="#222" text-anchor="start" font-weight="bold">Matrice WS2812B 8 × 32 — vue de dos (côté fils)</text>
|
||||
<pattern id="pix" x="60" y="55" width="30.625" height="30.625" patternUnits="userSpaceOnUse"><rect x="9" y="9" width="12" height="12" rx="1" fill="#2b2b2b"/></pattern>
|
||||
<rect x="60" y="55" width="980" height="245" rx="6" fill="#141414"/>
|
||||
<rect x="60" y="55" width="980" height="245" rx="6" fill="url(#pix)"/>
|
||||
<line x1="760" y1="150" x2="340" y2="150" stroke="#cfcfcf" stroke-width="3" marker-end="url(#flechec)"/>
|
||||
<text x="550" y="135" font-size="15" fill="#e6e6e6" text-anchor="middle">les données entrent par DIN et traversent les 256 LED</text>
|
||||
<text x="110" y="268" font-size="12" fill="#cfcfcf" text-anchor="middle">5V</text>
|
||||
<text x="150" y="268" font-size="12" fill="#cfcfcf" text-anchor="middle">GND</text>
|
||||
<text x="194" y="268" font-size="12" fill="#cfcfcf" text-anchor="middle">DOUT</text>
|
||||
<text x="490" y="268" font-size="12" fill="#cfcfcf" text-anchor="middle">5V</text>
|
||||
<text x="550" y="268" font-size="12" fill="#cfcfcf" text-anchor="middle">GND</text>
|
||||
<text x="880" y="268" font-size="12" fill="#cfcfcf" text-anchor="middle">5V</text>
|
||||
<text x="910" y="268" font-size="12" fill="#cfcfcf" text-anchor="middle">GND</text>
|
||||
<text x="940" y="268" font-size="12" fill="#cfcfcf" text-anchor="middle">DIN</text>
|
||||
<path d="M110 282 V340" stroke="#d62828" stroke-width="5" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M150 282 V340" stroke="#bdbdbd" stroke-width="5" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M190 282 V340" stroke="#2a9d3a" stroke-width="5" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<rect x="96" y="340" width="108" height="24" rx="3" fill="#222"/>
|
||||
<text x="150" y="390" font-size="14" fill="#555" text-anchor="middle">Sortie DOUT : ne rien brancher</text>
|
||||
<text x="150" y="408" font-size="13" fill="#888" text-anchor="middle">(sert à chaîner un 2e panneau)</text>
|
||||
<path d="M490 282 V440 H530 V586" stroke="#d62828" stroke-width="6" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M550 282 V420 H590 V586" stroke="#1a1a1a" stroke-width="6" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<line x1="490" y1="352" x2="506" y2="352" stroke="#777" stroke-width="2"/>
|
||||
<line x1="534" y1="352" x2="550" y2="352" stroke="#777" stroke-width="2"/>
|
||||
<rect x="506" y="340" width="28" height="24" rx="5" fill="#1f4e9c"/>
|
||||
<rect x="524" y="340" width="10" height="24" rx="0" fill="#c9d6ee"/>
|
||||
<text x="529" y="356" font-size="13" fill="#1f4e9c" text-anchor="middle" font-weight="bold">−</text>
|
||||
<text x="474" y="340" font-size="14" fill="#1f4e9c" text-anchor="end" font-weight="bold">Condensateur 1000 µF</text>
|
||||
<text x="474" y="358" font-size="13" fill="#1f4e9c" text-anchor="end">bande « − » côté GND (fil noir)</text>
|
||||
<text x="474" y="375" font-size="13" fill="#1f4e9c" text-anchor="end">patte + côté 5V (fil rouge)</text>
|
||||
<rect x="300" y="500" width="330" height="210" rx="10" fill="#e9ecef" stroke="#adb5bd" stroke-width="2"/>
|
||||
<text x="465" y="526" font-size="16" fill="#333" text-anchor="middle" font-weight="bold">Alimentation d'établi</text>
|
||||
<rect x="318" y="540" width="160" height="96" rx="4" fill="#1d2b1d"/>
|
||||
<text x="398" y="578" font-size="28" fill="#7dff7d" text-anchor="middle" font-weight="bold" font-family="monospace">5.00 V</text>
|
||||
<text x="398" y="618" font-size="20" fill="#ffb347" text-anchor="middle" font-family="monospace">3.00 A</text>
|
||||
<circle cx="345" cy="672" r="16" fill="#666"/>
|
||||
<text x="345" y="702" font-size="11" fill="#555" text-anchor="middle">tension</text>
|
||||
<circle cx="420" cy="672" r="16" fill="#666"/>
|
||||
<text x="420" y="702" font-size="11" fill="#555" text-anchor="middle">courant</text>
|
||||
<circle cx="530" cy="600" r="13" fill="#d62828" stroke="#7a0f0f" stroke-width="2"/>
|
||||
<circle cx="590" cy="600" r="13" fill="#1a1a1a" stroke="#000" stroke-width="2"/>
|
||||
<text x="530" y="637" font-size="15" fill="#d62828" text-anchor="middle" font-weight="bold">+</text>
|
||||
<text x="590" y="637" font-size="15" fill="#1a1a1a" text-anchor="middle" font-weight="bold">−</text>
|
||||
<text x="560" y="660" font-size="12" fill="#555" text-anchor="middle">bornes de</text>
|
||||
<text x="560" y="675" font-size="12" fill="#555" text-anchor="middle">sortie</text>
|
||||
<path d="M880 282 V340" stroke="#d62828" stroke-width="5" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M910 282 V340" stroke="#bdbdbd" stroke-width="5" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M940 282 V340" stroke="#2a9d3a" stroke-width="5" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<rect x="866" y="340" width="88" height="22" rx="3" fill="#222"/>
|
||||
<rect x="870" y="364" width="80" height="22" rx="3" fill="#3a3a3a"/>
|
||||
<text x="966" y="358" font-size="13" fill="#555" text-anchor="start">connecteur DIN de la matrice</text>
|
||||
<text x="966" y="381" font-size="13" fill="#555" text-anchor="start">+ fiche fournie (rouge / blanc / vert)</text>
|
||||
<rect x="700" y="425" width="440" height="190" rx="8" fill="#f6f1e3" stroke="#d9cfb2" stroke-width="2"/>
|
||||
<text x="1132" y="608" font-size="12" fill="#a8997a" text-anchor="end">plaque d'essai</text>
|
||||
<path d="M880 386 V440 H1030 V455" stroke="#d62828" stroke-width="5" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<rect x="1021" y="455" width="18" height="40" rx="6" fill="#e8d3a8" stroke="#a88a52" stroke-width="1"/>
|
||||
<rect x="1021" y="463" width="18" height="4" rx="0" fill="#8b4513"/>
|
||||
<rect x="1021" y="471" width="18" height="4" rx="0" fill="#1a1a1a"/>
|
||||
<rect x="1021" y="479" width="18" height="4" rx="0" fill="#d62828"/>
|
||||
<rect x="1021" y="487" width="18" height="3" rx="0" fill="#c9a227"/>
|
||||
<text x="1048" y="471" font-size="13" fill="#7a5a1e" text-anchor="start" font-weight="bold">1 kΩ</text>
|
||||
<text x="1048" y="488" font-size="12" fill="#7a5a1e" text-anchor="start">tirage</text>
|
||||
<path d="M940 386 V400 H1100 V505 H1030" stroke="#2a9d3a" stroke-width="5" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M1030 495 V520" stroke="#2a9d3a" stroke-width="5" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<circle cx="1030" cy="505" r="5" fill="#2a9d3a"/>
|
||||
<circle cx="1022" cy="540" r="24" fill="#fff" stroke="#333" stroke-width="2"/>
|
||||
<line x1="1013" y1="526" x2="1013" y2="554" stroke="#333" stroke-width="4"/>
|
||||
<path d="M1013 534 L1030 520" stroke="#333" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M1013 546 L1030 560 V585" stroke="#333" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M1021 550 L1030 560 L1018 561 Z" fill="#333"/>
|
||||
<text x="1040" y="524" font-size="12" fill="#333" text-anchor="start" font-weight="bold">C</text>
|
||||
<text x="1040" y="570" font-size="12" fill="#333" text-anchor="start" font-weight="bold">E</text>
|
||||
<text x="1009" y="528" font-size="12" fill="#333" text-anchor="end" font-weight="bold">B</text>
|
||||
<text x="1056" y="545" font-size="13" fill="#333" text-anchor="start" font-weight="bold">2N3904</text>
|
||||
<text x="1056" y="561" font-size="12" fill="#555" text-anchor="start">(NPN)</text>
|
||||
<rect x="930" y="531" width="40" height="18" rx="6" fill="#e8d3a8" stroke="#a88a52" stroke-width="1"/>
|
||||
<rect x="938" y="531" width="4" height="18" rx="0" fill="#8b4513"/>
|
||||
<rect x="946" y="531" width="4" height="18" rx="0" fill="#1a1a1a"/>
|
||||
<rect x="954" y="531" width="4" height="18" rx="0" fill="#d62828"/>
|
||||
<rect x="962" y="531" width="3" height="18" rx="0" fill="#c9a227"/>
|
||||
<text x="950" y="525" font-size="13" fill="#7a5a1e" text-anchor="middle" font-weight="bold">1 kΩ</text>
|
||||
<path d="M970 540 H1013" stroke="#e0a800" stroke-width="4" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M843 661 V540 H903 a7 7 0 0 1 14 0 H930" stroke="#e0a800" stroke-width="5" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M910 386 V585 H1030" stroke="#bdbdbd" stroke-width="5" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<circle cx="1030" cy="585" r="5" fill="#1a1a1a"/>
|
||||
<circle cx="910" cy="585" r="5" fill="#bdbdbd"/>
|
||||
<rect x="711" y="645" width="408" height="230" rx="12" fill="#1f7a3a"/>
|
||||
<rect x="750" y="655" width="330" height="42" rx="3" fill="#143d20"/>
|
||||
<rect x="758" y="661" width="10" height="10" rx="1" fill="#d62828"/>
|
||||
<rect x="758" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="774" y="661" width="10" height="10" rx="1" fill="#d62828"/>
|
||||
<rect x="774" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="790" y="661" width="10" height="10" rx="1" fill="#1a1a1a"/>
|
||||
<rect x="790" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="806" y="661" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="806" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="822" y="661" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="822" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="838" y="661" width="10" height="10" rx="1" fill="#e0a800"/>
|
||||
<rect x="838" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="854" y="661" width="10" height="10" rx="1" fill="#1a1a1a"/>
|
||||
<rect x="854" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="870" y="661" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="870" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="886" y="661" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="886" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="902" y="661" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="902" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="918" y="661" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="918" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="934" y="661" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="934" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="950" y="661" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="950" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="966" y="661" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="966" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="982" y="661" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="982" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="998" y="661" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="998" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="1014" y="661" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="1014" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="1030" y="661" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="1030" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="1046" y="661" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="1046" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="1062" y="661" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<rect x="1062" y="679" width="10" height="10" rx="1" fill="#d4af37"/>
|
||||
<text x="754" y="670" font-size="9" fill="#cde" text-anchor="end">2</text>
|
||||
<text x="754" y="688" font-size="9" fill="#cde" text-anchor="end">1</text>
|
||||
<text x="1076" y="670" font-size="9" fill="#cde" text-anchor="start">40</text>
|
||||
<text x="1076" y="688" font-size="9" fill="#cde" text-anchor="start">39</text>
|
||||
<text x="915.0" y="770" font-size="24" fill="#fff" text-anchor="middle" font-weight="bold">Raspberry Pi</text>
|
||||
<text x="915.0" y="794" font-size="14" fill="#d8f0dd" text-anchor="middle">3B+, 4 ou Zero 2 W (pas le Pi 5)</text>
|
||||
<text x="846" y="712" font-size="12" fill="#ffe08a" text-anchor="start" font-weight="bold">patte 12 = GPIO 18</text>
|
||||
<text x="793" y="712" font-size="12" fill="#fff" text-anchor="end" font-weight="bold">patte 6 = GND</text>
|
||||
<path d="M741 833 l16 16 m0 -16 l-16 16" stroke="#ffb3b3" stroke-width="3"/>
|
||||
<text x="767" y="846" font-size="12" fill="#ffd6d6" text-anchor="start">pattes 2 et 4 (5 V) : NE PAS relier à la matrice</text>
|
||||
<rect x="1119" y="790" width="18" height="34" rx="3" fill="#b8b8b8"/>
|
||||
<path d="M1137 807 H1149 V900" stroke="#555" stroke-width="5" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<text x="1144" y="918" font-size="13" fill="#333" text-anchor="end">bloc secteur USB du Pi</text>
|
||||
<text x="1144" y="935" font-size="12" fill="#777" text-anchor="end">(5 V, 2,5 A ou plus)</text>
|
||||
<path d="M910 585 V630 H850 a7 7 0 0 0 -14 0 H795 V661" stroke="#1a1a1a" stroke-width="4" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<text x="712" y="448" font-size="11" fill="#d62828" text-anchor="start" font-weight="bold">fil rouge (5 V) : seulement</text>
|
||||
<text x="712" y="461" font-size="11" fill="#d62828" text-anchor="start" font-weight="bold">vers la résistance de tirage</text>
|
||||
<rect x="40" y="470" width="236" height="390" rx="8" fill="#f8f9fa" stroke="#dee2e6" stroke-width="1"/>
|
||||
<text x="56" y="496" font-size="15" fill="#222" text-anchor="start" font-weight="bold">Code couleur des fils</text>
|
||||
<line x1="56" y1="520" x2="90" y2="520" stroke="#d62828" stroke-width="6" stroke-linecap="round"/>
|
||||
<text x="100" y="525" font-size="14" fill="#333" text-anchor="start">rouge = + 5 V</text>
|
||||
<line x1="56" y1="548" x2="90" y2="548" stroke="#1a1a1a" stroke-width="6" stroke-linecap="round"/>
|
||||
<text x="100" y="553" font-size="14" fill="#333" text-anchor="start">noir = GND (masse)</text>
|
||||
<line x1="56" y1="576" x2="90" y2="576" stroke="#bdbdbd" stroke-width="6" stroke-linecap="round"/>
|
||||
<text x="100" y="581" font-size="14" fill="#333" text-anchor="start">blanc = GND (masse)</text>
|
||||
<line x1="56" y1="604" x2="90" y2="604" stroke="#2a9d3a" stroke-width="6" stroke-linecap="round"/>
|
||||
<text x="100" y="609" font-size="14" fill="#333" text-anchor="start">vert = données 5 V</text>
|
||||
<line x1="56" y1="632" x2="90" y2="632" stroke="#e0a800" stroke-width="6" stroke-linecap="round"/>
|
||||
<text x="100" y="637" font-size="14" fill="#333" text-anchor="start">jaune = données 3,3 V</text>
|
||||
<text x="56" y="670" font-size="13" fill="#555" text-anchor="start">Tous les GND sont reliés :</text>
|
||||
<text x="56" y="688" font-size="13" fill="#555" text-anchor="start">Pi ↔ émetteur ↔ fil blanc</text>
|
||||
<text x="56" y="706" font-size="13" fill="#555" text-anchor="start">↔ matrice ↔ borne − de l'alim.</text>
|
||||
<text x="56" y="730" font-size="13" fill="#b00020" text-anchor="start" font-weight="bold">Dans matrice.py :</text>
|
||||
<text x="56" y="752" font-size="12" fill="#777" text-anchor="start">INVERSER_SIGNAL = True</text>
|
||||
<text x="56" y="766" font-size="12" fill="#777" text-anchor="start">(le transistor inverse le signal)</text>
|
||||
<text x="56" y="780" font-size="12" fill="#777" text-anchor="start">Vérifier l'ordre E-B-C du</text>
|
||||
<text x="56" y="794" font-size="12" fill="#777" text-anchor="start">transistor sur sa datasheet !</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 16 KiB |
@@ -46,9 +46,9 @@
|
||||
<rect x="1020" y="60" width="170" height="46" rx="12" fill="#2f6fc4"/>
|
||||
<rect x="1020" y="90" width="170" height="16" rx="0" fill="#2f6fc4"/>
|
||||
<text x="1105.0" y="90" font-size="18" fill="#fff" text-anchor="middle" font-weight="bold">6. Afficher</text>
|
||||
<text x="1105.0" y="140" font-size="14" fill="#222" text-anchor="middle" font-weight="bold">74AHCT125 (3,3 → 5 V)</text>
|
||||
<text x="1105.0" y="166" font-size="13" fill="#555" text-anchor="middle">puis 256 LED</text>
|
||||
<text x="1105.0" y="192" font-size="13" fill="#555" text-anchor="middle">WS2812B</text>
|
||||
<text x="1105.0" y="140" font-size="14" fill="#222" text-anchor="middle" font-weight="bold">adaptateur 3,3 → 5 V</text>
|
||||
<text x="1105.0" y="166" font-size="13" fill="#555" text-anchor="middle">(ou matrice en 4,4 V)</text>
|
||||
<text x="1105.0" y="192" font-size="13" fill="#555" text-anchor="middle">puis 256 LED WS2812B</text>
|
||||
<text x="30" y="36" font-size="22" fill="#222" text-anchor="start" font-weight="bold">De Krita à la matrice</text>
|
||||
<path d="M115 270 V292 H1003 V270" stroke="#aaa" stroke-width="2" fill="none" stroke-dasharray="6 5"/>
|
||||
<text x="559" y="316" font-size="14" fill="#555" text-anchor="middle">Étapes 1 à 4 : l'équipe design, sur n'importe quel ordinateur. Étapes 5 et 6 : automatiques, dans la vitrine.</text>
|
||||
|
||||
|
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 5.6 KiB |
Reference in New Issue
Block a user