Petfilamachine/libraries/GyverButton/examples/analogKeyboard/analogKeyboard.ino

46 lines
1.6 KiB
Arduino
Raw Normal View History

2022-03-11 22:50:28 +03:00
// Пример использования библиотеки GyverButton с аналоговой клавиатурой
// аналоговая клавиатура подключена на А7
// Схему смотри на странице библиотеки https://alexgyver.ru/gyverbutton/
// также она есть в папке с примером
#include "GyverButton.h"
// создаём кнопки без привязки к пину
GButton myButt1;
GButton myButt2;
GButton myButt3;
void setup() {
Serial.begin(9600);
// меняем тип на LOW_PULL, потому что по умолчанию стоит HIGH_PULL
myButt1.setType(LOW_PULL);
myButt2.setType(LOW_PULL);
myButt3.setType(LOW_PULL);
}
void loop() {
// читаем значение
int analog = analogRead(7);
// для начала нужно вывести и запомнить значение для каждой кнопки
//Serial.println(analog);
// проверяем у каждой кнопки свой диапазон (+- 20 от полученного значения)
myButt1.tick(analog < 860 && analog > 820);
myButt2.tick(analog < 740 && analog > 700);
myButt3.tick(analog < 650 && analog > 600);
// проверка на удержание, например
if (myButt1.isHolded()) {
Serial.println("hold 1");
}
if (myButt2.isHolded()) {
Serial.println("hold 2");
}
if (myButt3.isHolded()) {
Serial.println("hold 3");
}
delay(10); // задержка тут не нужна, чисто для вывода
}