Advertisement
manoo089

Led controll with slider pot

Aug 9th, 2024 (edited)
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.13 KB | None | 0 0
  1. #include <Wire.h>
  2. #include <Adafruit_ADS1X15.h>
  3. #include "FastLED.h"
  4. #include "Leds.h"
  5.  
  6. #define MAX_SLIDE_POT_ANALOG_READ_VALUE 2000
  7.  
  8. Adafruit_ADS1115 ads;
  9. int16_t adc0;
  10. int16_t adc1;
  11.  
  12. int slider_a_start = 0;
  13. int slider_a_end = 12;
  14.  
  15. int slider_b_start = 13;
  16. int slider_b_end = 25;
  17.  
  18. void setup() {
  19.   Serial.begin(115200);
  20.   Wire.begin();
  21.  
  22.   ads.begin();
  23.  
  24.   FastLED.addLeds<WS2812B, PIN_LEDS, GRB>(rgb_led, NUM_LEDS);
  25.   FastLED.setBrightness(BRIGHTNESS_LEDS);
  26. }
  27.  
  28. void loop() {
  29.   adc0 = ads.readADC_SingleEnded(0);
  30.   adc1 = ads.readADC_SingleEnded(1);
  31.   int16_t adc_test = adc0 / 100;
  32.   Serial.print("Analog input pin 0: ");
  33.   Serial.println(adc0);
  34.   Serial.print("Analog input pin 1: ");
  35.   Serial.println(adc1);
  36.  
  37.   int num_leds_switchedon_a = map(adc0, 0, MAX_SLIDE_POT_ANALOG_READ_VALUE, slider_a_start, slider_a_end);
  38.   int num_leds_switchedon_b = map(adc1, 0, MAX_SLIDE_POT_ANALOG_READ_VALUE, slider_b_start, slider_b_end);
  39.   int sliderval_a = calcSlidersForLEDS(num_leds_switchedon_a, 4, 0);
  40.   int sliderval_b = calcSlidersForLEDS(num_leds_switchedon_b, 4, 15);
  41.  
  42.   Serial.println(sliderval_a);
  43.   Serial.println(num_leds_switchedon_a);
  44.    
  45.   for (int i = slider_a_start; i < num_leds_switchedon_a; ++i) {
  46.     rgb_led[i] = LED_COLOR_GREEN;
  47.   }
  48.  
  49.   for (int i = num_leds_switchedon_a; i < NUM_LEDS; ++i) {
  50.     rgb_led[i] = CRGB::Black;
  51.   }
  52.  
  53.   for (int i = slider_b_start; i < num_leds_switchedon_b ; ++i) {
  54.     rgb_led[i] = LED_COLOR_GREEN;
  55.   }
  56.  
  57.   for (int i = num_leds_switchedon_b ; i < NUM_LEDS; ++i) {
  58.     rgb_led[i] = CRGB::Black;
  59.   }
  60.  
  61.   FastLED.show();
  62.  
  63.   delay(50);
  64. }
  65.  
  66.  
  67. // *********** Leds.h ************* //
  68.  
  69. // Defines
  70. #define NUM_LEDS 48
  71. #define PIN_LEDS 13
  72. #define LED_COLOR_GREEN CRGB::Green
  73. #define LED_COLOR_ORANGE CRGB::Orange
  74. #define LED_COLOR_RED CRGB::Red
  75. #define BRIGHTNESS_LEDS 50  // ValueRange = 0-255
  76.  
  77. // Setup LED's
  78. CRGB rgb_led[NUM_LEDS];  // color array of the LED RGB strip
  79.  
  80. // Calculate Sliders to LED's
  81. int calcSlidersForLEDS(int slider, int divided, int pos) {
  82.   if (pos == 0) {
  83.     return (slider / divided);
  84.   } else {
  85.     return (slider / divided) + pos;
  86.   }
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement