- Hvad er en kapacitiv berøringssensor?
- Nødvendige materialer
- Kredsløbsdiagram
- Programmering Atmega AT89S52 Microcontroller
I moderne elektronikverden bruges touch-input næsten overalt, hvad enten det kan være en mobiltelefon eller en LCD-skærmkontakt. Kapacitiv berøring er den mest anvendte i berøringssensorsegmentet, og vi har tidligere brugt kapacitiv berøring med en Raspberry Pi. Her i dette projekt vil vi interface berøringssensor med 8051 mikrokontroller AT89S52. Hvis du er ny på 8051 mikrokontroller, kan du starte med LED blinker med 8051.
Hvad er en kapacitiv berøringssensor?
Kapacitiv berøring virker på den elektrostatiske ladning, der er tilgængelig på vores krop. Skærmen er allerede ladet med elektrisk felt. Når vi berører skærmen, dannes der et tæt kredsløb på grund af elektrostatisk ladning, der strømmer gennem vores krop. Desuden bestemmer software placeringen og den handling, der skal udføres. Kapacitiv berøringsskærm fungerer ikke med håndhandsker, fordi der ikke er nogen ledning mellem fingeren (e) og skærmen.
Berøringssensor brugt i dette projekt
Berøringssensoren, der anvendes i dette projekt, er et kapacitivt berøringssensormodul, og sensordriveren er baseret på driveren IC TTP223. Driftsspændingen på IC TTP23 er 2,0V til 5,5V, og berøringssensorens strømforbrug er meget lavt. På grund af det billige, lave strømforbrug og den nemme at integrere support er berøringssensoren med TTP223 meget populær i sit segment.
På ovenstående billede vises begge sider af sensoren, hvor pinout-diagrammet er tydeligt synligt. Den har også en loddetilbehør, der kan bruges til at omkonfigurere sensoren i forhold til output. Jumperen er A og B. Standardkonfiguration eller i loddet jumperens standardtilstand skifter output fra lav til høj, når sensoren berøres. Når jumperen er indstillet, og sensoren er omkonfigureret, ændres output imidlertid sin tilstand, når berøringssensoren registrerer berøringen. Berøringssensorens følsomhed kan også konfigureres ved at skifte kondensator. For detaljeret info er databladet for TTP 223 meget nyttigt.
Nedenstående diagram viser forskellige output ved forskellige jumperindstillinger-
Jumper A | Jumper B |
Output Lock State |
Output TTL-niveau |
Åben | Åben |
Ingen lås |
Høj |
Åben | Tæt |
Selvlås |
Høj |
Tæt | Åben |
Ingen lås |
Lav |
Tæt | Tæt |
Selvlås |
Lav |
I dette projekt vil sensoren blive brugt i standardkonfiguration, som er tilgængelig i fabriksfrigivelsesbetingelser. I dette projekt vil berøringssensoren blive brugt til at styre en AC-pære ved hjælp af AT89S52 mikrokontroller.
Et relæ er grænseflade med 8051-mikrocontrolleren. Relæets pinout kan ses i nedenstående billede-
NO er normalt åben, og NC er normalt tilsluttet. L1 og L2 er de to terminaler på relæspolen. Når spændingen ikke tilføres, slukkes relæet, og POLE tilsluttes NC-stiften. Når spændingen tilføres over spoleterminalerne, bliver L1 og L2 på relæet tændt, og POLEN bliver forbundet med NO. Derfor kan forbindelsen mellem POLE og NO tændes eller slukkes ved at ændre relæets driftstilstand.
Nødvendige materialer
- AT89S52 8051 Microcontroller
- Standard kubisk relæ - 5V
- 11,592 MHz krystal
- 33pF kondensatorer - 2stk
- 2k modstand -1 stk
- 4,7 k modstand - 1 stk
- 10uF kondensator
- BC549B transistor
- TTP223-sensor
- 1N4007 Diode
- Pære med pæreholder
- Et brødbræt
- 5V strømforsyning, en telefonoplader kan fungere.
- Masser af jumper ledninger eller berg ledninger.
- AT89S52 programmeringsmiljø med Programmer Kit og IDE med compiler
Kredsløbsdiagram
Skemaet til styring af lys ved hjælp af berøringssensor og 8051 er vist nedenfor billedet,
Transistoren bruges til at tænde eller slukke for relæet. Berøringssensoren er forbundet med AT89S52-mikrocontrollerenheden. Kredsløbet er konstrueret ved hjælp af et brødbræt.
Programmering Atmega AT89S52 Microcontroller
Komplet 8051-kode er angivet i slutningen. Her forklarer vi nogle få dele af koden. Hvis du er ny på 8051 mikrokontroller, skal du først lære at programmere en 8051 mikrokontroller.Nedenstående kodelinjer bruges til at integrere relæet og berøringssensoren med 8051 mikrokontroller. REGX52 er headerfilen til AT89S52 mikrocontroller-enheden. En forsinkelsesfunktion er også erklæret.
#omfatte
Berøringen og relæet initialiseres som 0. Berøringssensoren ændrer logikken 0 til 1. Hvis udsagnet er sandt, når berøringsføleren er aktiveret, og på grund af dette ændres relæets tilstand. For at registrere berøringen nøjagtigt bruges der imidlertid en forsinkelse til afvisning.
// Hovedfunktion ugyldig hoved (ugyldig) { RELAY = 0; Touch = 0; mens (1) { hvis (Touch == 1) { forsinkelse (15); // afvisningsforsinkelse, hvis (Touch == 1) { RELAY =! RELAY; // Skift RELAY pin forsinkelse (30); } } } }
Nedenfor er forsinkelsesfunktionen skrevet. Funktionen tager input i millisekunder format og genererer forsinkelse ved hjælp af to til sløjfer. Denne forsinkelse er ikke meget nøjagtig, men er acceptabel, og det afhænger for det meste af urets cyklustid.
/ * Forsinkelsesrelateret funktion * / tomrumsforsinkelse (char ms) {int a, b; for (a = 0; a <1295; a ++) {for (b = 0; b
Dette berøringsstyrede lyskredsløb er testet på brødbrættet med en lavpære tilsluttet. Den komplette skitse med en demonstrationsvideo er vedhæftet nedenfor. Du kan tjekke flere hjemmeautomationsprojekter her.