Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int frame_size = 300;
- long int total = 0;
- const int NUMBER_OF_LEDS = 6;
- int leds[NUMBER_OF_LEDS] = {7, 6, 5, 4, 3, 2};
- int thresholds[NUMBER_OF_LEDS] = {5, 10, 15, 20, 25, 30};
- void setup() {
- Serial.begin(9600);
- for (int i = 0; i < NUMBER_OF_LEDS; i++) {
- pinMode(leds[i], OUTPUT);
- }
- }
- void loop() {
- int volume = analogRead(A0);
- long int average = total / frame_size;
- int current_threshold = 0;
- while (current_threshold < NUMBER_OF_LEDS && average > thresholds[current_threshold]) {
- current_threshold++;
- }
- show_leds(current_threshold);
- total = total - average / 2;
- total = total + volume;
- Serial.println(average);
- }
- void show_leds(int number) {
- for (int i = 0; i < number; i++) {
- digitalWrite(leds[i], HIGH);
- }
- for (int i = number; i < NUMBER_OF_LEDS; i++) {
- digitalWrite(leds[i], LOW);
- }
- }
- void run_led(int delay_ms) {
- for (int i = 0; i < 6; i++) {
- digitalWrite(leds[i], HIGH);
- delay(delay_ms);
- digitalWrite(leds[i], LOW);
- }
- }
- void top_up(int delay_ms) {
- disable_all();
- delay(delay_ms);
- for (int i = 0; i < 6; i++) {
- digitalWrite(i, HIGH);
- delay(delay_ms);
- }
- }
- void disable_all() {
- for (int i = 0; i < NUMBER_OF_LEDS; i++) {
- digitalWrite(leds[i], LOW);
- }
- }
Add Comment
Please, Sign In to add comment