Подскажите как опросить клавиатуру?
- Войдите на сайт для отправки комментариев
Вс, 26/10/2014 - 22:11
Подскажите как опросить клавиатуру из 5 кнопок. Четыре кнопки - это код. Пятая результат.
Написал пока мало:
#include <Bounce.h> const int ledPin[] = {8,9,10,11,12}; const int errLed = 13; /*Кнопки*/ Bounce KH1 = Bounce(6, 1); Bounce KH2 = Bounce(5, 1); Bounce KH3 = Bounce(4, 1); Bounce KH4 = Bounce(3, 1); Bounce KH5 = Bounce(2, 1); const int OUT = 10; int KHT[5]; int TEMP[5]; boolean FKH1 = false; boolean FKH2 = false; boolean FKH3 = false; boolean FKH4 = false; boolean FKH5 = false; void setup() { pinMode(2, INPUT); pinMode(3, INPUT); pinMode(4, INPUT); pinMode(5, INPUT); pinMode(6, INPUT); for (int i=0; i<5; i++){ pinMode(ledPin[i], OUTPUT); digitalWrite(ledPin[i], LOW); } pinMode(errLed, OUTPUT); digitalWrite(errLed, LOW); Serial.begin(9600); } int btnState(){ if (KH1.update()) { //если произошло событие if (KH1.read()==0) { //если кнопка нажата return 1; } else return 0; } if (KH2.update()) { //если произошло событие if (KH2.read()==0) { //если кнопка нажата return 2; } else return 0; } if (KH3.update()) { //если произошло событие if (KH3.read()==0) { //если кнопка нажата return 3; } else return 0; } if (KH4.update()) { //если произошло событие if (KH4.read()==0) { //если кнопка нажата return 4; } else return 0; } if (KH5.update()) { //если произошло событие if (KH5.read()==0) { //если кнопка нажата return 5; } else return 0; } } void nLed(){ digitalWrite(ledPin[4], HIGH); delay(3000); digitalWrite(ledPin[4], LOW); for (int i=0; i<4; i++){ digitalWrite(ledPin[i], LOW); } } void loop() { do { } while (btnState() != 5 ); nLed(); }
Дальше не знаю как. Если кто знает, подскажите пожалуйста.
5 кнопок - я за решение резистивное одной ножкой
купите или найдите щиток LCDShield там все хорошо
http://chingachgook.net/arduino/podklyuchenie-lcd-keypad-shield-k-arduino.html
я бы себе просто купил и забыл массу проблем
я повторял просто на весу подпаяв резисторы
Это тоже не решает проблему. Это еще одно решение как подключить кнопки. Проблема что дальше делать? В моем коде уже есть опрос состояний кнопок, а вот как дальше я не могу дойти... Нужно ввести четырехзначный код, причем если два раза ошибся то блок на минуту, а пятой кнопкой результат.
Это только направление куда идти. Так слишком много нюансов, например дребезг кнопок...
О! Свежая мысль! Спасибо:) От дребезга кнопок избавила библиотека bounce.h