| Ваш IP: 3.236.132.132 | Online(36) - гости: 25, боты: 11 | Загрузка сервера: 0.56 ::::::::::::


Матричная клавиатура 4×3 кнопки (Arduino)

Гибкая матричная клавиатура 4 на 3 кнопки используется в проектах на базе Arduino для реализации функции ввода информации. На плате матричной клавиатуры находится 12 кнопок, которые расположены в матрице 4х3 по схеме показанной на рисунке.

Принцип работы матричной клавиатуры очень прост, попеременно подается сигнал низкого уровня на один из контактов 1 — 4. Если кнопка нажата, то по наличию сигнала низкого уровня на контактах 5 — 7 определяем нажатую кнопку из ряда 1 — 4.

В среде Arduino для управления работой матричной клавиатуры можно использовать библиотеку iarduino_KB, которая значительно упрощает работу с клавиатурой.

Ниже показан пример скетча который выводит в монитор порта значения нажатых кнопок клавиатуры, при этом вместо символов «*» и «#» выводятся значения 14 и 15.

#include <iarduino_KB.h>  // https://github.com/tremaru/iarduino_KB.git
 
 iarduino_KB KB(8,7,6,5,4,3,2); /// 8765 432
 
void setup(){
  Serial.begin(9600);
  KB.begin(KB3);         
  }
 
void loop(){
   if(KB.check(KEY_DOWN )){Serial.println(KB.getNum);}
   delay(200);
}//loop

Фактически библиотека поддерживает различные форматы клавиатур:

эластичная 4х4, тип KB1
кнопочная 4х4, тип KB2
эластичная 3х4, тип KB3
эластичная 1х4, тип KB4

Тип клавиатуры указывается в функции KB.begin(тип)

Следующий пример скетча позволяет выводить в монитор порта введенное несколькими кнопками число (максимум четырехзначное). Символ «#» обнуляет число, а символ «*» выводит полученное число.

Как видно на скриншоте, нажимаем кнопку 5, затем 8, далее нажимает кнопку * (код 15) и в монитор порта выводится число 58. Само число передано в переменную int ccc для дальнейшего использования.

#include <iarduino_KB.h>  // https://github.com/tremaru/iarduino_KB.git
 
 iarduino_KB KB(8,7,6,5,4,3,2); /// 8765 432
 
 int code[5],ccc,i;
 
void setup(){
  Serial.begin(9600);
  KB.begin(KB3);         
  }
 
void loop(){
   if(KB.check(KEY_DOWN )){
 
     Serial.println(KB.getNum);
 
     code[i] = KB.getNum; 
 
     if(KB.getNum==15){i=-1;ccc=0;code[0]=0;code[1]=0;code[2]=0;code[3]=0;} // # стереть число
 
     if(KB.getNum==14){Serial.println(ccc);i=-1;code[0]=0;code[1]=0;code[2]=0;code[3]=0;} // * вывести число в монитор порта
 
     if(KB.getNum<10&&i<4){
   switch(i){
     case 0: ccc = code[0];break;
     case 1: ccc = code[0]*10 + code[1];break;
     case 2: ccc = code[0]*100 + code[1]*10 + code[2];break;
     case 3: ccc = code[0]*1000 + code[1]*100 + code[2]*10 + code[3];break;
    }}
 
    i++; if(i>3){i=4;}delay(200); 
   }
}//loop

 

Добавить комментарий

Войти с помощью: 

Случайные статьи

  • Удвоитель напряжения на микросхеме NE555

    Описание. Схема простейшего удвоителя напряжения использованием микросхемы NE555 показана на рисунке. Здесь IC NE555 подключен в схеме как нестабильный мультивибратор с частотой генерации около 9KHz. Базы двух транзисторов (Q1 и Q2) подключены напрямую к выходу мультивибратора (контакт 3). При выходе сигнала из мультивибратора в первый момент Q1 будет OFF и …Подробнее...
  • Преобразователь =12В\ 220В

    Преобразователь =12В\ 220В

    Схема преобразователя состоит из 3-х узлов: задающего мультивибратора, двухтактного транзисторного ключевого усилителя и повышающего трансформатора. Мультивибратор выполнен на микросхеме D1(D1.1  D1.2). Его частота зависит от R1 C1. На выходе мультивибратора включен инвертор на D1.4 который создает противофазные сигналы поступающие на базы VT1 VT2. Затем следует двухтактный усилитель на VT3 VT4 …Подробнее...
  • Термопары

    Термопары

    Термопара (термоэлектрический преобразователь) — устройство, применяемое для измерения температуры в промышленности, научных исследованиях, медицине, в системах автоматики. Принцип действия основан на эффекте Зеебека или, иначе, термоэлектрическом эффекте. Между соединёнными проводниками имеется контактная разность потенциалов; если стыки связанных в кольцо проводников находятся при одинаковой температуре, сумма таких разностей потенциалов равна нулю. …Подробнее...
  • TDA7499 — УМЗЧ 2х6 Вт

    TDA7499 — УМЗЧ 2х6 Вт

    TDA7499 — усилитель мощности звуковой частоты (класс АВ), с выходной мощность 6 Вт на канал (стерео). Усилитель относиться к классу Hi-Fi аппаратуры. В усилителе имеются функции STANDBY и MUTE, беззвучное включение и выключение (отсутствие щелчков), защита выхода от КЗ на землю, тепловая защита и защита от перегрузки. ИМС TDA7499 может …Подробнее...
  • Логический пробник для ТТЛ и ТТЛШ

    Схема отличается высокой точностью и возможностью контроля логических уровней «1» и «0», К3 и «Не определено». При неподключенном входе пробника светится светодиод «Не определено». Резисторы R1.R4 желательно применить с допуском 1%. ОУ любые, со своими частотными коррекциями, важно только, чтобы выходной ток был не менее 15 мА и Rвх не …Подробнее...