| Ваш IP: 18.207.102.38 | Online(20) - гости: 14, боты: 6 | Загрузка сервера: 1.85 ::::::::::::

Матричная клавиатура 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 и содержит датчик (зонды) выполненный в виде двух медных оголенных проводов. Расстояние между контактами датчика не должно превышать 10 мм. Применение сигнализатора жидкости разнообразное — датчик уровня воды, датчик наполнения емкости, индикатор утечки воды и др. Схема работает от любого источника питания с …Подробнее...
  • Музыкальный звонок на УМС-7

    На рисунке изображена схема звонка основанного на микросхеме — музыкального синтезатора УМС-7 и при нажатии на кнопку SK1 вырабатывает законченный фрагмент музыкального произведения. Литература — Радиоконструктор 1999-11 Автор: Каравкин В.Подробнее...
  • Блоки переключателей

    На рисунке представлена схема блока переключателей с взаимным выключением. При нажатии на кнопку SB1 на выходах 2и 3 появится лог. единица, а на выходе 1 появится логический ноль. И соответственно при нажатии SB2 или SB3 на аналогичном выходе появится лог. ноль. Переключение сигналов происходит без дребезга. При одновременном нажатии 2-х …Подробнее...
  • Радиомикрофон с питанием от КРОНЫ

    На рисунке показана схема радиомикрофона которая питается от напряжения 9 В. Радиомикрофон обладает большой чувствительностью и способен воспринимать не громкую речь на значительном расстоянии, это достигнуто благодаря применению однокаскадного усилителя ЗЧ. Радиомикрофон работает в диапазоне УКВ ЧМ 64-75МГц или 88-108 МГц. Монтаж выполнен объемным способом, в качестве источника питания используется …Подробнее...
  • ADM8828/ADM8829 — инверторы напряжения

    ADM8828/ADM8829 — инверторы напряжения

    ИМС ADM8828 / ADM8829 предназначены для построения инвертора постоянного напряжения с минимальным количеством навесных компонентов. Входное напряжение может быть в пределах от +1,5 до 5,5 В, выходное отрицательное от -1,5 до -5 В. Выходной ток инвертора 25 мА, КПД достигает 99%. В ИМС ADM8828 имеется режим отключения (перевод в режим с …Подробнее...