I denne vejledning skal vi interface et 4x2 (8 nøgle) touch-tastatur med ATMEGA32A mikrocontroller. Vi ved alle, at tastaturet er en af de vigtigste inputenheder, der bruges inden for elektronik. Dette modul har ikke egentlige nøgler, men har specialdesignede kapacitive metalpuder, og disse pads er meget følsomme. Så når en person kommer i kontakt med en af elektroderne, vil der være en kapacitiv ændring i den tilsvarende sløjfe, og denne ændring vil blive registreret af kontrolelektronikken i modulet. Som et svar på berøringen bliver den tilsvarende udgangsstift til puden høj.
For en otte-tastaturplade har vi otte udgange. Selvom der er andre funktioner i dette modul, vil vi ikke diskutere dem her.
Komponenter, der kræves
Hardware: ATMEGA32 mikrokontroller, strømforsyning (5v), AVR-ISP PROGRAMMER, JHD_162ALCD (16x2LCD), 100uF kondensator, 100nF kondensator, 1KΩ modstand (2 stk.), Touch tastaturmodul.
Software: Atmel studio 6.1 eller Atmel studio 6.2, progisp eller flash-magi.
Kredsløbsdiagram og arbejdsforklaring
I kredsløb er PORTB på ATMEGA32 forbundet til dataport LCD. Her skal man huske at deaktivere JTAG-kommunikationen i PORTC til ATMEGA ved at ændre sikringsbyte, hvis man ønsker at bruge PORTC som en normal kommunikationsport. I 16x2 LCD er der overalt 16 ben, hvis der er baggrundslys, hvis der ikke er baggrundslys, vil der være 14 ben. Man kan tænde eller lade bagbelysningsstifterne stå. Nu i de 14 stifter er der 8 data stifter (7-14 eller D0-D7), 2 Strømforsyning stifter (1 & 2 eller VSS & VDD eller gnd & + 5V), 3 rd pin for kontraststyring (VEE-styringer, hvor tyk tegnene bør være vist) og 3 kontrolben (RS & RW & E)
I kredsløbet kan du bemærke, at jeg kun har taget to kontrolpinde, dette giver fleksibiliteten ved bedre forståelse, kontrastbiten og LÆS / SKRIV bruges ikke ofte, så de kan kortsluttes til jorden. Dette sætter LCD i højeste kontrast og læsetilstand. Vi skal bare kontrollere ENABLE og RS-ben for at sende tegn og data i overensstemmelse hermed.
Forbindelserne, der foretages for LCD, er angivet nedenfor:
PIN1 eller VSS til jord
PIN2 eller VDD eller VCC til + 5v strøm
PIN3 eller VEE til jorden (giver maksimal kontrast bedst for en nybegynder)
PIN4 eller RS (Registrer valg) til PD6 i uC
PIN5 eller RW (læse / skrive) til jorden (sætter LCD i læsefunktion letter kommunikationen for brugeren)
PIN6 eller E (Aktivér) til PD5 i uC
PIN7 eller D0 til PB0 i uC
PIN8 eller D1 til PB1 i uC
PIN9 eller D2 til PB2 i uC
PIN10 eller D3 til PB3 af uC
PIN11 eller D4 til PB4 i uC
PIN12 eller D5 til PB5 af uC
PIN13 eller D6 til PB6 i uC
PIN14 eller D7 til PB7 i uC
I kredsløbet kan du se, at vi har brugt 8bit kommunikation (D0-D7), men dette er ikke obligatorisk, vi kan bruge 4bit kommunikation (D4-D7), men med 4 bit kommunikationsprogram bliver lidt komplekst.
Så ved at observere ovenstående tabel forbinder vi 10 ben på LCD til controller, hvor 8 ben er datapinde og 2 ben til kontrol.
Inden vi går videre, er det vigtigt at vide, at det kapacitive modul fungerer til en spænding på 2,5 V. Og også strømmen trukket af berøringsmodulet er ikke høj. Så for at få 2,5V til modulet fra 5V skal vi bruge spændingsdelerkredsløb.
Spændingsdelerkredsen, der er dannet af modstande, er vist i nedenstående figur.
Nu giver spændingsdelerkredsløbet lave spændinger til moduler og andre referencer. Som vist i figuren er udgangsspændingen ved midtpunktet et forhold mellem modstande. Så for at få 2.5v fra 5V skal vi bruge R1 = R2 = 1KΩ, så for en forsyningsspænding på 5V vil midtpunktsspændingen være 2,5V i forhold til jorden. Denne spænding fra delerkredsen er forbundet til modulet. En kondensator er forbundet over den til filtrering af de harmoniske, som vist i kredsløbsdiagrammet.
Udgangsporten på berøringsmodulet er tilsluttet atmega-controlleren, så når en pude berøres, bliver den tilsvarende pinudgang høj. Denne logiske ændring registreres af controlleren. Controlleren viser cifret på LCD'en baseret på stiften, som går højt.
Af sikkerhedshensyn kan man trække alle modulets outputstifter ned til jorden gennem 10K modstande, selvom det ikke er obligatorisk.
Arbejdet med TOUCH KEAYPAD INTERFACE forklares bedst trin for trin af C-koden nedenfor.