Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Arduino.h>
- #include <FastLED.h>
- #define NUM_LEDS 600 // le nombre de LEDs total de la bande connectée à l'Arduino
- CRGB leds[NUM_LEDS];
- #define DATA_PIN 10 // le port où se branche le D1 des LEDs
- #define delayLEDS 3
- #define sensorPin A0 // le port où se branche le SIG du capteur son
- void FilterSignal(float sensorSignal);
- void CompareSignalFiltered(float filteredSignal);
- 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.setBrightness(128);
- Serial.begin (9600);
- }
- void loop () {
- leds[0] = CRGB::White;
- FastLED.show();
- delay(delayLEDS);
- }
- 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)
- fill_solid( leds, NUM_LEDS, CRGB::Green );
- FastLED.show();
- } else if (filteredSignal <= filteredSignalValues[4] && filteredSignal > filteredSignalValues[6]) { // Fourchette de décibels (du bruit à pas mal de bruit)
- fill_solid( leds, NUM_LEDS, CRGB::Orange );
- FastLED.show();
- } else if (filteredSignal <= filteredSignalValues[7] && filteredSignal > filteredSignalValues[8]) { // Fourchette de décibels (beaucoup de bruit à trop de bruit)
- fill_solid( leds, NUM_LEDS, CRGB::Red );
- FastLED.show();
- } else {
- fill_solid( leds, NUM_LEDS, CRGB::Green );
- FastLED.show(); // Si le capteur son ne détecte rien, il laisse les LEDs en vert
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment