I denne opplæringen skal vi grensesnitt et 4x2 (8-tasters) berøringspanel med ATMEGA32A mikrokontroller. Vi vet alle at tastaturet er en av de viktigste inngangsenhetene som brukes i elektronikkingeniør. Denne modulen har ikke egentlige nøkler, men har spesialdesignede kapasitive metallputer, og disse elektrodene er veldig følsomme. Så når en person kommer i kontakt med en av putene, vil det bli en kapasitiv endring i den tilsvarende sløyfen, og denne endringen vil bli registrert av kontrollelektronikken i modulen. Som svar på berøringen blir den korresponderende puteutgangspinnen høy.
For en åtte-tastaturpute vil vi ha åtte utganger. Selv om det er andre funksjoner med denne modulen, skal vi ikke diskutere dem her.
Komponenter kreves
Maskinvare: ATMEGA32 mikrokontroller, strømforsyning (5v), AVR-ISP PROGRAMMER, JHD_162ALCD (16x2LCD), 100uF kondensator, 100nF kondensator, 1KΩ motstand (2 deler), Touch tastaturmodul.
Programvare: Atmel studio 6.1 eller Atmel studio 6.2, progisp eller flash magi.
Kretsdiagram og arbeidsforklaring
I kretsen er PORTB på ATMEGA32 koblet til dataport LCD. Her bør man huske å deaktivere JTAG-kommunikasjonen i PORTC til ATMEGA ved å endre sikringsbyte, hvis man ønsker å bruke PORTC som en vanlig kommunikasjonsport. I 16x2 LCD er det 16 pinner overalt hvis det er baklys, hvis det ikke er noe bakgrunnslys, vil det være 14 pinner. Man kan drive eller la baklysetappene ligge. Nå i de 14 pinnene er det 8 datapinner (7-14 eller D0-D7), 2 strømforsyningspinner (1 & 2 eller VSS & VDD eller GND & + 5V), 3. pinne for kontrastkontroll (VEE-styrer hvor tykke tegnene skal være vist), og 3 kontrollpinner (RS & RW & E)
I kretsen kan du observere at jeg bare har tatt to kontrollpinner, dette gir fleksibiliteten til bedre forståelse, kontrastbiten og LES / SKRIV brukes ikke ofte slik at de kan kortsluttes til bakken. Dette setter LCD i høyest kontrast og lesemodus. Vi trenger bare å kontrollere ENABLE- og RS-pinner for å sende tegn og data tilsvarende.
Tilkoblingene som gjøres for LCD er gitt nedenfor:
PIN1 eller VSS til bakken
PIN2 eller VDD eller VCC til + 5v strøm
PIN3 eller VEE til jord (gir maksimal kontrast best for en nybegynner)
PIN4 eller RS (Register Selection) til PD6 i uC
PIN5 eller RW (lese / skrive) til bakken (setter LCD i lesemodus letter kommunikasjonen for brukeren)
PIN6 eller E (Aktiver) til PD5 på uC
PIN7 eller D0 til PB0 av uC
PIN8 eller D1 til PB1 av uC
PIN9 eller D2 til PB2 av uC
PIN10 eller D3 til PB3 av uC
PIN11 eller D4 til PB4 i uC
PIN12 eller D5 til PB5 av uC
PIN13 eller D6 til PB6 av uC
PIN14 eller D7 til PB7 i uC
I kretsen kan du se at vi har brukt 8bit kommunikasjon (D0-D7) men dette er ikke obligatorisk, vi kan bruke 4bit kommunikasjon (D4-D7), men med 4 bit kommunikasjonsprogram blir det litt komplisert.
Så ved å observere tabellen ovenfor kobler vi 10 pins LCD til kontrolleren der 8 pins er datapinner og 2 pins for kontroll.
Før du går videre, er det viktig å vite at den kapasitive modulen fungerer for en spenning på 2,5V. Og også strømmen tegnet av berøringsmodulen er ikke høy. Så for å få 2,5V for modulen fra 5V, skal vi bruke spenningsdelerkrets.
Spenningsdelerkretsen tidligere av motstander er vist i figuren nedenfor.
Nå gir spenningsdelerkretsen lave spenninger for moduler og andre referanser. Som vist i figuren er utgangsspenningen i midtpunktet et forhold mellom motstander. Så for å få 2.5v fra 5V skal vi bruke R1 = R2 = 1KΩ, så for en forsyningsspenning på 5V vil midtpunktsspenningen være 2,5V i forhold til bakken. Denne spenningen fra delerkretsen er koblet til modulen. En kondensator er koblet over den for å filtrere overtoner, som vist i kretsskjemaet.
Utgangsporten til berøringsmodulen er koblet til atmega-kontrolleren, så når en pute berøres, blir den tilsvarende pinutgangen høy. Denne logiske endringen registreres av kontrolleren. Kontrolleren viser sifferet på LCD-skjermen basert på pinnen, som går høyt.
Som en sikkerhet kan man trekke ned alle utgangene til modulen til jord gjennom 10K motstander, selv om det ikke er obligatorisk.
Arbeid med TOUCH KEAYPAD INTERFACE forklares best trinn for trinn av C-koden gitt nedenfor.