HP 21 Lumière : laledsonore
Sommaire
Réalisation technique
Puisque nous sommes en période de fin d'année, nous allons créer une boule de Noël avec un ruban de led autour, dont la lumière se déclenchera lorsqu'un seuil sonore sera atteint.
Équipe
Angélique / Louenn / Renaud / Goulven / Élodie, drivés par Nadia avec l'aide de Pierre, mentor Arduino
Cadre pédagogique
L'idée est de pouvoir réaliser cette opération avec un public d'enfants et d'utiliser l'objet créé pour indiquer le seuil sonore atteint dans la pièce / le groupe... o
Matériel
- Arduino RCmall Wemos D1 Mini V2 Wifi ESP8266
https://www.phippselectronics.com/using-the-microphone-sound-sensor-module-ky-038-with-arduino/
https://www.wikidebrouillard.org/wiki/Item:D1_mini
- ruban lumineux
- capteur de son binaire
- PC
- Câbles dupont : arduino -> ruban / électricité
- Breadboard
Beaucoup de bonne volonté !
Jour 1 : La réflexion
Renaud et Louenn sont à la réalisation numérique.
Test de branchement
Jour 2 : La réalisation
- Code
1ère difficulté : trouver comment monter le code wimo sur l'Arduino. Après bien des temps de recherche (et trouvailles), les références sont là.
- Fabrication
Goulven a réalisé une boule de Noël en filament grâce à un stylo 3D
- Ruban lumineux
Pour choisir les couleurs des LED du ruban, Renaud s'est servi du site suivant
Pour apprendre comment les LED réagissent aux sons, nous nous sommes appuyés sur cette vidéo
Y a du monde pour essayer de finir le frankencode....avec les encouragements d'Olivier
Le code : /*
* Rui Santos * Complete Project Details https://randomnerdtutorials.com
- /
- include <Adafruit_NeoPixel.h>
int ledPin=LED_BUILTIN; int sensorPin=D1; boolean val =0;
- define PIN D6
- define NUMPIXELS 85
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
void setup(){
pinMode(ledPin, OUTPUT); pinMode(sensorPin, INPUT); pixels.begin(); Serial.begin (9600);
}
void loop (){
val =digitalRead(sensorPin); Serial.println (val); // when the sensor detects a signal above the threshold value, LED flashes if (val==HIGH) { digitalWrite(ledPin, HIGH); for(int i=0; i<NUMPIXELS; i++) { pixels.setPixelColor(i, pixels.Color(0, 0, 0)); } pixels.show(); } else { digitalWrite(ledPin, LOW); for(int i=0; i<NUMPIXELS; i++){ pixels.setPixelColor(i, pixels.Color(0, 150, 0)); } pixels.show(); }
}