Хардкорная клавиатура для osu!
Купил я недавно ардуину, помигал светодиодом, и подумал, а что же действительно годного можно сделать из нее. А тут как раз валялись пара автомобильных реле, мне понравилось, как четко они нажимаются, самый раз для клавиатуры. Сказано — сделано.
Собственно, про хардварную часть рассказывать нечего — контакты реле напрямую воткнуты в 8 и 9 порты. Резистор на 10К не требуется, ибо включен встроенный.
Скетч:
#include <Keyboard.h> //библиотека для клавы
void setup(){
pinMode(8, INPUT_PULLUP); //выходы 8 и 9 с подтягивающим резистором
pinMode(9, INPUT_PULLUP);
Keyboard.begin();
}
void loop(){
if(digitalRead(8)==LOW){ //кнопка x
Keyboard.press('x');
}
if(digitalRead(9)==LOW){ //кнопка z
Keyboard.press('z');
}
delay(80); //задержка в мс. по умолчанию 80
Keyboard.releaseAll();
}
Задержка этой клавиатуры по умолчанию равна 0.08 с, но вы можете поставить свою в скетче. Чем меньше задержка, тем чаще будет отправляться сигнал о нажатой кнопке, даже если вы нажали ее 1 раз.
Пример работы: zzxxxxzzxzxzxzzxzxzx
Вы также можете подключить любые другие кнопки (напр. Cherry MX) и вообще, все, что замыкает контакт.