- Kaj je kapacitivni senzor na dotik?
- Potrebni materiali
- Shema vezja
- Programiranje mikrokrmilnika Atmega AT89S52
V sodobnem svetu elektronike se vhod na dotik uporablja skoraj povsod, ne glede na to, ali gre za mobilni telefon ali stikalo za LCD zaslon. Kapacitivni dotik se pogosto uporablja v segmentu senzorjev na dotik, prej pa smo kapacitivni dotik uporabljali z Raspberry Pi. V tem projektu bomo povezali senzor na dotik z mikrokrmilnikom 8051 AT89S52. Če ste nov v mikrokrmilniku 8051, lahko začnete z utripanjem LED z 8051.
Kaj je kapacitivni senzor na dotik?
Kapacitivni dotik deluje na elektrostatični naboj, ki je na voljo v našem telesu. Zaslon je že napolnjen z električnim poljem. Ko se dotaknemo zaslona, zaradi elektrostatičnega naboja, ki teče skozi naše telo, nastane tesno vezje. Nadalje programska oprema določi lokacijo in dejanje, ki ga je treba izvesti. Kapacitivni zaslon na dotik ne bo deloval z ročnimi rokavicami, ker med prsti in zaslonom ne bo prevodnosti.
Senzor na dotik, uporabljen v tem projektu
Senzor na dotik, uporabljen v tem projektu, je kapacitivni modul senzorja na dotik, gonilnik senzorja pa temelji na gonilniku IC TTP223. Delovna napetost IC TTP23 je od 2,0 do 5,5 V, trenutna poraba senzorja na dotik pa je zelo nizka. Zaradi poceni, nizke porabe toka in enostavne vgradnje podpore je senzor na dotik s TTP223 zelo priljubljen v svojem segmentu.
Na zgornji sliki sta prikazani obe strani senzorja, kjer je jasno viden diagram. Ima tudi spajkalni mostiček, ki ga lahko uporabimo za ponovno nastavitev senzorja glede na izhod. Mostiček je A in B. Privzeta konfiguracija ali v privzetem stanju spajkalnega mostička se pri dotiku senzorja izhod spremeni iz nizkega v visokega. Ko pa je mostiček nastavljen in je senzor prekonfiguriran, izhod spremeni svoje stanje, ko senzor na dotik zazna dotik. Občutljivost senzorja na dotik lahko nastavite tudi s spreminjanjem kondenzatorja. Za podrobne informacije je zelo koristen podatkovni list TTP 223.
Spodnji grafikon prikazuje različne izhode pri različnih nastavitvah mostička-
Skakalec A | Skakalec B |
Izhodno stanje zaklepanja |
Izhodna raven TTL |
Odprto | Odprto |
Brez zaklepanja |
Visoko |
Odprto | Zapri |
Samozaklepanje |
Visoko |
Zapri | Odprto |
Brez zaklepanja |
Nizko |
Zapri | Zapri |
Samozaklepanje |
Nizko |
Za ta projekt bo senzor uporabljen v privzeti konfiguraciji, ki je na voljo v pogojih tovarniške sprostitve. V tem projektu bo senzor na dotik uporabljen za nadzor AC žarnice z uporabo mikrokrmilnika AT89S52.
Rele je povezan z mikrokrmilnikom 8051. Izhod releja je viden na spodnji sliki -
NO je običajno odprt in NC je običajno povezan. L1 in L2 sta oba terminala relejske tuljave. Ko napetost ne deluje, se rele izklopi in POLE se poveže z NC zatičem. Ko je napetost priključena na sponke tuljave, se L1 in L2 releja vklopita in POLE se poveže z NO. Zato lahko povezavo med POLE in NO vklopite ali izklopite s spreminjanjem stanja delovanja releja.
Potrebni materiali
- Mikrokrmilnik AT89S52 8051
- Standardni kubični rele - 5V
- 11,592 MHz kristal
- 33pF kondenzatorji - 2pcs
- 2k upor -1 kos
- 4.7k upor - 1 kos
- 10uF kondenzator
- Tranzistor BC549B
- TTP223 senzor
- 1N4007 Dioda
- Žarnica z držalom žarnice
- Tabela
- 5V napajalnik, telefonski polnilnik lahko deluje.
- Veliko mostičnih ali berg žic.
- Programsko okolje AT89S52 s programerskim kompletom in IDE s prevajalnikom
Shema vezja
Shema za nadzor svetlobe s pomočjo senzorja na dotik in 8051 je pod spodnjo sliko,
Tranzistor se uporablja za vklop ali izklop releja. Senzor na dotik je povezan z enoto mikrokrmilnika AT89S52. Vezje je zgrajeno z uporabo plošče.
Programiranje mikrokrmilnika Atmega AT89S52
Na koncu je podana celotna koda 8051. Tukaj razlagamo nekaj delov kode. Če ste novi mikrokrmilnik 8051, se najprej naučite programirati mikrokrmilnik 8051.Spodnje vrstice kode se uporabljajo za integracijo releja in senzorja na dotik z mikrokrmilnikom 8051. REGX52 je datoteka glave za mikrokrmilno enoto AT89S52. Prijavljena je tudi funkcija zakasnitve.
#include
Dotik in rele sta inicializirana kot 0. Senzor na dotik spremeni logiko 0 na 1. Če je izjava resnična, ko je senzor na dotik aktiviran in se zaradi tega stanje releja spremeni. Za natančno zaznavanje dotika pa se uporabi zakasnitev izklopa.
// Glavna funkcija void main (void) { RELAY = 0; Dotik = 0; while (1) { if (Touch == 1) { delay (15); // zakasnitev prekinitve, če (dotik == 1) { RELAY =! RELAY; // Preklopi zakasnitev zatiča RELAY (30); } } } }
Spodaj je zapisana funkcija zakasnitve. Funkcija je vhod v formatu mili-sekund in ustvarja zamude s pomočjo dveh za zanke. Ta zakasnitev ni veliko natančna, vendar je sprejemljiva in je večinoma odvisna od časovnega cikla ure.
/ * Funkcija, povezana z zakasnitvijo * / void delay (char ms) {int a, b; za (a = 0; a <1295; a ++) {za (b = 0; b
To svetlobno vezje z dotikom je preizkušeno na plošči z žarnico z majhno močjo. Popolna skica s predstavitveni videoposnetek je priložen spodaj. Več projektov avtomatizacije doma lahko preverite tukaj.