- Co je kapacitní dotykový senzor?
- Potřebné materiály
- Kruhový diagram
- Programování mikrokontroléru Atmega AT89S52
V moderním světě elektroniky se dotykový vstup používá téměř všude, ať už se jedná o mobilní telefon nebo přepínač LCD monitoru. Kapacitní dotek je v segmentu dotykových senzorů široce používán a dříve jsme u Raspberry Pi používali kapacitní dotek. Zde v tomto projektu propojíme dotykový senzor s mikrokontrolérem 8051 AT89S52. Pokud jste v mikrokontroléru 8051 nováčkem, můžete začít s blikáním LED u 8051.
Co je kapacitní dotykový senzor?
Kapacitní dotek pracuje na elektrostatickém náboji, který je k dispozici v našem těle. Obrazovka je již nabitá elektrickým polem. Když se dotkneme obrazovky, vytvoří se uzavřený obvod v důsledku elektrostatického náboje, který protéká naším tělem. Dále software rozhodne o umístění a akci, která má být provedena. Kapacitní dotyková obrazovka nebude fungovat s rukavicemi, protože mezi prsty a obrazovkou nebude žádné vedení.
Dotykový senzor použitý v tomto projektu
Dotykový senzor použitý v tomto projektu je kapacitní modul dotykového senzoru a ovladač senzoru je založen na ovladači IC TTP223. Provozní napětí IC TTP23 je 2,0 V až 5,5 V a aktuální spotřeba dotykového senzoru je velmi nízká. Díky levné spotřebě proudu a nízké integrační podpoře je dotykový senzor s TTP223 ve svém segmentu velmi populární.
Na výše uvedeném obrázku jsou zobrazeny obě strany snímače, kde je jasně viditelný pinoutový diagram. Má také pájecí propojku, kterou lze použít k překonfigurování senzoru vzhledem k výstupu. Propojka je A a B. Výchozí konfigurace nebo ve výchozím stavu pájecí propojky se výstup při dotyku senzoru změní z nízké na vysokou. Když je však nastavena propojka a senzor je překonfigurován, výstup změní svůj stav, když dotykový senzor detekuje dotyk. Citlivost dotykového senzoru lze také konfigurovat změnou kondenzátoru. Pro podrobné informace je velmi užitečný datový list TTP 223.
Níže uvedený graf zobrazuje různé výstupy při různých nastaveních propojek -
Propojka A | Propojka B |
Stav zámku výstupu |
Výstupní úroveň TTL |
otevřeno | otevřeno |
Bez zámku |
Vysoký |
otevřeno | Zavřít |
Samosvor |
Vysoký |
Zavřít | otevřeno |
No-Lock |
Nízký |
Zavřít | Zavřít |
Self-Lock |
Nízký |
Pro tento projekt bude senzor použit ve výchozí konfiguraci, která je k dispozici ve stavu vydání z výroby. V tomto projektu bude dotykový senzor použit k ovládání žárovky střídavého proudu pomocí mikrokontroléru AT89S52.
S mikrokontrolérem 8051 je propojeno relé. Pinout relé je vidět na obrázku níže -
NO je normálně otevřený a NC je normálně připojen. L1 a L2 jsou dvě svorky reléové cívky. Pokud napětí není připojeno, relé se vypne a PÓL se připojí k NC kolíku. Když je na svorky cívky přivedeno napětí, relé L1 a L2 se sepnou a pól se připojí k NO. Proto lze spojení mezi POLE a NO zapnout nebo vypnout změnou provozního stavu relé.
Potřebné materiály
- Mikrokontrolér AT89S52 8051
- Standardní kubické relé - 5V
- 11 592 MHz krystal
- Kondenzátory 33pF - 2ks
- 2k rezistor -1 ks
- 4,7k rezistor - 1 ks
- 10uF kondenzátor
- BC549B tranzistor
- Senzor TTP223
- Dioda 1N4007
- Žárovka s držákem žárovky
- Prkénko na prkénko
- Napájení 5 V, nabíječka telefonu může fungovat.
- Spousta propojovacích nebo Berg vodičů.
- Programovací prostředí AT89S52 s Programmer Kit a IDE s kompilátorem
Kruhový diagram
Schéma ovládání světla pomocí dotykového senzoru a 8051 je uvedeno níže,
Tranzistor se používá k zapnutí nebo vypnutí relé. Dotykový senzor je připojen k jednotce mikrokontroléru AT89S52. Obvod je konstruován pomocí prkénka.
Programování mikrokontroléru Atmega AT89S52
Na konci je uveden kompletní kód 8051. Zde vysvětlujeme několik částí kódu. Pokud s mikrokontrolérem 8051 začínáte, nejprve se naučte programovat mikrokontrolér 8051.Níže uvedené řádky kódu slouží k integraci relé a dotykového senzoru s mikrokontrolérem 8051. REGX52 je soubor záhlaví pro jednotku mikrokontroléru AT89S52. Je také deklarována funkce zpoždění.
#zahrnout
Dotyk a relé jsou inicializovány jako 0. Dotykový senzor změní logiku 0 na 1. Pokud je tvrzení pravdivé, když je dotykový senzor aktivován, a z tohoto důvodu se změní stav relé. Pro přesnou detekci dotyku se však používá zpoždění odskoku.
// Hlavní funkce void main (void) { RELAY = 0; Dotkněte se = 0; while (1) { if (Touch == 1) { delay (15); // zpoždění debounce if (Touch == 1) { RELAY =! RELAY; // Přepnout zpoždění RELAY pin (30); } } } }
Níže je zapsána funkce zpoždění. Funkce přijímá vstup ve formátu milisekund a generuje zpoždění pomocí dvou smyček pro . Toto zpoždění není příliš přesné, ale je přijatelné a většinou závisí na načasování hodinového cyklu.
/ * Funkce související se zpožděním * / void delay (char ms) {int a, b; for (a = 0; a <1295; a ++) {for (b = 0; b
Tento dotykový ovládaný světelný obvod je testován na prkénku s připojenou žárovkou s nízkou spotřebou. Kompletní skica s demonstračním videu je připojen níže. Zde můžete zkontrolovat více projektů domácí automatizace.