- Wat is een capacitieve aanraaksensor?
- Vereiste materialen
- Schakelschema
- Programmering Atmega AT89S52 Microcontroller
In de moderne elektronische wereld wordt aanraakinvoer bijna overal gebruikt, of het nu een mobiele telefoon of een LCD-monitorschakelaar is. Capacitieve aanraking wordt veel gebruikt in het aanraaksensorsegment en we gebruikten eerder capacitieve aanraking met een Raspberry Pi. Hier in dit project zullen we de aanraaksensor koppelen aan de 8051 microcontroller AT89S52. Als je nieuw bent bij 8051 microcontroller dan kun je beginnen met LED die knippert met 8051.
Wat is een capacitieve aanraaksensor?
Capacitieve aanraking werkt op de elektrostatische lading die op ons lichaam aanwezig is. Het scherm is al opgeladen met elektrisch veld. Wanneer we het scherm aanraken, vormt zich een gesloten circuit door elektrostatische lading die door ons lichaam stroomt. Verder bepaalt de software de locatie en de uit te voeren actie. Capacitief touchscreen werkt niet met handhandschoenen omdat er geen geleiding is tussen de vinger (s) en het scherm.
Aanraaksensor gebruikt in dit project
De aanraaksensor die in dit project wordt gebruikt, is een capacitieve aanraaksensormodule en de sensordriver is gebaseerd op de driver-IC TTP223. De bedrijfsspanning van de IC TTP23 is 2,0V tot 5,5V en het stroomverbruik van de aanraaksensor is erg laag. Vanwege het goedkope, lage stroomverbruik en de eenvoudig te integreren ondersteuning is de aanraaksensor met TTP223 erg populair in zijn segment.
In de bovenstaande afbeelding zijn beide zijden van de sensor weergegeven waar het pinout-diagram duidelijk zichtbaar is. Het heeft ook een soldeerjumper die kan worden gebruikt om de sensor opnieuw te configureren met betrekking tot de uitgang. De jumper is A en B. Standaardconfiguratie of in de standaardstatus van de soldeerjumper verandert de output van laag naar hoog wanneer de sensor wordt aangeraakt. Wanneer de jumper echter is ingesteld en de sensor opnieuw is geconfigureerd, verandert de uitgang van status wanneer de aanraaksensor de aanraking detecteert. De gevoeligheid van de aanraaksensor kan ook worden geconfigureerd door de condensator te veranderen. Voor de gedetailleerde info is de datasheet van de TTP 223 erg handig.
Onderstaande grafiek toont verschillende uitgangen bij verschillende jumperinstellingen-
Trui A | Trui B |
Status uitgangsvergrendeling |
Output TTL-niveau |
Open | Open |
Geen slot |
Hoog |
Open | Dichtbij |
Zelfvergrendeling |
Hoog |
Dichtbij | Open |
Geen slot |
Laag |
Dichtbij | Dichtbij |
Zelfvergrendeling |
Laag |
Voor dit project zal de sensor worden gebruikt in de standaardconfiguratie die beschikbaar is in de fabrieksvrijgave. In dit project zal de aanraaksensor worden gebruikt om een AC-lamp te besturen met behulp van een AT89S52-microcontroller.
Een relais is gekoppeld aan de 8051-microcontroller. De pinout van het relais is te zien in de onderstaande afbeelding-
NO is normaal gesproken open en NC is normaal verbonden. L1 en L2 zijn de twee aansluitingen van de relaisspoel. Wanneer de spanning niet wordt toegepast, wordt het relais uitgeschakeld en wordt de POLE verbonden met de NC-pin. Wanneer de spanning wordt aangelegd over de spoelaansluitingen, worden L1 en L2 van het relais ingeschakeld en wordt de POLE verbonden met NO. Daarom kan de verbinding tussen POLE en NO worden in- of uitgeschakeld door de werkingsstatus van het relais te wijzigen.
Vereiste materialen
- AT89S52 8051 Microcontroller
- Standaard Cubic Relay - 5V
- 11,592 MHz kristal
- 33pF condensatoren - 2st
- 2k weerstand -1 st
- 4.7k weerstand - 1 st
- 10uF condensator
- BC549B-transistor
- TTP223-sensor
- 1N4007 Diode
- Gloeilamp Met Lamphouder
- Een breadboard
- 5V voeding, een telefoonoplader kan werken.
- Veel jumperdraden of bergdraden.
- AT89S52 programmeeromgeving met Programmer Kit en IDE met compiler
Schakelschema
Het schema voor het regelen van licht met behulp van aanraaksensor en 8051 wordt hieronder weergegeven,
De transistor wordt gebruikt om het relais in of uit te schakelen. De aanraaksensor is verbonden met de AT89S52-microcontrollereenheid. Het circuit is opgebouwd met behulp van een breadboard.
Programmering Atmega AT89S52 Microcontroller
De volledige 8051-code wordt aan het einde gegeven. Hier leggen we enkele delen van de code uit. Als u een 8051 microcontroller nieuw bent, leer dan eerst hoe u een 8051 microcontroller programmeert.De onderstaande coderegels worden gebruikt voor het integreren van het relais en de aanraaksensor met 8051 microcontroller. REGX52 is het headerbestand voor de AT89S52-microcontrollereenheid. Een vertragingsfunctie wordt ook gedeclareerd.
# omvatten
De aanraking en het relais worden geïnitialiseerd als 0. De aanraaksensor verandert de logica 0 in 1. Als de bewering waar is wanneer de aanraaksensor wordt geactiveerd, wordt de status van het relais gewijzigd. Om de aanraking echter nauwkeurig te detecteren, wordt een vertragingsvertraging gebruikt.
// Hoofdfunctie void main (void) { RELAY = 0; Touch = 0; while (1) { if (Touch == 1) { delay (15); // debounce vertraging if (Touch == 1) { RELAY =! RELAY; // Toggle RELAY pin delay (30); } } } }
Hieronder wordt de vertragingsfunctie geschreven. De functie neemt invoer in milli-secondenformaat en genereert vertraging met behulp van twee for- loops. Deze vertraging is niet erg nauwkeurig, maar is acceptabel en hangt meestal af van de timing van de klokcyclus.
/ * Vertragingsgerelateerde functie * / ongeldige vertraging (char ms) {int a, b; voor (a = 0; a <1295; a ++) {voor (b = 0; b
Dit aanraakgestuurde lichtcircuit wordt getest op het breadboard met een lamp met laag vermogen erop aangesloten. De volledige schets met een demonstratievideo is hieronder bijgevoegd. U kunt hier meer domotica-projecten bekijken.