- Čo je kapacitný dotykový senzor?
- Potrebné materiály
- Schéma zapojenia
- Programovanie mikrokontroléra Atmega AT89S52
V modernom svete elektroniky sa dotykový vstup používa takmer všade, či už to môže byť mobilný telefón alebo prepínač LCD monitora. Kapacitný dotyk je široko používaný v segmente dotykových senzorov a predtým sme používali kapacitný dotyk s Raspberry Pi. Tu v tomto projekte prepojíme dotykový snímač s 8051 mikrokontrolérom AT89S52. Ak ste v mikrokontroléri 8051 nováčikom, môžete začať s blikaním LED s číslom 8051.
Čo je kapacitný dotykový senzor?
Kapacitný dotyk pracuje na elektrostatickom náboji, ktorý je k dispozícii v našom tele. Obrazovka je už nabitá elektrickým poľom. Keď sa dotkneme obrazovky, vytvorí sa blízky okruh v dôsledku elektrostatického náboja, ktorý preteká našim telom. Ďalej softvér rozhoduje umiestnenie a akciu, ktorá má byť vykonaná. Kapacitná dotyková obrazovka nebude fungovať s rukavicami na ruky, pretože medzi prstami a obrazovkou nebude žiadne vedenie.
Dotykový senzor použitý v tomto projekte
Dotykový snímač použitý v tomto projekte je kapacitný modul dotykového snímača a ovládač snímača je založený na ovládači IC TTP223. Prevádzkové napätie IC TTP23 je 2,0V až 5,5V a súčasná spotreba dotykového snímača je veľmi nízka. Vďaka lacnej nízkej spotrebe prúdu a ľahko integrovateľnej podpore je dotykový senzor s TTP223 vo svojom segmente veľmi populárny.
Na vyššie uvedenom obrázku sú zobrazené obe strany snímača, kde je jasne viditeľný vývodový diagram. Má tiež spájkovaciu prepojku, ktorou je možné prekonfigurovať snímač vzhľadom na výstup. Prepojka je A a B. Predvolená konfigurácia alebo v predvolenom stave spájkovacej prepojky sa výstup zmení z nízkej na vysokú pri dotyku snímača. Keď je však prepojka nastavená a senzor je prekonfigurovaný, výstup zmení svoj stav, keď dotykový senzor detekuje dotyk. Citlivosť dotykového snímača je možné nakonfigurovať aj zmenou kondenzátora. Pre podrobnejšie informácie je veľmi užitočný údajový list TTP 223.
Nižšie uvedený graf zobrazuje rôzne výstupy pri rôznych nastaveniach prepojok -
Jumper A | Jumper B |
Stav zámku výstupu |
Výstupná úroveň TTL |
Otvorené | Otvorené |
Bez zámku |
Vysoký |
Otvorené | Zavrieť |
Samosvor |
Vysoký |
Zavrieť | Otvorené |
No-Lock |
Nízka |
Zavrieť | Zavrieť |
Self-Lock |
Nízka |
Pre tento projekt sa bude senzor používať v predvolenej konfigurácii, ktorá je k dispozícii v stave od výroby. V tomto projekte sa bude dotykový senzor používať na ovládanie žiarovky striedavého prúdu pomocou mikrokontroléra AT89S52.
S mikrokontrolérom 8051 je prepojené relé. Pinout relé je vidieť na obrázku nižšie -
NO je normálne otvorený a NC je normálne pripojený. L1 a L2 sú dva terminály reléovej cievky. Ak napätie nie je pripojené, relé je vypnuté a PÓL sa pripojí k NC kolíku. Keď je na svorky cievky pripojené napätie, relé L1 a L2 sa zapnú a pól sa spojí s NO. Preto je možné spojenie medzi PÓLOM a NO zapnúť alebo vypnúť zmenou prevádzkového stavu relé.
Potrebné materiály
- Mikrokontrolér AT89S52 8051
- Štandardné kubické relé - 5V
- 11 592 MHz kryštál
- Kondenzátory 33pF - 2ks
- 2k rezistor -1 ks
- 4,7k rezistor - 1 ks
- 10uF kondenzátor
- Tranzistor BC549B
- Senzor TTP223
- Dióda 1N4007
- Žiarovka s držiakom žiarovky
- Nepál
- Napájanie 5 V, Telefónna nabíjačka môže fungovať.
- Veľa štartovacích alebo berg vodičov.
- Programovacie prostredie AT89S52 s programátorskou súpravou a IDE s kompilátorom
Schéma zapojenia
Schéma ovládania svetla pomocou dotykového senzora a 8051 je uvedená na obrázku nižšie,
Tranzistor sa používa na zapnutie alebo vypnutie relé. Dotykový senzor je spojený s jednotkou mikrokontroléra AT89S52. Obvod je skonštruovaný pomocou nepájivej dosky.
Programovanie mikrokontroléra Atmega AT89S52
Na konci je uvedený kompletný kód 8051. Tu vysvetľujeme niekoľko častí kódu. Ak ste v mikrokontroléri 8051 nováčikom, najskôr sa naučte, ako programovať mikrokontrolér 8051.Nasledujúce riadky kódu sa používajú na integráciu relé a dotykového senzora s mikrokontrolérom 8051. REGX52 je hlavičkový súbor pre jednotku mikrokontroléra AT89S52. Taktiež je deklarovaná funkcia oneskorenia.
#include
Dotykové a reléové relé sa inicializujú ako 0. Dotykový snímač zmení logiku od 0 do 1. Ak je výrok pravdivý, keď je dotykový snímač aktivovaný, dôjde k zmene stavu relé. Na presnú detekciu dotyku sa však používa oneskorenie odskoku.
// Hlavná funkcia void main (void) { RELAY = 0; Dotknite sa = 0; while (1) { if (Touch == 1) { delay (15); // oneskorenie debounce if (Touch == 1) { RELAY =! RELAY; // Prepnúť oneskorenie PINu RELÉ (30); } } } }
Ďalej je napísaná funkcia oneskorenia. Táto funkcia prijíma vstup vo formáte milisekúnd a generuje oneskorenie pomocou dvoch cyklov for . Toto oneskorenie nie je príliš presné, ale je prijateľné a väčšinou závisí od načasovania hodinového cyklu.
/ * Funkcia súvisiaca s oneskorením * / void delay (char ms) {int a, b; pre (a = 0; a <1295; a ++) {pre (b = 0; b
Tento dotykový ovládaný svetelný obvod je testovaný na doske s pripojenou žiarovkou s nízkym výkonom. Kompletné skica s demonštračným videu je pripojený nižšie. Tu môžete skontrolovať viac projektov domácej automatizácie.