Guest User

Led Project

a guest
Mar 31st, 2026
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.50 KB | Source Code | 0 0
  1. #include <FastLED.h>
  2. #include <Adafruit_NeoPixel.h>
  3.  
  4. #define NUM_LEDS 600 // le nombre de LEDs total de la bande connectée à l'Arduino
  5. CRGB leds[NUM_LEDS];
  6. fl::shared_ptr<fl::AudioProcessor> audio;
  7.  
  8. #define DATA_PIN 10 // le port où se branche le D1 des LEDs
  9. #define Rpin 10
  10. #define Gpin 10
  11. #define Bpin 10
  12. #define delayLEDS 3
  13. #define sensorPin A0 // le port où se branche le capteur son
  14.  
  15. float sensorValue = 0, filteredSignal = 0,
  16. filteredSignalValues[] = {3.4, 3.1, 2.7, 2.4, 2.1, 1.7, 1.3, 0.9, 0.4};
  17.  
  18. void setup () {
  19.  
  20. FastLED.addLeds<WS2812B, GRB>(leds, NUM_LEDS);
  21. FastLED.setBrightness(128);
  22. auto config = fl::AudioConfig::CreateInmp441(I2S_WS, I2S_SD, I2S_CLK, fl::Right);
  23. auto audio = FastLED.add(config);
  24. audio->setAutoGainEnabled(true);
  25. Serial.begin (9600);
  26.  
  27. }
  28.  
  29.  
  30. void loop () {
  31.  
  32. MainFunction();
  33. FastLED.show();
  34.  
  35. }
  36.  
  37. void MainFunction() {
  38.  
  39. sensorValue = (float) analogRead(sensorPin) * (5.0 / 1024.0);
  40.  
  41. FilterSignal(sensorValue);
  42.  
  43. Serial.print(sensorValue);
  44. Serial.print(" ");
  45. Serial.println(filteredSignal);
  46.  
  47. CompareSignalFiltered(filteredSignal);
  48.  
  49. }
  50.  
  51. void FilterSignal(float sensorSignal) {
  52.  
  53. filteredSignal = (0.945 * filteredSignal) + (0.0549 * sensorSignal);
  54.  
  55. }
  56.  
  57. void CompareSignalFiltered(float filteredSignal) {
  58.  
  59. if (filteredSignal > filteredSignalValues[0] && filteredSignal > filteredSignalValues[3]) { // Fourchette de décibels (pas de bruit à un peu de bruit)
  60. RGBColor(0, 255, 0); // Variable de couleur HTML
  61. Serial.println("Green");
  62. leds[0] = CRGB::Green;
  63. FastLED.show();
  64. } else if (filteredSignal <= filteredSignalValues[4] && filteredSignal > filteredSignalValues[6]) { // Fourchette de décibels (du bruit à pas mal de bruit)
  65. RGBColor(255, 127, 0); // Variable de couleur HTML
  66. Serial.println("Orange");
  67. leds[0] = CRGB::Orange;
  68. FastLED.show();
  69. } else if (filteredSignal <= filteredSignalValues[7] && filteredSignal > filteredSignalValues[8]) { // Fourchette de décibels (beaucoup de bruit à trop de bruit)
  70. RGBColor(255, 0, 0); // Variable de couleur HTML
  71. Serial.println("Red");
  72. leds[0] = CRGB::Red;
  73. FastLED.show();
  74. } else {
  75. RGBColor(0, 255, 0); // Variable de couleur HTML
  76. Serial.println("Default: Green"); // Si le capteur son ne détecte rien, il laisse les LEDs en vert
  77.  
  78. }
  79. }
  80.  
  81. void RGBColor(int Rcolor, int Gcolor, int Bcolor) {
  82.  
  83. analogWrite(Rpin, Rcolor);
  84. analogWrite(Gpin, Gcolor);
  85. analogWrite(Bpin, Bcolor);
  86.  
  87. delay(delayLEDS);
  88. }
Advertisement
Add Comment
Please, Sign In to add comment