FLProg
Вход на сайт
Логин:
Пароль:
Категории раздела
Документация [18]
Блоки пользователей [162]
Цветовые темы [0]
Цветовые темы для программы FLProg предоставленные пользователями
Архив версий программы [188]
Поиск
...
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Четверг, 21.06.2018, 01:51
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Внимание всем пользователям программы FLProg! В течении ближайших двух дней будет осуществляться переход на новую платформу
Чтобы продолжить общение на форуме вы можете перейти сюда
Сообщения оставленные на старом форуме будут утеряны безвозвратно
Приятного Вам Нового года и до встречи в новом 2018 году
С уважением Администрация flprog.ru
Каталог файлов
Главная » Файлы » Блоки пользователей

Блок 5-и кнопочной клавиатуры от LCD Keyboard Shild на С++
[ · Скачать удаленно (5,58 КБ) ] 20.06.2017, 21:27
Блок чтения нажатых кнопок с LCD Keyboard Shield на С++, для ардуино
Проверена работа на Arduino Mega

Вход En - отвечает за включение блока в целом.
Вход InKey_port указывает номер аналогового порта Arduino, на который подключена кнопка.

6 логических выходов:
Select, Up, Down, Left, Right - отвечающих за нажатие конкретной клавиши на клавиатуре.
KeyPressed - отлавливает сам факт нажатия любой клавиши или не нажатия никакой.

1(True) - нажата
0(False) - отпущена

присутствует защита от дребезга в 40 ms

Код
Declare section:
Int In;

Loop section:

if ( En ){
Key_Pressed=0;
Key_Up=0;
Key_Down=0;
Key_Left=0;
Key_Right=0;
Key_Select=0;
In = analogRead( InKey_port );
if (In > 829) {
} else {
  delay(40);
  In = analogRead( InKey_port );
  if (In < 51){
  Key_Right=1;
  } else if (In < 173) {
  Key_Up=1;
  } else if (In < 327) {
  Key_Down=1;
  } else if (In < 522) {
  Key_Left=1;
  } else if (In < 829) {
  Key_Select=1;
  }  
  Key_Pressed=1;  
}
}
Категория: Блоки пользователей | Добавил: RedX
Просмотров: 1334 | Загрузок: 466 | Комментарии: 6 | Рейтинг: 5.0/2
Всего комментариев: 6
avatar
0
1
добавил скрин блока
исправил код
теперь работает исправно
avatar
0
2
Сцилка не работает.
avatar
0
3
исправил ссылку
теперь все работает
avatar
0
4
Эх, если бы Вы добавили этот блок на месяцок пораньше, не пришлось бы столько времени ломать голову. А то было так, шилд есть, а прикрутить его проблема.
Но есть в этом и плюс. Пришлось въехать в основы и многое понять. smile 

Есть предложение сделать полноценный блок для LCD Keyboard Shild.
Там кроме кнопок есть к примеру управление яркостью (не контрастностью) на ШИМ через 10 пин
avatar
0
5
подскажите неучу, на примере строки, как и куда вписать порт подключения блока
avatar
0
6
Чтобы указать номер порта, просто укажите на входе InKey_port константу с номером порта ардуины.
avatar
FLProg © 2018
uCozЯндекс.Метрика