« Item:POGL Dance e metre » : différence entre les versions

Page créée avec « {{Item |Description=Ce projet s’inscrit dans une démarche POGL (Phénomène d’Occupation et de Gestion des Lieux), cherchant à matérialiser l’influence de la popu... »
 
Aucun résumé des modifications
Ligne 6 : Ligne 6 :
|ItemLongDescription=L’installation combine un moteur pas à pas (ou servo) et un bandeau LED NeoPixel contrôlés par un ESP32.
|ItemLongDescription=L’installation combine un moteur pas à pas (ou servo) et un bandeau LED NeoPixel contrôlés par un ESP32.


=== 🔩 Étapes de fonctionnement ===
===🔩 Étapes de fonctionnement===


# État 1 — Calme / Faible affluence
#État 1 — Calme / Faible affluence
#* Le socle est en position basse.
#*Le socle est en position basse.
#* Les LEDs émettent une lumière bleu-gris claire (calme, froide).
#*Les LEDs émettent une lumière bleu-gris claire (calme, froide).
# État 2 — Activité moyenne
#État 2 — Activité moyenne
#* Le socle monte d’un palier.
#*Le socle monte d’un palier.
#* La couleur devient plus vive (bleu profond / turquoise).
#*La couleur devient plus vive (bleu profond / turquoise).
# État 3 — Forte affluence
#État 3 — Forte affluence
#* Le socle atteint sa position haute.
#*Le socle atteint sa position haute.
#* Les LEDs virent au bleu-blanc lumineux, la “ville” est en mouvement.
#*Les LEDs virent au bleu-blanc lumineux, la “ville” est en mouvement.


Le passage d’un état à l’autre peut être déclenché :
Le passage d’un état à l’autre peut être déclenché :


* par une API simulant l’affluence (valeur numérique 0 → 1 → 2 → 3 )
*par une API simulant l’affluence (valeur numérique 0 → 1 → 2 → 3 )


----<br />
----<br />


== 🔧 Matériel utilisé ==
==🔧 Matériel utilisé==
{| class="wikitable"
{| class="wikitable"
!Composant
!Composant
Ligne 32 : Ligne 32 :
|🧠 '''ESP32'''
|🧠 '''ESP32'''
|Microcontrôleur principal
|Microcontrôleur principal
|Gère moteur + LEDs + API
|Gère moteur + LEDs + API en wifi
|-
|-
|⚙️ '''Moteur pas à pas / Servo SG90'''
|⚙️ '''Moteur pas à pas / Servo SG90'''
Ligne 40 : Ligne 40 :
|💡 '''Bandeau LED NeoPixel'''
|💡 '''Bandeau LED NeoPixel'''
|Lumière d’ambiance
|Lumière d’ambiance
|12 LEDs RGB (WS2812B)
|12 LEDs RGB
|}
|}
----<br />
----<br />


== 🧰 Librairies Arduino ==
==🧰 Librairies Arduino==


* <code>Adafruit_NeoPixel.h</code> → gestion des LEDs WS2812B
*<code>Adafruit_NeoPixel.h</code> → gestion des LEDs avec fil pilote
* <code>Servo.h</code> ou <code>Stepper.h</code> → contrôle du moteur (selon le modèle choisi)
*<code>Servo.h</code> ou <code>Stepper.h</code> → contrôle du moteur (selon le modèle choisi)


<br />
<br />
----<br />
----<br />


== 👨🏻‍💻 Structure logicielle ==
==👨🏻‍💻 Structure logicielle==
<code>main.ino
<syntaxhighlight lang="c">
│
main.ino
├── setup()        # Initialisation LEDs + moteur
├── [CONFIG] constantes moteur + LEDs
├── loop()         # Boucle principale
├── [DOMAIN] types (enum Densite, Color, TramPoint)
│   ├── lireEtat() # récupère le niveau d'activité (API ou variable)
├── [DATA]   scénario de simulation tram
│  ├── majLEDs()  # adapte la couleur selon l’état
├── [STATE]  variables d'état (couleurs, index, timer)
│  └── majMoteur()# déplace le socle selon l’état
├── [API HW] moteurs/LEDs (tournerMoteur, setTargetColor, smoothTransition, showColor)
│
├── [LOGIC] mapping densité → angle/couleur + traitement changement
└── fonctions utilitaires :
├── [APP]    setup(), loop() non-bloquante (tick simulation)
    ├── goToLevel(level) # 0, 1, 2 → positions moteur
</syntaxhighlight>
    └── setColor(level)   # renvoie une couleur RGB selon l’état</code>
 
 
==📚 Bibliographie==
 
*https://github.com/benjaminbourlet/Fete_de_la_science_2025.git
*https://boxes.hackerspace-bamberg.de/
*https://docs.arduino.cc/
*https://www.pinterest.com/
}}
}}
{{Tuto Status
{{Tuto Status
|Complete=Draft
|Complete=Draft
}}
}}

Version du 15 octobre 2025 à 12:57


Pas encore d'image

POGL Dance e metre

Ce projet s’inscrit dans une démarche POGL (Phénomène d’Occupation et de Gestion des Lieux), cherchant à matérialiser l’influence de la population sur un espace urbain.

10EUR (€)


Description longue

L’installation combine un moteur pas à pas (ou servo) et un bandeau LED NeoPixel contrôlés par un ESP32.

🔩 Étapes de fonctionnement

  1. État 1 — Calme / Faible affluence
    • Le socle est en position basse.
    • Les LEDs émettent une lumière bleu-gris claire (calme, froide).
  2. État 2 — Activité moyenne
    • Le socle monte d’un palier.
    • La couleur devient plus vive (bleu profond / turquoise).
  3. État 3 — Forte affluence
    • Le socle atteint sa position haute.
    • Les LEDs virent au bleu-blanc lumineux, la “ville” est en mouvement.

Le passage d’un état à l’autre peut être déclenché :

  • par une API simulant l’affluence (valeur numérique 0 → 1 → 2 → 3 )


🔧 Matériel utilisé

Composant Rôle Détails
🧠 ESP32 Microcontrôleur principal Gère moteur + LEDs + API en wifi
⚙️ Moteur pas à pas / Servo SG90 Action mécanique du socle 3 positions (basse, moyenne, haute)
💡 Bandeau LED NeoPixel Lumière d’ambiance 12 LEDs RGB


🧰 Librairies Arduino

  • Adafruit_NeoPixel.h → gestion des LEDs avec fil pilote
  • Servo.h ou Stepper.h → contrôle du moteur (selon le modèle choisi)




👨🏻‍💻 Structure logicielle

main.ino
├── [CONFIG] constantes moteur + LEDs
├── [DOMAIN] types (enum Densite, Color, TramPoint)
├── [DATA]   scénario de simulation tram
├── [STATE]  variables d'état (couleurs, index, timer)
├── [API HW] moteurs/LEDs (tournerMoteur, setTargetColor, smoothTransition, showColor)
├── [LOGIC]  mapping densité → angle/couleur + traitement changement
├── [APP]    setup(), loop() non-bloquante (tick simulation)


📚 Bibliographie

Pages liées

Commentaires

Draft