Суббота, 20.04.2024, 07:52
Приветствую Вас Гость | RSS
Главная | Каталог статей | Регистрация | Вход
Программирование микроконтоллеров
Форма входа
Меню сайта

Разделы
Сенсорная клавиатура на микроконтроллере avr [1]
Сенсорная клавиатура на микроконтроллере avr
Отладочная плата на tiny85 [1]

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0


  
Главная » Статьи » Устройства на микроконтроллерах » Сенсорная клавиатура на микроконтроллере avr

Сенсорная клавиатура на микроконтроллере avr

 

Всем привет. В одном из своих проектов на микроконтроллерах, мне понадобилось реализовать клавиатуру без использования тактовых кнопок. Устройство полностью должно было быть герметичным, безо всяких отверстий. Для реализации данной задачи и была разработана  сенсорная клавиатура. Данная клавиатура работает через пластик, стекло и другие материалы, не содержащих металл. Уверенное расстояние срабатывания составляет 4мм.  Данное устройство собранно на микроконтроллере avr. С применением микроконтроллера atmega16. Сенсорная клавиатура является полностью законченным устройством. Поскольку эта клавиатура, то для определения нажатой сенсорной кнопки предусмотрен протокол общения с другим микроконтроллером по USART. При нажатии любого сенсора, микроконтроллер передаст по USART код нажатой кнопки. Нажатие сопровождается звуковым сигналом и миганием светодиода. Это если нужно. При длительном без действии клавиатура блокируется.  Для более наглядного демонстрирования и возможностей посмотрите видео.

 Разберем некоторые моменты.

Указуется сколько задействовано сенсорных кнопок. Для примера 12

#define Koli_Sensorov  12      // количество сенсорных кнопок ( макс. 20)

Программа для микроконтроллера написана таким образом, что вам позволяет разместить сенсоры на любые порты микроконтроллера.  Так что вы сами создаете печатную плату с размещенными сенсорными площадками как вам удобно. В программе нужно указать, какие порты микроконтроллера выделены под сенсорные кнопки. Сенсорами является вытравленная площадка 10x10мм.

#define Sensor_1_PORTB  4  // первая сенсорная кнопка, 4 пин на PORTB

#define Kod_Sensora1    1     // в случае нажатия первой сенсорной кнопки код" 1" (макс. 255)  передан будет по  USART

#define Sensor_2_PORTB  7   

#define Kod_Sensora2    2

Порты микроконтроллера перенастроятся программой автоматически. Для калибровки клавиатуры относительно поверхности, нужно на печатной плате установить тактовую кнопку и соответственно прописать в программе. Прописать нужно светодиод и визир для звука, если применяется. 

#define Zvyk_PORTB 0           //для звука назначаем порт D, 5 ножка порта микроконтроллера

#define Indikasia_PORTB 1   //куда подключен светодиод ( порт D на 0 пине )

#define Kalibrovka_PORTB 2 //кнопка для калибровки клавиатуры ( PORTC на 0 пине )

Назначаем сенсорную кнопку для снятия блокировки клавиатуры

#define Knopka_Blok  Sensor_1_PORTB    //снятие блока назначьте любую действующую кнопку

Код сенсорной клавиатуры полностью открыт, для самостоятельного изучения. Думаю сложностей для реализации сенсорной клавиотуры не должно возникнуть. Среда разработки Atmel Studio, язык си.

 

Питание                        :  +5V

Микроконтроллер       : Atmega16

Частота                        : 16Мгц.

Макс. сенсоров            : 20шт.

Настройка USART      : 9600бит, 1 стоп бит, 8 бит размер слова.

 

 

Собранное устройство.

 

Программа для микроконтроллера http://atmel-programme.clan.su/Sensor...
PDF по сборке – http://dfiles.ru/files/gdwoi7st1 для покупной платы.
 

Категория: Сенсорная клавиатура на микроконтроллере avr | Добавил: микроконтроллеры (27.02.2015)
Просмотров: 3457 | Комментарии: 7 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:

Copyright MyCorp © 2024
Конструктор сайтов - uCozЯндекс.Метрика