- Ce este un senzor tactil capacitiv?
- Materiale necesare
- Diagrama circuitului
- Programarea microcontrolerului Atmega AT89S52
În lumea electronică modernă, intrarea tactilă este utilizată aproape peste tot, indiferent dacă poate fi un telefon mobil sau un comutator de monitor LCD. Atingerea capacitivă este utilizată pe scară largă în segmentul senzorilor tactili și am folosit anterior atingerea capacitivă cu un Raspberry Pi. Aici, în acest proiect, vom interfața senzorul tactil cu microcontrolerul 8051 AT89S52. Dacă nu sunteți nou la microcontolerul 8051, puteți începe cu LED-ul intermitent cu 8051.
Ce este un senzor tactil capacitiv?
Atingerea capacitivă funcționează pe sarcina electrostatică disponibilă pe corpul nostru. Ecranul este deja încărcat cu câmp electric. Când atingem ecranul, se formează un circuit strâns din cauza sarcinii electrostatice care curge prin corpul nostru. În plus, software-ul decide locația și acțiunea care trebuie efectuată. Ecranul tactil capacitiv nu va funcționa cu mănuși de mână, deoarece nu va exista nicio conducție între deget (e) și ecran.
Senzor tactil utilizat în acest proiect
Senzorul tactil utilizat în acest proiect este un modul capacitiv senzor tactil, iar driverul senzorului se bazează pe driverul IC TTP223. Tensiunea de funcționare a IC TTP23 este de 2,0V până la 5,5V, iar consumul de curent al senzorului tactil este foarte mic. Datorită consumului de curent ieftin, scăzut și a suportului ușor de integrat, senzorul tactil cu TTP223 este foarte popular în segmentul său.
În imaginea de mai sus, ambele părți ale senzorului sunt afișate acolo unde diagrama pinout este clar vizibilă. De asemenea, are un jumper de lipit care poate fi folosit pentru reconfigurarea senzorului în ceea ce privește ieșirea. Jumperul este A și B. Configurația implicită sau în starea implicită a jumperului de lipit, ieșirea se schimbă de la scăzut la înalt când senzorul este atins. Cu toate acestea, atunci când jumperul este setat și senzorul este reconfigurat, ieșirea își schimbă starea atunci când senzorul tactil detectează atingerea. Sensibilitatea senzorului tactil poate fi configurată și prin schimbarea condensatorului. Pentru informații detaliate, foaia tehnică a TTP 223 este foarte utilă.
Graficul de mai jos prezintă ieșiri diferite la diferite setări ale jumperului-
Jumper A | Jumper B |
Starea de blocare a ieșirii |
Nivel TTL de ieșire |
Deschis | Deschis |
Fără blocare |
Înalt |
Deschis | Închide |
Autoblocare |
Înalt |
Închide | Deschis |
Fără blocare |
Scăzut |
Închide | Închide |
Auto-Blocare |
Scăzut |
Pentru acest proiect, senzorul va fi utilizat în configurația implicită, care este disponibilă în condițiile eliberării din fabrică. În acest proiect, senzorul tactil va fi utilizat pentru a controla un bec AC folosind microcontrolerul AT89S52.
Un releu este interfațat cu microcontrolerul 8051. Pinout-ul releului poate fi văzut în imaginea de mai jos
NO este normal deschis și NC este normal conectat. L1 și L2 sunt cele două borne ale bobinei releului. Când tensiunea nu este aplicată, releul este oprit și POLE este conectat cu pinul NC. Când tensiunea este aplicată peste bornele bobinei, L1 și L2 ale releului sunt pornite și POLUL se conectează cu NO. Prin urmare, conexiunea între POLE și NO poate fi pornită sau oprită prin schimbarea stării de funcționare a releului.
Materiale necesare
- AT89S52 8051 Microcontroler
- Releu cubic standard - 5V
- 11.592 MHz Cristal
- Condensatori 33pF - 2buc
- Rezistor 2k -1 buc
- Rezistor 4.7k - 1 buc
- Condensator 10uF
- BC549B tranzistor
- Senzor TTP223
- 1N4007 Diodă
- Bec cu suport bec
- O placă de măsurare
- Sursa de alimentare de 5V, un încărcător de telefon poate funcționa.
- O mulțime de fire jumper sau fire berg.
- Mediu de programare AT89S52 cu Programator Kit și IDE cu compilator
Diagrama circuitului
Schema pentru controlul luminii folosind senzorul tactil și 8051 este prezentată mai jos,
Tranzistorul este utilizat pentru a porni sau opri releul. Senzorul tactil este conectat la unitatea de microcontroler AT89S52. Circuitul este construit folosind o placă de calcul.
Programarea microcontrolerului Atmega AT89S52
Codul complet 8051 este dat la sfârșit. Aici explicăm câteva părți ale codului. Dacă sunteți nou la microcontrolerul 8051, învățați mai întâi cum să programați un microcontroler 8051.Liniile de cod de mai jos sunt utilizate pentru integrarea releului și a senzorului tactil cu microcontrolerul 8051. REGX52 este fișierul antet pentru unitatea de microcontroler AT89S52. Este declarată și o funcție de întârziere.
#include
Contactul și releul sunt inițializate ca 0. Senzorul tactil schimbă logica de la 0 la 1. Dacă afirmația este adevărată atunci când senzorul tactil este activat și din această cauză, starea releului se schimbă. Cu toate acestea, pentru a detecta cu precizie atingerea, se folosește o întârziere a retragerii.
// Funcția principală void main (void) { RELAY = 0; Atinge = 0; while (1) { if (Atinge == 1) { întârziere (15); // întârziere debounce dacă (Atingeți == 1) { RELAY =! RELAY; // Comutați întârzierea pinului RELAY (30); } } } }
Mai jos, este scrisă funcția de întârziere. Funcția preia introducerea în format de milisecunde și generează întârziere folosind două pentru bucle. Această întârziere nu este prea precisă, dar este acceptabilă și depinde în principal de sincronizarea ciclului de ceas.
/ * Funcție legată de întârziere * / întârziere nulă (char ms) {int a, b; for (a = 0; a <1295; a ++) {for (b = 0; b
Acest circuit de lumină controlat prin atingere este testat pe placa cu un bec cu putere redusă conectat la acesta. Schița complet cu o demonstrație video este atașat de mai jos. Puteți verifica mai multe proiecte de automatizare a locuinței aici.