Официальный сайт компании Arduino по адресу arduino.cc
Вот схема, из нее только 4х4 по младшим разрядам:
#include <SPI.h> enum { REG_LATCH_IN = 8 }; enum { REG_LATCH_OUT = 9 }; void setup() { Serial.begin(9600); SPI.begin(); pinMode(REG_LATCH_IN, OUTPUT); digitalWrite(REG_LATCH_IN, HIGH); pinMode(REG_LATCH_OUT, OUTPUT); digitalWrite(REG_LATCH_OUT, HIGH); } void loop() { digitalWrite(REG_LATCH_OUT, LOW); SPI.transfer(0); digitalWrite(REG_LATCH_OUT, HIGH); digitalWrite(REG_LATCH_IN, LOW); digitalWrite(REG_LATCH_IN, HIGH); int states = SPI.transfer(0); Serial.print("Button-"); Serial.println(states); // шлём номер кнопки delay(100); }
Как то срабатывает она через раз.
Сейчас перебора по колонкам нет, сразу вывожу ноль на все разряды и пытаюсь давить на кнопки.
Если не нажато то кажет 15, ну и при нажатых 7, 11, 13, 14.
Вот только время от времени "дурит", кажет ноль или вообще не срабатыает.
Что можно улучшить?
А может кто подсказать решение? Тоже такую схему делаю. Из старого телефона с qwerty клавиатурой.
из attiny85 и регистры сдвига 74HC595 и 74HC165
Изучаю схемотехнику.
Как то срабатывает она через раз.
Сейчас перебора по колонкам нет, сразу вывожу ноль на все разряды и пытаюсь давить на кнопки.
Если не нажато то кажет 15, ну и при нажатых 7, 11, 13, 14.
Вот только время от времени "дурит", кажет ноль или вообще не срабатыает.
Что можно улучшить?
А может кто подсказать решение? Тоже такую схему делаю. Из старого телефона с qwerty клавиатурой.
из attiny85 и регистры сдвига 74HC595 и 74HC165
Изучаю схемотехнику.