int led = 11; // Номер Pin к которому подключен диод
// Переменная в которой хранится уровень яркости (От 0 до 254)
// Номер Pin к которому подключена кнопка
#include "GyverButton.h"
#define BTN1 2 // кнопка подключена сюда (PIN --- КНОПКА --- GND)
#define BTN2 3 // кнопка подключена сюда (PIN --- КНОПКА --- GND)
GButton butt1(BTN1);
GButton butt2(BTN2);
uint8_t value = 0 ;
int pot = A0;
int bright = 0;
void setup() {
Serial.begin(9600);
pinMode(led, OUTPUT); // Порт 11 (led) будет работать как Выход.
pinMode(pot, INPUT);
}
void loop() { // Этот цикл будет выполняться бесконечное количество раз.
bright = analogRead(pot);
bright = map(bright, 0, 1023, 0, 5);
butt1.tick(); // обязательная функция отработки. Должна постоянно опрашиваться
butt2.tick();
if (butt1.isClick() && value < 5)
{
value ++;
}
if (butt2.isClick() && value != 0 )
{
value--;
}
switch (value) {
case 0: // your hand is on the sensor
Serial.println("dark");
analogWrite(led, 0);
break;
case 1: // your hand is close to the sensor
Serial.println("bright");
analogWrite(led, 50 );
break;
case 2: // your hand is a few inches from the sensor
Serial.println("medium");
analogWrite(led, 100 );
break;
case 3: // your hand is nowhere near the sensor
Serial.println("dim");
analogWrite(led, 150);
break;
case 4: // your hand is nowhere near the sensor
Serial.println("pim");
analogWrite(led, 200);
break;
case 5: // your hand is nowhere near the sensor
Serial.println("pim");
analogWrite(led, 255);
break;
}
switch (bright) {
case 0: // your hand is on the sensor
Serial.println("dark");
analogWrite(led, 0);
break;
case 1: // your hand is close to the sensor
Serial.println("bright");
analogWrite(led, 50 );
break;
case 2: // your hand is a few inches from the sensor
Serial.println("medium");
analogWrite(led, 100 );
break;
case 3: // your hand is nowhere near the sensor
Serial.println("dim");
analogWrite(led, 150);
break;
case 4: // your hand is nowhere near the sensor
Serial.println("pim");
analogWrite(led, 200);
break;
case 5: // your hand is nowhere near the sensor
Serial.println("pim");
analogWrite(led, 255);
break;
}
}