Проблема с библиотекой Keyboard.h

Привет всем, смотрите у меня такая проблема. Я подключил галетный переключатель, проверил работает ли и какой диапазон значений ставить. Написал код , всё работает только вот 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;         
}

Код написан не мною , но я его переделал под мой галетник . Хотя к примеру гашение дребезга контактов сделано другим человеком , в общем не суть. Кто может помогите!!

какой твой ардуино? если нано или уно они не поддерживают эти функции

ты ещё живой? решил проблему?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.