Hoe ontwerp je een aanraakdimmercircuit met Arduino?
Een schakelaar is het meest essentiële onderdeel van elk circuit. Verschillende circuits gebruiken verschillende schakelaars erin. In dit project gaan we een Touch Dimmer Switch gebruiken. Deze schakelaar is een aanraakgevoelige sensor die de fysieke aanraking of nabijheid detecteert. Het elektrische apparaat dat wordt aangestuurd door deze aanraakdimmer, zal zijn intensiteit aanpassen aan de output van deze schakelaar.
Hoe kan ik een apparaat wisselen met de aanraaksensor?
Laten we aan ons project beginnen zonder tijd te verspillen.
Stap 1: de componenten verzamelen
Als u overlast midden in een project wilt voorkomen, kunt u het beste een lijst maken van alle componenten die zullen worden gebruikt en een korte studie van hun werking doornemen. Een lijst met alle componenten die we in ons project gaan gebruiken, is als volgt:
Stap 2: de componenten bestuderen
Zoals we weten, hebben we een lijst met alle componenten die we gaan gebruiken, laten we een stap verder gaan en een korte studie van deze componenten doornemen.
Arduino Uno is een microcontrollerbord dat wordt gebruikt om verschillende bewerkingen in verschillende circuits uit te voeren. we branden een C-code op dit bord om het te vertellen hoe en welke bewerkingen moeten worden uitgevoerd.
Een aanraaksensor is een zeer gevoelig invoerapparaat dat fysieke aanraking of nabijheid detecteert. Het voordeel van deze sensor is dat een enkele sensor wordt gebruikt om veel bewerkingen uit te voeren, zoals aanraken, vegen, knijpen, enz. Het principe waarop hij werkt, is dat hij de capaciteitsverandering meet wanneer een persoon de sensor aanraakt. Deze sensor bestaat uit een TTP223-touchpad. Wanneer een vinger op de sensor wordt geplaatst, wordt de status van de OUT-pinnen weergegeven HOOG.
Stap 3: De componenten monteren
Laten we nu alle componenten in elkaar zetten en een schakelcircuit maken.
- Een aanraaksensor is een aanraakgevoelige module met 3 invoer- / uitvoerpinnen. Schakel deze module in door de Vcc-pin en de aardingspin te verbinden met de 5V en aarde van de Arduino. Verbind de SIG of OUT pin van deze module met pin8 van de Arduino.
- Verbind de 2N2222 transistor met de pin3 van de Arduino met een weerstand verbonden met de basis van de transistor en de collectorterminal met de 5V van Arduino Uno. Sluit een kleine lamp aan tussen de emitter van de transistor en de aarde. Pin3 van de Arduino is een PWMpin wat betekent dat de waarde op deze pin kan worden gevarieerd van 0 t/m 255.
Stap 4: Aan de slag met Arduino
Als u nog niet bekend bent met de Arduino IDE, hoeft u zich geen zorgen te maken, want hieronder vindt u een stapsgewijze procedure om de Arduino IDE in te stellen.
- Download de nieuwste versie van Arduino IDE van Arduino
- Sluit uw Arduino-bord aan op de pc en open het Configuratiescherm. Klik op Hardware en geluiden bekijken Apparaten en printers.Zoek de naam van de poort waarop uw Arduino-bord is aangesloten.
- Plaats de muisaanwijzer op het menu Gereedschap en stel het bord in op Arduino / Genuino Uno.
- Stel in hetzelfde Tool-menu de poort in die u eerder hebt waargenomen in Apparaten en printers.
- Download de onderstaande code en klik op de uploadknop om de code op de microcontroller-kaart te branden.
U kunt de code downloaden door hier te klikken.
Stap 5: Code
De code is heel simpel. Hieronder wordt het kort uitgelegd:
- Bij de start worden alle pinnen die worden gebruikt, geïnitialiseerd. Een variabele valwordt geïnitialiseerd en bevat de waarde die naar de lamp wordt gestuurd om de intensiteit van de gloed te wijzigen. Deze waarde ligt tussen 0 en 255.
int led = 3; int sen = 8; int val = 0;
2. leegte setup ()is een functie die wordt gebruikt om de pinnen in te stellen die moeten worden gebruikt als INPUT of OUTPUT. De baudrate wordt ook in deze functie ingesteld. Baudrate is de snelheid waarmee de microcontroller-kaart communiceert met andere sensoren.
leegte setup () {Serial.begin (9600); pinMode (sen, INPUT); pinMode (led, OUTPUT); digitalWrite (sen, LOW); digitalWrite (led, LOW); }
3. leegte lus ()is een functie die herhaaldelijk in een lus wordt uitgevoerd. In deze lus wordt gecontroleerd of de sensor een vinger detecteert of niet. Als de vinger continu wordt gedetecteerd, wordt de waarde in de variabele "val ” wordt aangepast om tussen 0 en 255 te blijven. Het proces gaat door totdat de vinger wordt opgetild of de maximale helderheid wordt bereikt. De controller is geprogrammeerd als een dubbele tab wordt gedetecteerd, het zal de helderheid verminderen.
Vergelijkbare logische lamp. van PWM wordt gebruikt voor het verminderen van de helderheid van de lamp. Als de vinger een dubbele tab heeft, neemt de intensiteit van de lamp geleidelijk af totdat de vinger wordt opgetild of de lamp de minimale helderheid bereikt.
void loop () {while (digitalRead (sen) == LOW); while (digitalRead (sen) == HIGH) {while (digitalRead (sen) == HIGH) {if (val <= 255) {analogWrite (led, val); val ++; vertraging (15); }} vertraging (1000); while (digitalRead (sen) == HIGH) {if (val> = 0) {analogWrite (led, val); val--; vertraging (15); }}}}
Nu we weten hoe we de aanraaksensor met Arduino moeten integreren. Nu kunt u uw eigen lamp thuis maken en genieten van het dimmen van uw lamp door deze aanraakgevoelige sensor te gebruiken.
Toepassingen
De werking van de dimmerschakelaar is hierboven beschreven met behulp van een klein lampje. Dit proces kan in veel andere applicaties worden geïmplementeerd. Enkele van deze toepassingen worden hieronder vermeld.
- Om de aanraakdimmer te gebruiken met AC-gloeilampen, kunnen speciale IC's zoals TT6061A worden gebruikt.
- Deze Touch Dimmer Switch kan worden gebruikt om de snelheid van een kleine ventilator te regelen door simpelweg de sensor aan te raken.
- Deze Touch Dimmer Switch kan worden gebruikt om de helderheid van een lamp te regelen door simpelweg de sensor aan te raken.
- Kan traditionele dimmerschakelaars zoals schuifschakelaar of draaischakelaar voor lampen vervangen.