Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <FastLED.h>
- #include <Adafruit_NeoPixel.h>
- #define NUM_LEDS 600 // le nombre de LEDs total de la bande connectée à l'Arduino
- CRGB leds[NUM_LEDS];
- fl::shared_ptr<fl::AudioProcessor> audio;
- #define DATA_PIN 10 // le port où se branche le D1 des LEDs
- #define Rpin 10
- #define Gpin 10
- #define Bpin 10
- #define delayLEDS 3
- #define sensorPin A0 // le port où se branche le capteur son
- float sensorValue = 0, filteredSignal = 0,
- filteredSignalValues[] = {3.4, 3.1, 2.7, 2.4, 2.1, 1.7, 1.3, 0.9, 0.4};
- void setup () {
- FastLED.addLeds<WS2812B, GRB>(leds, NUM_LEDS);
- FastLED.setBrightness(128);
- auto config = fl::AudioConfig::CreateInmp441(I2S_WS, I2S_SD, I2S_CLK, fl::Right);
- auto audio = FastLED.add(config);
- audio->setAutoGainEnabled(true);
- Serial.begin (9600);
- }
- void loop () {
- MainFunction();
- FastLED.show();
- }
- void MainFunction() {
- sensorValue = (float) analogRead(sensorPin) * (5.0 / 1024.0);
- FilterSignal(sensorValue);
- Serial.print(sensorValue);
- Serial.print(" ");
- Serial.println(filteredSignal);
- CompareSignalFiltered(filteredSignal);
- }
- void FilterSignal(float sensorSignal) {
- filteredSignal = (0.945 * filteredSignal) + (0.0549 * sensorSignal);
- }
- void CompareSignalFiltered(float filteredSignal) {
- if (filteredSignal > filteredSignalValues[0] && filteredSignal > filteredSignalValues[3]) { // Fourchette de décibels (pas de bruit à un peu de bruit)
- RGBColor(0, 255, 0); // Variable de couleur HTML
- Serial.println("Green");
- leds[0] = CRGB::Green;
- FastLED.show();
- } else if (filteredSignal <= filteredSignalValues[4] && filteredSignal > filteredSignalValues[6]) { // Fourchette de décibels (du bruit à pas mal de bruit)
- RGBColor(255, 127, 0); // Variable de couleur HTML
- Serial.println("Orange");
- leds[0] = CRGB::Orange;
- FastLED.show();
- } else if (filteredSignal <= filteredSignalValues[7] && filteredSignal > filteredSignalValues[8]) { // Fourchette de décibels (beaucoup de bruit à trop de bruit)
- RGBColor(255, 0, 0); // Variable de couleur HTML
- Serial.println("Red");
- leds[0] = CRGB::Red;
- FastLED.show();
- } else {
- RGBColor(0, 255, 0); // Variable de couleur HTML
- Serial.println("Default: Green"); // Si le capteur son ne détecte rien, il laisse les LEDs en vert
- }
- }
- void RGBColor(int Rcolor, int Gcolor, int Bcolor) {
- analogWrite(Rpin, Rcolor);
- analogWrite(Gpin, Gcolor);
- analogWrite(Bpin, Bcolor);
- delay(delayLEDS);
- }
Advertisement
Add Comment
Please, Sign In to add comment