- Was ist ein kapazitiver Berührungssensor?
- Erforderliche Materialien
- Schaltplan
- Programmierung des Atmega AT89S52 Mikrocontrollers
In der modernen Elektronikwelt wird die Berührungseingabe fast überall verwendet, egal ob es sich um ein Mobiltelefon oder einen LCD-Monitorschalter handelt. Kapazitive Berührungen sind im Segment der Berührungssensoren weit verbreitet, und wir haben zuvor kapazitive Berührungen mit einem Raspberry Pi verwendet. Hier in diesem Projekt werden wir den Berührungssensor mit dem 8051-Mikrocontroller AT89S52 verbinden. Wenn Sie mit dem 8051-Mikrocontroller noch nicht vertraut sind, können Sie mit dem Blinken der LED mit 8051 beginnen.
Was ist ein kapazitiver Berührungssensor?
Kapazitive Berührung wirkt sich auf die elektrostatische Aufladung aus, die in unserem Körper verfügbar ist. Der Bildschirm ist bereits mit elektrischem Feld aufgeladen. Wenn wir den Bildschirm berühren, bildet sich aufgrund der elektrostatischen Aufladung, die durch unseren Körper fließt, ein enger Stromkreis. Ferner entscheidet die Software über den Ort und die auszuführende Aktion. Der kapazitive Touchscreen funktioniert nicht mit Handschuhen, da zwischen den Fingern und dem Bildschirm keine Leitung besteht.
In diesem Projekt verwendeter Berührungssensor
Der in diesem Projekt verwendete Berührungssensor ist ein kapazitives Berührungssensormodul und der Sensortreiber basiert auf dem Treiber-IC TTP223. Die Betriebsspannung des IC TTP23 beträgt 2,0 V bis 5,5 V und der Stromverbrauch des Berührungssensors ist sehr gering. Aufgrund des kostengünstigen, geringen Stromverbrauchs und der einfach zu integrierenden Unterstützung ist der Berührungssensor mit TTP223 in seinem Segment weit verbreitet.
In der obigen Abbildung sind beide Seiten des Sensors so dargestellt, dass das Pinbelegungsdiagramm deutlich sichtbar ist. Es hat auch eine Lötbrücke, mit der der Sensor in Bezug auf den Ausgang neu konfiguriert werden kann. Die Brücke ist A und B. Standardkonfiguration oder im Standardzustand der Lötbrücke ändert sich der Ausgang von niedrig nach hoch, wenn der Sensor berührt wird. Wenn jedoch der Jumper gesetzt und der Sensor neu konfiguriert wird, ändert der Ausgang seinen Zustand, wenn der Berührungssensor die Berührung erkennt. Die Empfindlichkeit des Berührungssensors kann auch durch Ändern des Kondensators konfiguriert werden. Für die detaillierten Informationen ist das Datenblatt des TTP 223 sehr nützlich.
Die folgende Tabelle zeigt verschiedene Ausgänge bei verschiedenen Jumper-Einstellungen.
Jumper A. | Jumper B. |
Ausgangssperrstatus |
TTL-Pegel ausgeben |
Öffnen | Öffnen |
Kein Schloss |
Hoch |
Öffnen | Schließen |
Selbstsperre |
Hoch |
Schließen | Öffnen |
Kein Schloss |
Niedrig |
Schließen | Schließen |
Selbstsperre |
Niedrig |
Für dieses Projekt wird der Sensor in der Standardkonfiguration verwendet, die ab Werk verfügbar ist. In diesem Projekt wird der Berührungssensor zur Steuerung einer Wechselstrom-Glühbirne mithilfe des AT89S52-Mikrocontrollers verwendet.
Ein Relais ist mit dem 8051-Mikrocontroller verbunden. Die Pinbelegung des Relais ist im folgenden Bild zu sehen.
NO ist normalerweise offen und NC ist normalerweise angeschlossen. L1 und L2 sind die beiden Anschlüsse der Relaisspule. Wenn die Spannung nicht angelegt wird, wird das Relais ausgeschaltet und der POLE mit dem NC-Pin verbunden. Wenn die Spannung an die Spulenanschlüsse angelegt wird, werden L1 und L2 des Relais eingeschaltet und der POLE mit NO verbunden. Daher kann die Verbindung zwischen POLE und NO durch Ändern des Betriebszustands des Relais ein- oder ausgeschaltet werden.
Erforderliche Materialien
- AT89S52 8051 Mikrocontroller
- Standard-Kubikrelais - 5V
- 11,592 MHz Kristall
- 33pF Kondensatoren - 2St
- 2k Widerstand -1 Stck
- 4,7k Widerstand - 1 Stck
- 10uF Kondensator
- BC549B Transistor
- TTP223 Sensor
- 1N4007 Diode
- Glühbirne mit Lampenfassung
- Ein Steckbrett
- 5V Stromversorgung, Ein Telefonladegerät kann funktionieren.
- Viele Überbrückungsdrähte oder Bergdrähte.
- AT89S52 Programmierumgebung mit Programmer Kit und IDE mit Compiler
Schaltplan
Das Schema zur Steuerung des Lichts unter Verwendung des Berührungssensors und des 8051 ist unter dem Bild angegeben.
Der Transistor dient zum Ein- und Ausschalten des Relais. Der Berührungssensor ist mit der Mikrocontrollereinheit AT89S52 verbunden. Die Schaltung besteht aus einem Steckbrett.
Programmierung des Atmega AT89S52 Mikrocontrollers
Der vollständige 8051-Code ist am Ende angegeben. Hier erklären wir einige Teile des Codes. Wenn Sie mit dem 8051-Mikrocontroller noch nicht vertraut sind, lernen Sie zunächst, wie Sie einen 8051-Mikrocontroller programmieren.Die folgenden Codezeilen dienen zur Integration des Relais und des Berührungssensors in den 8051-Mikrocontroller. REGX52 ist die Header-Datei für die AT89S52-Mikrocontrollereinheit. Eine Verzögerungsfunktion wird ebenfalls deklariert.
#einschließen
Die Berührung und das Relais werden mit 0 initialisiert. Der Berührungssensor ändert die logische 0 auf 1. Wenn die Aussage wahr ist, wenn der Berührungssensor aktiviert ist, wird der Status des Relais geändert. Um die Berührung genau zu erfassen, wird jedoch eine Entprellverzögerung verwendet.
// Hauptfunktion void main (void) { RELAY = 0; Berühren Sie = 0; während (1) { if (Touch == 1) { delay (15); // Entprellungsverzögerung if (Touch == 1) { RELAY =! RELAY; // RELAY Pin Delay (30) umschalten ; } } } }
Unten ist die Verzögerungsfunktion geschrieben. Die Funktion nimmt Eingaben im Millisekundenformat entgegen und generiert eine Verzögerung mit zwei for- Schleifen. Diese Verzögerung ist nicht sehr genau, aber akzeptabel und hängt hauptsächlich vom Taktzyklus ab.
/ * Verzögerungsbezogene Funktion * / ungültige Verzögerung (Zeichen ms) {int a, b; für (a = 0; a <1295; a ++) {für (b = 0; b
Diese berührungsgesteuerte Lichtschaltung wird auf dem Steckbrett mit einer daran angeschlossenen Lampe mit geringem Stromverbrauch getestet. Die vollständige Skizze mit einem Demonstrationsvideo ist unten beigefügt. Weitere Projekte zur Hausautomation können Sie hier überprüfen.