Keypad для Osu! с Arduino pro micro 32U4
- Войдите на сайт для отправки комментариев
Пт, 12/02/2016 - 21:30
Собираю 4-х кнопочную клаву для игры в осу, думаю использовать микроконтроллер pro micro . Не будет ли проблем с использованием функций keyboard.write для игры , где требуется много нажатий , в короткий промежуток времени ?
Спасибо за ответы
Ну возьми да попробуй.
Собираю 4-х кнопочную клаву для игры в осу, думаю использовать микроконтроллер pro micro . Не будет ли проблем с использованием функций keyboard.write для игры , где требуется много нажатий , в короткий промежуток времени ?
А в чем вообще проблема то?
Я могу понять использование библы для считки ТМ/РФид-ключей, работы с дисплеем (ЛЕД-ЖК), сложными протоколами датчиков или управление кучей моторов, или клава на 60-80 кнопок.
НО! ЧЕТЫРЕ кнопки тупо вешаются на 4 ПИНа с подтяжкой на плюс и замыканием на минус, и их чтение. Ну 4 конденсатора на антидребезг. Мне нужно было подключить матрицу 4*3 кнопок
#define pinKBx1 6 // 1 столбец кнопок #define pinKBx2 7 // 2 столбец кнопок #define pinKBx3 8 // 3 столбец кнопок #define pinKBy1 14 // 1 строка кнопок #define pinKBy2 15 // 2 строка кнопок #define pinKBy3 16 // 3 строка кнопок #define pinKBy4 17 // 4 строка кнопок // x1 x2 x3 //y1 1 2 3 //y2 4 5 6 //y3 7 8 9 //y4 A B C /******************************/ byte KBDread()//опрос клавиатуры { byte KBread=0; for (byte KBx=0;KBx<3;KBx++)//цикл по столбцам { for (byte KBy=0;KBy<4;KBy++)//цикл по строкам { digitalWrite(pinKBy1+KBy, LOW);// 0 на столбец if (!digitalRead(pinKBx1+KBx))//читаем строку { KBread=KBy*3+KBx+1;//если 0 определяем кнопку } digitalWrite(pinKBy1+KBy, HIGH);//1 на столбец } } return KBread;//возвращаем 0 или номер кнопки 1-12 }