У цьому підручнику ми збираємось взаємодіяти сенсорну клавіатуру 4x2 (8 клавіш) з мікроконтролером ATMEGA32A. Ми всі знаємо, що клавіатура - це один з найважливіших пристроїв введення, що використовується в електроніці. Цей модуль не має власних ключів, але має спеціально розроблені ємнісні металеві прокладки, і ці прокладки дуже чутливі. Отже, коли людина контактує з одним з майданчиків, відбудеться ємнісна зміна у відповідному контурі, і ця зміна буде відчуватися електронною системою управління в модулі. Як відповідь на дотик відповідний вихідний штифт колодки піднімається високо.
Для восьми клавіш сенсорної панелі у нас буде вісім виходів. Хоча у цього модуля є й інші функції, ми не збираємось їх обговорювати тут.
Потрібні компоненти
Апаратне забезпечення: мікроконтролер ATMEGA32, блок живлення (5 в), AVR-ISP PROGRAMMER, JHD_162ALCD (16x2LCD), конденсатор 100 мкФ, конденсатор 100 нФ, резистор 1 кОм (2 штуки), модуль сенсорної клавіатури.
Програмне забезпечення: Atmel studio 6.1 або Atmel studio 6.2, прогісп або флеш-магія.
Принципова схема та робоче пояснення
У схемі PORTB ATMEGA32 підключений до РК-порту даних. Тут слід пам’ятати про те, щоб вимкнути зв'язок JTAG у PORTC на ATMEGA, змінивши байти запобіжників, якщо потрібно використовувати PORTC як звичайний порт зв'язку. У РК-дисплеї 16x2 є 16 штифтів, якщо є підсвічування, якщо немає підсвічування, буде 14 штифтів. Можна підключити або залишити шпильки підсвічування. Тепер у 14 висновках є 8 висновків даних (7-14 або D0-D7), 2 висновки джерела живлення (1 & 2 або VSS & VDD або gnd & + 5v), 3- й висновок для контролю контрасту (VEE-контролює, наскільки товстими повинні бути символи показано) та 3 керуючі штифти (RS & RW & E)
У схемі ви можете помітити, що я взяв лише два керуючі штифти, це дає гнучкість для кращого розуміння, біт контрасту та READ / WRITE не часто використовуються, тому їх можна замикати на землю. Це дає РК-дисплею найвищий контраст і режим читання. Нам просто потрібно контролювати ENABLE та RS-шпильки, щоб відповідно надсилати символи та дані.
Підключення, які виконуються для РК-дисплея, наведені нижче:
PIN1 або VSS на землю
PIN2 або VDD або VCC до + 5 В потужності
PIN3 або VEE на землю (забезпечує максимальний контраст найкращий для початківця)
PIN4 або RS (реєстрація вибору) до PD6 uC
PIN5 або RW (читання / запис) на землю (переведення РК в режим читання полегшує зв'язок для користувача)
PIN6 або E (увімкнути) для PD5 uC
PIN7 або D0 до PB0 uC
PIN8 або D1 до PB1 uC
PIN9 або D2 до PB2 uC
PIN10 або D3 до PB3 uC
PIN11 або D4 до PB4 uC
PIN12 або D5 до PB5 uC
PIN13 або D6 до PB6 uC
PIN14 або D7 до PB7 uC
У схемі ви можете бачити, що ми використовували 8-бітовий зв'язок (D0-D7), однак це не є обов'язковим, ми можемо використовувати 4-бітний зв'язок (D4-D7), але з 4-бітовою програмою зв'язку стає трохи складніше.
Отже, спостерігаючи за наведеною таблицею, ми підключаємо 10 висновків РК-дисплея до контролера, в якому 8 висновків - це виводи даних і 2 висновки для управління.
Перш ніж йти далі, важливо знати, що ємнісний модуль працює на напругу 2,5 В. А також сила струму, що набирається сенсорним модулем, не висока. Отже, для отримання 2,5 В для модуля від 5 В ми будемо використовувати схему дільника напруги.
Схема дільника напруги, що формується резисторами, показана на малюнку нижче.
Тепер схема дільника напруги забезпечує низьку напругу для модулів та інших посилань. Як показано на малюнку, вихідна напруга в середній точці є відношенням опорів. Отже, для отримання 2,5 В від 5 В ми будемо використовувати R1 = R2 = 1 КОм, отже, для напруги живлення 5 В середня напруга буде 2,5 В щодо землі. Ця напруга з дільникової схеми підключена до модуля. Через нього підключений конденсатор для фільтрації гармонік, як показано на схемі.
Вихідний порт сенсорного модуля підключений до контролера atmega, тому щоразу, коли торкається клавіатури, відповідний вихід виводу піднімається високо. Ця логічна зміна сприймається контролером. Контролер показує цифру на РК-дисплеї на основі штифта, який піднімається високо.
З міркувань безпеки можна витягнути всі вихідні висновки модуля на землю через резистори 10K, хоча це не є обов'язковим.
Робота ІНТЕРФЕЙСУ TOUCH KEAYPAD найкраще пояснюється поетапно, наведеним нижче кодом C.