Здравствуйте!
Это клавиатура на 30 кнопок, на одну такую кнопку, можно запрограммировать какое то действие, или даже последовательность из нескольких действий.
Для проекта использую:
Плату Arduino ProMicro, на базе микроконтроллера ATmega32U4, макетную плату из гетинакса 9 на 15 сантиметров, 30 кнопок, 5 сопротивлений на 22 килоома, 5 сопротивлений на 1 киллоом, 25 сопротивлений на 600 ом, немного проводов, и понадобится коробочка, которая послужит корпусом для клавиатуры.
Схема проекта
Скетч для сканирования кнопок.
//Начало скетча
void setup() {
Serial.begin(9600);
}
void loop() {
int sensor = analogRead(A3);
Serial.println(sensor);
delay(1);
}
//Конец скетча
Скетч с шестью запрограммированными кнопками.
//Начало скетча
#include "Keyboard.h" // библиотека для эмуляции клавиатуры
void setup() {
}
void loop() {
int sensor = analogRead(A3);
//1
if ((sensor > 268) && (sensor < 288)) {
Keyboard.print("login_1"); Keyboard.write(KEY_TAB);
Keyboard.print("password_1"); Keyboard.write(KEY_RETURN); delay(1000);
}
//2
if ((sensor > 405) && (sensor < 425)) {
Keyboard.print("login_2"); Keyboard.write(KEY_TAB);
Keyboard.print("password_2"); Keyboard.write(KEY_RETURN); delay(1000);
}
//3
if ((sensor > 552) && (sensor < 572)) {
Keyboard.println("Yflt.cm 'nj dbltj dfv gjyhfdbkjcm? Cnfdmnt kfqr b gjlgbibntcm yf vjq rfyfk!"); delay(1000);
}
//Keyboard.println("Ghbdtn vbh! ");delay(1000);}
//4
if ((sensor > 696) && (sensor < 716)) {
Keyboard.print("Gtxfnyfz dthcbz dct[ vjb[ ghjtrnjd yf[jlbncz gj flhtce ");
Keyboard.press(KEY_LEFT_SHIFT);
Keyboard.press(KEY_LEFT_ALT);
delay(100);
Keyboard.releaseAll();
Keyboard.print("kolotushkin.com");
Keyboard.press(KEY_LEFT_SHIFT);
Keyboard.press(KEY_LEFT_ALT);
delay(100);
Keyboard.releaseAll();
Keyboard.write(KEY_RETURN); delay(1000);
}
//5
if ((sensor > 848) && (sensor < 868)) {
Keyboard.write(KEY_LEFT_ALT);
Keyboard.write(KEY_RIGHT_ARROW);
Keyboard.write(KEY_RIGHT_ARROW);
Keyboard.write(KEY_RIGHT_ARROW);
Keyboard.write(KEY_DOWN_ARROW);
Keyboard.write(KEY_DOWN_ARROW);
Keyboard.write(KEY_DOWN_ARROW);
Keyboard.write(KEY_DOWN_ARROW);
Keyboard.write(KEY_DOWN_ARROW);
Keyboard.write(KEY_DOWN_ARROW);
Keyboard.write(KEY_RIGHT_ARROW);
Keyboard.write(KEY_DOWN_ARROW);
Keyboard.write(KEY_DOWN_ARROW);
Keyboard.write(KEY_DOWN_ARROW);
Keyboard.write(KEY_DOWN_ARROW);
Keyboard.write(KEY_DOWN_ARROW);
Keyboard.write(KEY_DOWN_ARROW);
Keyboard.write(KEY_DOWN_ARROW);
Keyboard.write(KEY_DOWN_ARROW);
Keyboard.write(KEY_DOWN_ARROW);
Keyboard.write(KEY_DOWN_ARROW);
Keyboard.write(KEY_RETURN);
Keyboard.write(KEY_TAB);
delay(500);
Keyboard.write(KEY_DOWN_ARROW);
Keyboard.write(KEY_RETURN);
delay(1000);
}
//6
if (sensor > 1013) {
Keyboard.press(KEY_LEFT_SHIFT);
Keyboard.press(KEY_LEFT_ALT);
delay(100);
Keyboard.releaseAll();
Keyboard.write(KEY_LEFT_ALT); delay(100);
Keyboard.print("u"); //г
Keyboard.print("a"); //ф
Keyboard.write(KEY_RIGHT_ARROW);
Keyboard.write(KEY_RIGHT_ARROW);
Keyboard.write(KEY_RIGHT_ARROW);
Keyboard.write(KEY_RETURN);
Keyboard.write(KEY_LEFT_ALT); delay(100);
Keyboard.print("u"); //г
Keyboard.print("p"); //з
Keyboard.print("a"); //ф
Keyboard.write(KEY_DOWN_ARROW);
Keyboard.write(KEY_RETURN);
Keyboard.write(KEY_LEFT_ALT); delay(100);
Keyboard.print("u"); //г
Keyboard.print("2"); //2
Keyboard.write(KEY_LEFT_ALT); delay(100);
Keyboard.print("u"); //г
Keyboard.print("w"); //ц
Keyboard.write(KEY_TAB);
Keyboard.write(KEY_TAB);
Keyboard.write(KEY_TAB);
Keyboard.write(KEY_TAB);
Keyboard.write(KEY_TAB);
Keyboard.write(KEY_TAB);
Keyboard.write(KEY_TAB);
Keyboard.print("0");
Keyboard.write(KEY_TAB);
Keyboard.print("0");
Keyboard.write(KEY_TAB);
Keyboard.print("0");
Keyboard.write(KEY_RETURN);
Keyboard.press(KEY_LEFT_SHIFT);
Keyboard.press(KEY_LEFT_ALT);
delay(100);
Keyboard.releaseAll();
delay(1000);
}
delay(1);
}
//Конец скетча