Привет всем, смотрите у меня такая проблема. Я подключил галетный переключатель, проверил работает ли и какой диапазон значений ставить. Написал код , всё работает только вот Keyboard.h не работает. Я решил проверить сам скрипт с помощью serial.print . И да он работает , условия выполняются корректно , не работают команды из библиотеки keyboard.h . Помогите что делать ?
#include <Keyboard.h>
int pinAnalog = A0;
int stateValue = 0; // Состояние покоя
bool q = true;
bool w = true;
bool e = true;
bool r = true;
bool t = true;
bool y = true;
bool u = true;
void setup() {
pinMode(pinAnalog, INPUT);
Serial.begin(9600);
Keyboard.begin();
}
void loop() {
int newKeyValue = GetKeyValue();
if (stateValue != newKeyValue) {
stateValue = newKeyValue;
if (int(stateValue) >= 900 && int(stateValue) <= 1020 && q == true) {
Serial.println("Сигнал: " + String(stateValue));
Keyboard.press('p');
delay(10);
Keyboard.releaseAll();
q = false;
w = true;
}
if (int(stateValue) >= 70 && int(stateValue) <= 79 && w == true) {
Serial.println("Сигнал: " + String(stateValue));
Keyboard.press('p');
delay(10);
Keyboard.releaseAll();
q = true;
w = false;
e = true;
}
if (int(stateValue) >= 40 && int(stateValue) <= 50 && e == true) {
Serial.println("Сигнал: " + String(stateValue));
Keyboard.press('p');
delay(10);
Keyboard.releaseAll();
w = true;
e = false;
r = true;
}
if (int(stateValue) >= 22 && int(stateValue) <= 30 && r == true) {
Serial.println("Сигнал: " + String(stateValue));
Keyboard.press('p');
delay(10);
Keyboard.releaseAll();
e = true;
r = false;
t = true;
}
if (int(stateValue) >= 17 && int(stateValue) <= 20 && t == true) {
Serial.println("Сигнал: " + String(stateValue));
Keyboard.press('p');
delay(10);
Keyboard.releaseAll();
r = true;
t = false;
y = true;
}
if (int(stateValue) >= 14 && int(stateValue) <= 16 && y == true) {
Serial.println("Сигнал: " + String(stateValue));
Keyboard.press('p');
delay(10);
Keyboard.releaseAll();
t = true;
y = false;
u = true;
}
if (int(stateValue) >= 10 && int(stateValue) <= 13 && u == true) {
Serial.println("Сигнал: " + String(stateValue));
Keyboard.press('p');
delay(10);
Keyboard.releaseAll();
y = true;
u = false;
}
else {
Serial.println(stateValue);
}
}
}
int GetKeyValue() {
static int oldKeyValue;
static long lastChange;
int actualKeyValue = analogRead(pinAnalog);
if ((actualKeyValue != oldKeyValue) && (millis() - lastChange > 200)) {
oldKeyValue = actualKeyValue;
lastChange = millis();
}
return oldKeyValue;
}
Код написан не мною , но я его переделал под мой галетник . Хотя к примеру гашение дребезга контактов сделано другим человеком , в общем не суть. Кто может помогите!!