#include <GyverButton.h>
#include <GyverEncoder.h>
//-------------------------------------------------
Encoder enc(13, 14);
GButton butt(4);
//-------------------------------------------------
boolean mouse = false;
boolean vertical = true;
//-------------------------------------------------
void setup() {
Serial.begin(9600);
butt.setType(HIGH_PULL);
butt.setDirection(NORM_OPEN);
enc.setType(TYPE2);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
}
//-------------------------------------------------
void loop() {
enc.tick();
butt.tick();
//обробка кнопки
//-------------------------------------------------
if (butt.isSingle()) {
mouse = !mouse;
}
//-------------------------------------------------
if (butt.isHold()) {
vertical = !vertical;
}
//режим стрілочок
//-------------------------------------------------
if (mouse = false) {
digitalWrite(5, HIGH);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
if (vertical = true) {
digitalWrite(6, HIGH);
if (enc.isRight()) {
Serial.println("arrow up");
}
if (enc.isLeft()) {
Serial.println("arrow down");
}
} else {
digitalWrite(5, LOW);
digitalWrite(6, HIGH);
digitalWrite(7, LOW);
if (enc.isRight()) {
Serial.println("arrow right");
}
if (enc.isLeft()) {
Serial.println("arrow left");
}
}
//режим скролу
//-------------------------------------------------
} else {
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, HIGH);
if (enc.isRight()) {
Serial.println("scroll up");
}
if (enc.isLeft()) {
Serial.println("scroll down");
}
}
}
Loading
esp32-s3-devkitc-1
esp32-s3-devkitc-1