- Aanraaksensor
- Maak kennis met Relay
- Componenten vereist
- Schakelschema
- Programmeren van Arduino UNO om gloeilamp te bedienen met behulp van aanraaksensor
- Testen van de werking van aanraaksensor TTP223
In sommige toepassingen is gebruikersinvoer vereist om de functies van een apparaat te besturen. Er zijn verschillende soorten gebruikersinvoermethoden die worden gebruikt in de embedded en digitale elektronica. De aanraaksensor is er een van. Aanraaksensor is een belangrijk en veelgebruikt invoerapparaat om te communiceren met een microcontroller en het heeft het invoeren van gegevens eenvoudiger gemaakt. Er zijn individuele plaatsen waar de aanraaksensor kan worden gebruikt, of het nu gaat om een mobiele telefoon of een LCD-monitorschakelaar. Er zijn echter veel soorten sensoren op de markt, maar capacitieve aanraaksensor is het meest gebruikte type in het aanraaksensorsegment.
In de vorige tutorial hebben we het licht besturen met behulp van aanraaksensor en 8051 microcontroller, nu zal in dit project dezelfde aanraaksensor worden gekoppeld aan Arduino UNO. De Arduino is een zeer populair en gemakkelijk verkrijgbaar ontwikkelbord.
We gebruikten eerder op aanraking gebaseerde invoermethoden met behulp van capacitieve touchpads met verschillende microcontrollers, zoals:
- Touch-toetsenbordinterface met ATmega32-microcontroller
- Capacitief touchpad met Raspberry Pi
Aanraaksensor
De aanraaksensor, die voor dit project zal worden gebruikt, is een capacitieve aanraaksensormodule en de sensordriver is gebaseerd op de driver IC TTP223. De bedrijfsspanning van de TTP223 IC is van 2 V tot 5,5 V en het stroomverbruik van de aanraaksensor is erg laag. Vanwege het goedkope, lage stroomverbruik en de eenvoudig te integreren ondersteuning, wordt de aanraaksensor met TTP223 populair in het capacitieve aanraaksensorsegment.
In de bovenstaande afbeelding zijn beide zijden van de sensor weergegeven waar het pinout-diagram duidelijk zichtbaar is. Het heeft ook een soldeerjumper die kan worden gebruikt om de sensor opnieuw te configureren met betrekking tot de uitgang. De jumper is A en B. Standaardconfiguratie of in de standaardstatus van de soldeerjumper verandert de output van LAAG naar HOOG wanneer de sensor wordt aangeraakt. Wanneer de jumper echter is ingesteld en de sensor opnieuw is geconfigureerd, verandert de uitgang van status wanneer de aanraaksensor de aanraking detecteert. De gevoeligheid van de aanraaksensor kan ook worden geconfigureerd door de condensator te veranderen. Voor gedetailleerde info, ga door de datasheet van de TTP 223, die erg handig zal zijn.
Onderstaande grafiek toont verschillende uitgangen bij verschillende jumperinstellingen-
Trui A | Trui B | Status uitgangsvergrendeling | Output TTL-niveau |
Open | Open | Geen slot | Hoog |
Open | Dichtbij | Zelfvergrendeling | Hoog |
Dichtbij | Open | Geen slot | Laag |
Dichtbij | Dichtbij | Zelfvergrendeling | Laag |
Voor dit project wordt de sensor gebruikt als de standaardconfiguratie die beschikbaar is op de fabrieksvrijgaveconditie.
Apparaten kunnen worden bediend met behulp van de aanraaksensor en door deze te koppelen aan een microcontroller. In dit project zal de aanraaksensor worden gebruikt om een gloeilamp AAN of UIT te sturen met Arduino UNO en relais.
Maak kennis met Relay
Om het relais te koppelen, is het belangrijk om een goed idee te hebben over de pinbeschrijving van het relais. De pinout van het relais is te zien in de onderstaande afbeelding-
NO is normaal gesproken open en NC is normaal verbonden. L1 en L2 zijn de twee aansluitingen van de relaisspoel. Wanneer de spanning niet wordt toegepast, wordt het relais uitgeschakeld en wordt de POLE verbonden met de NC-pin. Wanneer de spanning wordt aangelegd over de spoelaansluitingen, worden L1 en L2 van het relais ingeschakeld en wordt de POLE verbonden met de NO. De verbinding tussen POLE en NO kan dus AAN of UIT worden geschakeld door de bedrijfsstatus van het relais te wijzigen. Het is sterk aan te raden om de relaisspecificatie voor de aanvraag te controleren. Het relais heeft een bedrijfsspanning over de L1 en L2. Sommige relais werken met 12V, sommige met 6V en sommige met 5V. Niet alleen heeft dit, de NO, NC en POLE hadden ook een spanning en stroomsterkte. Voor onze toepassing gebruiken we een 5V-relais met een 250V, 6A-rating aan de schakelzijde.
Componenten vereist
- Arduino UNO
- De USB-kabel voor programmeren en stroomvoorziening
- Standaard Cubic Relay - 5V
- 2k weerstand -1 st
- 4.7k weerstand - 1 st
- BC549B-transistor
- TTP223 Sensormodule
- 1N4007 Diode
- Gloeilamp Met Lamphouder
- Een breadboard
- Een telefoonoplader om de Arduino via een USB-kabel aan te sluiten.
- Veel aansluitdraden of bergdraden.
- Arduino-programmeerplatform.
2k-weerstand, BC549B, 1N4007 en het relais kunnen worden vervangen door een relaismodule.
Schakelschema
Het schema voor het verbinden van de aanraaksensor met Arduino is eenvoudig en is hieronder te zien,
De transistor wordt gebruikt om het relais in of uit te schakelen. Dit komt doordat de Arduino GPIO-pinnen niet voldoende stroom kunnen leveren om het relais aan te sturen. De 1N4007 is vereist voor EMI-blokkering tijdens een relais aan of uit-situatie. De diode werkt als een vrijloopdiode. De aanraaksensor is verbonden met het Arduino UNO-bord.
Het circuit is gebouwd op een breadboard met de Arduino zoals hieronder.
De juiste breadboard-verbinding is te zien in het onderstaande schema.
Programmeren van Arduino UNO om gloeilamp te bedienen met behulp van aanraaksensor
Aan het einde wordt het complete programma met werkende video gegeven. Hier leggen we enkele belangrijke delen van de code uit. De Arduino UNO wordt geprogrammeerd met Arduino IDE. Ten eerste is de Arduino-bibliotheek opgenomen om toegang te krijgen tot alle standaardfuncties van Arduino.
# omvatten
Definieer alle pincodes waarop het relais en de aanraaksensor worden aangesloten. Hier is de aanraaksensor verbonden met pin A5. De ingebouwde LED wordt ook gebruikt die direct in het bord is aangesloten op pin 13. Het relais is aangesloten op pin A4.
/ * * Pin Beschrijving * / int Touch_Sensor = A5; int LED = 13; int Relay = A4;
Definieer de pin-modus, dwz wat moet de pin-functie zijn, of het nu als invoer of uitvoer is. Hier wordt de aanraaksensor ingevoerd. Relais- en LED-pinnen worden uitgevoerd.
/ * * Pin-modus instellen * / void setup () { pinMode (Touch_Sensor, INPUT); pinMode (LED, UITGANG); pinMode (Relais, UITGANG); }
Er worden twee gehele getallen gedeclareerd waarbij de 'conditie' wordt gebruikt om de conditie van de sensor vast te houden, ongeacht of deze wordt aangeraakt of niet. De 'status' wordt gebruikt om de status van de LED en het relais aan of uit te houden.
/ * * Programmastroom Beschrijving * / int condition = 0; int staat = 0; // Om de schakelaarstatus vast te houden.
De aanraaksensor verandert de logica 0 in 1 wanneer deze wordt aangeraakt. Dit wordt gelezen door de functie digitalRead () en de waarde wordt opgeslagen in de conditievariabele. Als de conditie 1 is, verandert de status van de LED en het relais. Om de aanraking echter nauwkeurig te detecteren, wordt een vertragingsvertraging gebruikt. De vertragingsvertraging , vertraging (250); wordt gebruikt om de enkele aanraking te bevestigen.
void loop () { conditie = digitalRead (A5); // Digitale gegevens lezen van de A5-pin van de Arduino. if (voorwaarde == 1) { vertraging (250); // de-bounce vertraging. if (voorwaarde == 1) { state = ~ state; // De toestand van de schakelaar wijzigen. digitalWrite (LED, staat); digitalWrite (relais, staat); } } }
Testen van de werking van aanraaksensor TTP223
Het circuit wordt getest in het breadboard met een lamp met laag vermogen erop aangesloten.
Merk op dat dit project 230-240V wisselspanning gebruikt, dus het wordt aangeraden voorzichtig te zijn bij het gebruik van een lamp. Als u enige twijfel of suggestie heeft, kunt u hieronder reageren.