В този урок ще свържем 4х2 (8 клавиша) сензорна клавиатура с микроконтролер ATMEGA32A. Всички знаем, че клавиатурата е едно от най-важните входни устройства, използвани в електрониката. Този модул няма действителни ключове, но има специално проектирани капацитивни метални подложки и тези подложки са много чувствителни. Така че, когато човек влезе в контакт с една от подложките, ще има капацитивна промяна в съответния контур и тази промяна ще бъде усетена от контролния електроник в модула. Като отговор на допира съответният изходен щифт на подложката се издига високо.
За осем клавишни тъчпада ще имаме осем изхода. Въпреки че има други функции с този модул, няма да ги обсъждаме тук.
Необходими компоненти
Хардуер: ATMEGA32 микроконтролер, захранване (5v), AVR-ISP ПРОГРАММЕР, JHD_162ALCD (16x2LCD), кондензатор 100uF, кондензатор 100nF, резистор 1KΩ (2 броя), модул сензорна клавиатура.
Софтуер: Atmel studio 6.1 или Atmel studio 6.2, progisp или flash magic.
Електрическа схема и работно обяснение
Във веригата PORTB на ATMEGA32 е свързан към порта за данни LCD. Тук трябва да запомните да деактивирате комуникацията JTAG в PORTC на ATMEGA, като промените байтовете на предпазителите, ако искате да използвате PORTC като нормален комуникационен порт. В 16x2 LCD има 16 щифта, ако има задно осветление, ако няма задно осветление, ще има 14 извода. Човек може да захранва или да оставя щифтове за задно осветяване. Сега в 14-те извода има 8 извода за данни (7-14 или D0-D7), 2 извода за захранване (1 & 2 или VSS & VDD или gnd & + 5v), 3 -ти извод за контрол на контраста (VEE - контролира колко дебели трябва да бъдат символите показани) и 3 контролни щифта (RS & RW & E)
Във веригата можете да забележите, че съм взел само два контролни щифта, това дава гъвкавост за по-добро разбиране, контрастният бит и READ / WRITE не се използват често, така че могат да бъдат късо заземени. Това поставя LCD в най-висок контраст и режим на четене. Просто трябва да контролираме ENABLE и RS щифтовете, за да изпращаме символи и данни по съответния начин.
Връзките, които се правят за LCD са дадени по-долу:
PIN1 или VSS към земята
PIN2 или VDD или VCC до + 5v мощност
PIN3 или VEE към земята (дава максимален контраст най-добър за начинаещи)
PIN4 или RS (Регистрация за избор) към PD6 на uC
PIN5 или RW (четене / запис) към земята (поставя LCD в режим на четене, улеснява комуникацията за потребителя)
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 щифта LCD към контролер, в който 8 щифта са щифтове за данни и 2 щифта за управление.
Преди да продължите напред, важно е да знаете, че капацитивният модул работи за напрежение 2.5V. И също така токът, изтеглен от сензорния модул, не е голям. Така че за получаване на 2.5V за модула от 5V ще използваме верига на делителя на напрежението.
Схемата на делителя на напрежението, образувана от резистори, е показана на фигурата по-долу.
Сега веригата на делителя на напрежението осигурява ниско напрежение за модули и други референции. Както е показано на фигурата, изходното напрежение в средната точка е съотношение на съпротивленията. Така че за получаване на 2.5v от 5V ще използваме R1 = R2 = 1KΩ, така че за захранващо напрежение от 5V средното напрежение ще бъде 2.5V по отношение на земята. Това напрежение от разделителната верига е свързано към модула. Към него е свързан кондензатор за филтриране на хармониците, както е показано на схемата.
Изходният порт на сензорния модул е свързан към контролера atmega, така че когато се докосне подложка, съответният изход на пина се издига високо. Тази логическа промяна се усеща от контролера. Контролерът показва цифрата на LCD на базата на щифта, който отива високо.
От гледна точка на сигурността, можете да издърпате всички изходни щифтове на модула към земята чрез 10K резистори, въпреки че това не е задължително.
Работата на TOUCH KEAYPAD INTERFACE е най-добре обяснена в стъпка по стъпка от C кода, даден по-долу.