- Hva er en kapasitiv berøringssensor?
- Nødvendig materiale
- Kretsdiagram
- Programmering Atmega AT89S52 Microcontroller
I moderne elektronikkverden brukes berøringsinngang nesten overalt, enten det kan være en mobiltelefon eller en LCD-skjermbryter. Kapasitiv berøring er mye brukt i berøringssensorsegmentet, og vi har tidligere brukt kapasitiv berøring med en Raspberry Pi. Her i dette prosjektet vil vi grensesnitt berøringssensor med 8051 mikrokontroller AT89S52. Hvis du er ny på 8051 mikrokontroller, kan du begynne med at LED blinker med 8051.
Hva er en kapasitiv berøringssensor?
Kapasitiv berøring fungerer på den elektrostatiske ladningen som er tilgjengelig på kroppen vår. Skjermen er allerede ladet med elektrisk felt. Når vi berører skjermen, dannes en nærkrets på grunn av elektrostatisk ladning som strømmer gjennom kroppen vår. Videre bestemmer programvaren plasseringen og handlingen som skal utføres. Kapasitiv berøringsskjerm fungerer ikke med håndhansker fordi det ikke vil være noen ledning mellom fingeren (e) og skjermen.
Berøringssensor brukt i dette prosjektet
Berøringssensoren som brukes i dette prosjektet er en kapasitiv berøringssensormodul, og sensordriveren er basert på driveren IC TTP223. Driftsspenningen til IC TTP23 er 2,0V til 5,5V, og strømforbruket til berøringssensoren er veldig lavt. På grunn av det lave, lave strømforbruket og støtte som er lett å integrere, er berøringssensoren med TTP223 populær i sitt segment.
På bildet ovenfor vises begge sider av sensoren der pinout-diagrammet er godt synlig. Den har også en loddebryter som kan brukes til å omkonfigurere sensoren i forhold til utgangen. Jumperen er A og B. Standardkonfigurasjon eller i standardtilstanden til loddebryteren, endres utgangen fra lav til høy når sensoren berøres. Når jumperen er stilt inn og sensoren er konfigurert på nytt, endrer utgangen sin tilstand når berøringssensoren oppdager berøringen. Følsomheten til berøringssensoren kan også konfigureres ved å endre kondensatoren. For detaljert informasjon er databladet til TTP 223 veldig nyttig.
Nedenfor vises en oversikt over forskjellige utganger ved forskjellige jumperinnstillinger-
Genser A | Genser B |
Utgangslåsstatus |
Utgang TTL-nivå |
Åpen | Åpen |
Ingen lås |
Høy |
Åpen | Lukk |
Selvlås |
Høy |
Lukk | Åpen |
Ingen lås |
Lav |
Lukk | Lukk |
Selvlås |
Lav |
For dette prosjektet vil sensoren brukes i standardkonfigurasjon som er tilgjengelig i fabrikkutgivelsesbetingelser. I dette prosjektet vil berøringssensoren brukes til å kontrollere en AC-lyspære ved hjelp av AT89S52 mikrokontroller.
Et relé er grensesnittet med 8051 mikrokontroller. Reléets pinout kan sees på bildet nedenfor -
NO er normalt åpen og NC er normalt tilkoblet. L1 og L2 er de to terminalene til reléspolen. Når spenningen ikke påføres, slås reléet av og POLE kobles til NC-stiften. Når spenningen påføres over spoleterminalene, blir L1 og L2 på reléet slått PÅ og POLEN blir koblet til NO. Derfor kan forbindelsen mellom POLE og NO slås PÅ eller AV ved å endre driftstilstanden til reléet.
Nødvendig materiale
- AT89S52 8051 Microcontroller
- Standard kubisk relé - 5V
- 11,592 MHz krystall
- 33pF kondensatorer - 2stk
- 2k motstand -1 stk
- 4,7 k motstand - 1 stk
- 10uF kondensator
- BC549B transistor
- TTP223-sensor
- 1N4007 Diode
- Lyspære med pæreholder
- Et brødbrett
- 5V strømforsyning, en telefonlader kan fungere.
- Mange hoppetråder eller bergledninger.
- AT89S52 programmeringsmiljø med Programmer Kit og IDE med kompilator
Kretsdiagram
Skjematisk skjema for å kontrollere lys ved hjelp av berøringssensor og 8051 er gitt nedenfor bildet,
Transistoren brukes til å slå på eller av reléet. Berøringssensoren er koblet til AT89S52-mikrokontrollerenheten. Kretsen er konstruert ved hjelp av et brødbrett.
Programmering Atmega AT89S52 Microcontroller
Komplett 8051-kode er gitt på slutten. Her forklarer vi noen få deler av koden. Hvis du er ny i 8051 mikrokontroller, må du først lære hvordan du programmerer en 8051 mikrokontroller.Kodelinjene nedenfor brukes til å integrere reléet og berøringssensoren med 8051 mikrokontroller. REGX52 er toppfilen til AT89S52 mikrokontroller-enheten. En forsinkelsesfunksjon er også erklært.
#inkludere
Berøringen og reléet initialiseres som 0. Berøringssensoren endrer logikken 0 til 1. Hvis utsagnet er sant når berøringssensoren er aktivert, og på grunn av dette blir statusen til reléet endret. For å oppdage berøringen nøyaktig, brukes imidlertid en utsettelsesforsinkelse.
// Hovedfunksjon ugyldig hoved (ugyldig) { RELAY = 0; Berør = 0; mens (1) { if (Touch == 1) { forsinkelse (15); // utsettelsesforsinkelse hvis (Touch == 1) { RELAY =! RELAY; // Bytt RELAY pin forsinkelse (30); } } } }
Nedenfor er forsinkelsesfunksjonen skrevet. Funksjonen tar inndata i millisekunder og genererer forsinkelse ved å bruke to for løkker. Denne forsinkelsen er ikke mye nøyaktig, men er akseptabel, og det avhenger stort sett av tidssyklusen.
/ * Forsinkelsesrelatert funksjon * / tomromforsinkelse (char ms) {int a, b; for (a = 0; a <1295; a ++) {for (b = 0; b
Denne berøringsstyrte lyskretsen er testet på brødbordet med en lavpære koblet til den. Den komplette skissen med en demonstrasjonsvideo er vedlagt nedenfor. Du kan sjekke flere hjemmeautomatiseringsprosjekter her.