Art LED dynamique triangulaire : Afficheur RGB 45 LEDs APA106 piloté par Arduino UNO
Matériel nécessaire
| LED RGB programmable APA-106 (8 mm) | 45 |
| Fil de cuivre étamé 22 AWG | 1 bobine |
| Arduino UNO | 1 |
| Plaque de contreplaqué triangle équilatéral 30 cm côté, 6 mm ép. | 1 |
Outils requis
- Fer à souder + étain
- Pistolet à colle chaude
- Pinces à dissipateur thermique (pour protéger les LEDs lors du soudage)
- Perceuse + foret 8 mm
Concept et inspiration
Ce projet utilise 45 LEDs APA-106 (compatibles NeoPixel) contrôlées par un seul pin de l'Arduino UNO via la bibliothèque Adafruit NeoPixel. L'inspiration vient de deux projets antérieurs : un cube LED 5x5x5 (restes de LEDs) et un projet d'art à moteur servo en triangle. La géométrie triangulaire génère des motifs visuels fascinants.
Construction hardware
- Perçage : Percez 45 trous de 8 mm espacés de 2,5 cm (1 pouce) en triangle équilatéral (9 LEDs côté). Les LEDs s'emboîtent fermement.
- Préparation des LEDs : Pliez les 4 broches : Data In (gauche), VCC (milieu-gauche), GND (longue, milieu-droite), Data Out (droite, bord plat). Pliez GND avec un deuxième coude pour l'identifier.
- Câblage en chaîne : La ligne de données (bleu) zigzague : rangées impaires gauche→droite, paires droite→gauche. Alimentations : GND à gauche sur rangées impaires, droite sur paires ; VCC inverse. Astuce : inversez GND/VCC pour éviter que les fils de données ne croisent les rails d'alimentation.
- Alimentation : À 30/255 de luminosité, l'ensemble (UNO + 45 LEDs) tient sur l'USB (5V, 1A). Une alim externe 5V 1A est optionnelle.
- Fixation : Collez l'UNO sur le panneau (entretoises plastique + colle chaude).
- Boîtier : Fichier STL fourni pour impression 3D, ou réalisez-en un en bois.
Logiciel et animations
La bibliothèque NeoPixel fournit setPixelColor(index, couleur) et show(). Les couleurs sont codées sur 32 bits (8 bits par canal RVB). Une palette personnelle 0-43 (arc-en-ciel + noir/blanc) simplifie les animations.
Numérotation logique : LED 0 au sommet, puis rangées gauche→droite (ignorer le zigzag physique). Une fonction mySetPixel(logicalIndex, couleur) fait la correspondance.
Animations pilotées par tables : Tables stockées en mémoire programme (PROGMEM) : balayage depuis chaque sommet, LEDs des triangles concentriques (extérieur 24, milieu 15, centre 6). Approche très efficace en mémoire.
Structure du sketch (4 onglets) :
declarations.ino: tables, setuploop.ino: séquence d'animationsanimations.ino: 26 effets (rotation, pulsation, pluie, feu, etc.)functions.ino: sous-routines communes
La fonction rotate() fait tourner le contenu des 3 triangles concentriques en 120 étapes (PPCM de 24, 15, 6). En variant motif initial, sens, vitesse → 26 animations distinctes. Spectacle total : 5 minutes avant répétition.
Fichiers fournis
- Code complet (ZIP avec routine de test + spectacle 26 animations)
- Fichier STL pour boîtier
- Schéma de câblage (image)
Projet accessible aux débutants, résultat visuel impressionnant. Parfait pour apprendre la programmation d'animations LED structurées.
Processus de fabrication
- Trigonométrie du triangle rectangle : concepts clés et formules
- Trigonométrie générale : loi des sinus et loi des cosinus pour tout triangle
- Allocation dynamique de mémoire en C : Maîtriser malloc, calloc, realloc et free
- Walabasquiat : Art génératif interactif propulsé par Walabot, Raspberry Pi et Android
- Maîtriser la mémoire dynamique en C++ : Stack vs Heap expliqués
- G.AL® C330 Dynamic : Alliage aluminium haute résistance pour applications de précision
- G.AL® C210 Dynamic : Plaque aluminium résistance moyenne premium, uniformité supérieure et faibles contraintes
- Maîtriser le fraisage horizontal : booster l'efficacité de production
- Pompes Dynamiques vs Pompes à Déplacement Positif : Différences Clés Expliquées