Tässä opetusohjelmassa aiomme liittää 4x2 (8 näppäintä) kosketusnäppäimistön ATMEGA32A-mikrokontrolleriin. Me kaikki tiedämme, että näppäimistö on yksi tärkeimmistä elektroniikkateollisuudessa käytetyistä syöttölaitteista. Tässä moduulissa ei ole varsinaisia avaimia, mutta siinä on erityisesti suunnitellut kapasitiiviset metallityynyt, ja nämä tyynyt ovat erittäin herkkiä. Joten kun henkilö joutuu kosketuksiin jonkin tyynyn kanssa, kapasitiivinen muutos tapahtuu vastaavassa silmukassa, ja moduulin ohjauselektroniikka havaitsee tämän muutoksen. Vastauksena kosketukseen vastaava tyynyn ulostulotappi menee korkealle.
Kahdeksan näppäimen kosketuslevyä varten meillä on kahdeksan lähtöä. Vaikka tässä moduulissa on muita ominaisuuksia, emme aio keskustella niistä täällä.
Tarvittavat komponentit
Laitteisto: ATMEGA32-mikrokontrolleri, virtalähde (5v), AVR-ISP-OHJELMOINTI, JHD_162ALCD (16x2LCD), 100uF kondensaattori, 100nF kondensaattori, 1KΩ vastus (2 kpl), Kosketusnäppäimistömoduuli.
Ohjelmisto: Atmel studio 6.1 tai Atmel studio 6.2, progisp tai flash magic.
Piirikaavio ja selitys työstä
Piirissä ATMEGA32: n PORTB on kytketty dataportin LCD-näyttöön. Tässä on syytä muistaa poistaa JTAG-tiedonsiirto PORTC: sta ATMEGA: ksi vaihtamalla sulaketavuja, jos halutaan käyttää PORTC: ta normaalina tiedonsiirtoporttina. 16x2 LCD -näytössä on kaikkiaan 16 nastaa, jos taustavaloa on, jos taustavaloa ei ole, on 14 nastaa. Voidaan kytkeä päälle tai jättää taustavalon nastat. Nyt 14 nastat on 8 data nastat (7-14 tai D0-D7), 2 virtalähde nastat (1 & 2 tai VSS ja VDD tai GND ja + 5V), 3 rd pin kontrastin säätö (VEE-ohjaimet kuinka paksu merkkien pitäisi olla kuvassa) ja 3 ohjaintappia (RS & RW & E)
Piirissä voit havaita, että olen ottanut vain kaksi ohjaintappia, mikä antaa joustavuutta ymmärryksen parantamiseen, kontrastibittiä ja READ / WRITE: tä ei käytetä usein, jotta ne voidaan oikosuljettaa maahan. Tämä asettaa LCD-näytön suurimmalle kontrastille ja lukutilaan. Meidän on vain hallittava ENABLE- ja RS-nastoja merkkien ja tietojen lähettämiseksi vastaavasti.
LCD-liitännät ovat alla:
PIN1 tai VSS maahan
PIN2- tai VDD- tai VCC-jännite + 5 V: n tehoon
PIN3 tai VEE maahan (antaa parhaan kontrastin aloittelijalle)
PIN4 tai RS (Rekisterivalinta) - PD6 uC: lle
PIN5 tai RW (luku / kirjoitus) maahan (asettaa LCD-näytön lukutilaan helpottamaan viestintää käyttäjälle)
PIN6 tai E (käytössä) - u5: n PD5
UC: n PIN7 tai D0 - PB0
U8: n PIN8 tai D1 - PB1
U9: n PIN9 tai D2 - PB2
U10: n PIN10 tai D3 - PB3
UC: n PIN11 tai D4 - PB4
U12: n PIN12 tai D5 - PB5
PIN13 tai D6 - PB6 uC: stä
UC: n PIN14 tai D7 - PB7
Piirissä näet, että olemme käyttäneet 8-bittistä tiedonsiirtoa (D0-D7), mutta tämä ei ole pakollista, voimme käyttää 4-bittistä tiedonsiirtoa (D4-D7), mutta 4-bittisellä viestintäohjelmalla tulee hieman monimutkainen.
Joten seuraamalla yllä olevaa taulukkoa, yhdistämme 10 LCD-näyttöä ohjaimeen, jossa 8 nastaa ovat datanastoja ja 2 nastaa ohjausta varten.
Ennen kuin jatkat, on tärkeää tietää, että kapasitiivinen moduuli toimii 2,5 V: n jännitteellä. Ja myös kosketusmoduulin vetämä virta ei ole korkea. Joten 2,5 V: n saamiseksi moduulille 5 V: sta aiomme käyttää jännitteenjakajan piiriä.
Vastusten jännitteenjakajan piirinmuodostaja on esitetty alla olevassa kuvassa.
Nyt jännitteenjakajapiiri tarjoaa matalat jännitteet moduuleille ja muille referensseille. Kuten kuvassa on esitetty, lähtöjännite keskipisteessä on vastusten suhde. Joten 2,5 V: n saamiseksi 5 V: sta käytämme R1 = R2 = 1 KΩ, joten 5 V: n syöttöjännitteelle keskipisteen jännite on 2,5 V maadoitukseen nähden. Tämä jakajapiirin jännite on kytketty moduuliin. Sen yli on kytketty kondensaattori yliaaltojen suodattamiseksi, kuten piirikaaviossa on esitetty.
Kosketusmoduulin lähtöportti on kytketty atmega-ohjaimeen, joten aina kun tyynyä kosketetaan, vastaava nastalähtö nousee korkealle. Ohjain havaitsee tämän logiikkamuutoksen. Ohjain näyttää nestekidenäytössä olevan numeron nastan perusteella, joka nousee korkealle.
Turvallisuudesta huolimatta kaikki moduulin ulostulotapit voidaan vetää maahan 10K-vastusten kautta, vaikka se ei ole pakollista.
TOUCH KEAYPAD INTERFACE -työkalun toiminta selitetään parhaiten alla annettujen C-koodien askel askeleelta.