In diesem Tutorial werden wir eine 4x2 (8-Tasten) -Tastatur mit dem ATMEGA32A-Mikrocontroller verbinden. Wir alle wissen, dass die Tastatur eines der wichtigsten Eingabegeräte in der Elektrotechnik ist. Dieses Modul verfügt nicht über tatsächliche Tasten, sondern über speziell entwickelte kapazitive Metallpads. Diese Pads sind sehr empfindlich. Wenn eine Person mit einem der Pads in Kontakt kommt, ändert sich die entsprechende Schleife kapazitiv, und diese Änderung wird von der Steuerelektronik im Modul erfasst. Als Reaktion auf die Berührung geht der entsprechende Pad-Ausgangspin hoch.
Für ein Touchpad mit acht Tasten haben wir acht Ausgänge. Obwohl dieses Modul andere Funktionen enthält, werden wir sie hier nicht diskutieren.
Erforderliche Komponenten
Hardware: ATMEGA32-Mikrocontroller, Netzteil (5 V), AVR-ISP-PROGRAMMER, JHD_162ALCD (16x2LCD), 100 uF-Kondensator, 100 nF-Kondensator, 1 kΩ-Widerstand (2 Stück), Touch-Tastaturmodul.
Software: Atmel Studio 6.1 oder Atmel Studio 6.2, Progisp oder Flash Magic.
Schaltplan und Arbeitserklärung
In der Schaltung ist PORTB von ATMEGA32 mit dem Datenport-LCD verbunden. Hier sollte man daran denken, die JTAG-Kommunikation in PORTC zu ATMEGA durch Ändern der Sicherungsbytes zu deaktivieren, wenn man PORTC als normalen Kommunikationsport verwenden möchte. Im 16x2-LCD gibt es insgesamt 16 Pins, wenn eine Hintergrundbeleuchtung vorhanden ist. Wenn keine Hintergrundbeleuchtung vorhanden ist, gibt es 14 Pins. Man kann die Gegenlichtstifte mit Strom versorgen oder belassen. Nun in den 14 Stiften sind 8 Datenstifte (7-14 oder D0-D7), 2 Stromversorgungsstifte (1, 2 oder VSS & VDD oder GND & + 5 V), 3 rd Stift für die Kontraststeuerung (VEE-Kontrollen, wie dick sollten die Zeichen gezeigt) und 3 Steuerstifte (RS & RW & E)
In der Schaltung kann man beobachten, dass ich nur zwei Steuerstifte genommen habe, dies gibt die Flexibilität eines besseren Verständnisses, das Kontrastbit und READ / WRITE werden nicht oft verwendet, so dass sie gegen Masse kurzgeschlossen werden können. Dies versetzt das LCD in den höchsten Kontrast- und Lesemodus. Wir müssen nur die ENABLE- und RS-Pins steuern, um Zeichen und Daten entsprechend zu senden.
Die Verbindungen, die für LCD hergestellt werden, sind unten angegeben:
PIN1 oder VSS gegen Masse
PIN2 oder VDD oder VCC auf +5V
PIN3 oder VEE gegen Masse (bietet maximalen Kontrast am besten für Anfänger)
PIN4 oder RS (Registerauswahl) an PD6 von uC
PIN5 oder RW (Lesen / Schreiben) nach Masse (versetzt das LCD in den Lesemodus, erleichtert die Kommunikation für den Benutzer)
PIN6 oder E (Aktivieren) zu PD5 von uC
PIN7 oder D0 bis PB0 von uC
PIN8 oder D1 bis PB1 von uC
PIN9 oder D2 bis PB2 von uC
PIN10 oder D3 bis PB3 von uC
PIN11 oder D4 bis PB4 von uC
PIN12 oder D5 bis PB5 von uC
PIN13 oder D6 bis PB6 von uC
PIN14 oder D7 bis PB7 von uC
In der Schaltung können Sie sehen, dass wir 8-Bit-Kommunikation (D0-D7) verwendet haben, dies ist jedoch nicht obligatorisch, wir können 4-Bit-Kommunikation (D4-D7) verwenden, aber mit 4-Bit-Kommunikationsprogramm wird ein Bit komplex.
Wenn wir uns die obige Tabelle ansehen, verbinden wir 10 Pins des LCD mit dem Controller, wobei 8 Pins Datenpins und 2 Pins zur Steuerung sind.
Bevor Sie fortfahren, ist es wichtig zu wissen, dass das kapazitive Modul für eine Spannung von 2,5 V arbeitet. Und auch der vom Touch-Modul aufgenommene Strom ist nicht hoch. Um 2,5 V für das Modul von 5 V zu erhalten, verwenden wir eine Spannungsteilerschaltung.
Die Spannungsteilerschaltung durch Widerstände ist in der folgenden Abbildung dargestellt.
Jetzt liefert die Spannungsteilerschaltung niedrige Spannungen für Module und andere Referenzen. Wie in der Abbildung gezeigt, ist die Ausgangsspannung am Mittelpunkt ein Verhältnis der Widerstände. Um 2,5 V von 5 V zu erhalten, verwenden wir R1 = R2 = 1 KΩ. Bei einer Versorgungsspannung von 5 V beträgt die Mittelpunktspannung 2,5 V in Bezug auf Masse. Diese Spannung von der Teilerschaltung wird an das Modul angeschlossen. Über diesen ist ein Kondensator angeschlossen, um die Harmonischen zu filtern, wie im Schaltplan gezeigt.
Der Ausgangsanschluss des Touch-Moduls ist mit dem Atmega-Controller verbunden. Wenn also ein Pad berührt wird, wird der entsprechende Pin-Ausgang hoch. Diese logische Änderung wird von der Steuerung erfasst. Der Controller zeigt die Ziffer auf dem LCD basierend auf dem Pin an, der hoch geht.
Aus Sicherheitsgründen können alle Modulausgangspins über 10K-Widerstände nach Masse gezogen werden, obwohl dies nicht obligatorisch ist.
Die Arbeitsweise von TOUCH KEAYPAD INTERFACE wird am besten Schritt für Schritt anhand des unten angegebenen C-Codes erläutert.