- Czujnik dotyku
- Dowiedz się więcej o przekaźniku
- Wymagane składniki
- Schemat obwodu
- Programowanie Arduino UNO do sterowania żarówką za pomocą czujnika dotykowego
- Testowanie działania czujnika dotyku TTP223
W niektórych aplikacjach do sterowania funkcjami urządzenia wymagane jest wejście użytkownika. Istnieją różne rodzaje metod wprowadzania danych przez użytkownika w elektronice wbudowanej i cyfrowej. Jednym z nich jest czujnik dotyku. Czujnik dotyku jest ważnym i szeroko stosowanym urządzeniem wejściowym do łączenia się z mikrokontrolerem i ułatwił wprowadzanie danych. Istnieją indywidualne miejsca, w których można zastosować czujnik dotykowy, czy to telefon komórkowy, czy włącznik monitora LCD. Jednak na rynku dostępnych jest wiele typów czujników, ale pojemnościowy czujnik dotykowy jest szeroko stosowanym typem w segmencie czujników dotykowych.
W poprzednim samouczku wykonaliśmy Kontrolowanie światła za pomocą czujnika dotykowego i mikrokontrolera 8051, teraz w tym projekcie ten sam czujnik dotykowy będzie połączony z Arduino UNO. Arduino to bardzo popularna i łatwo dostępna płyta rozwojowa.
Wcześniej używaliśmy metod wprowadzania dotykowego, wykorzystujących pojemnościowe panele dotykowe z różnymi mikrokontrolerami, takimi jak:
- Połączenie klawiatury dotykowej z mikrokontrolerem ATmega32
- Pojemnościowy panel dotykowy z Raspberry Pi
Czujnik dotyku
Czujnik dotyku, który zostanie wykorzystany w tym projekcie to pojemnościowy moduł czujnika dotyku, a sterownik czujnika oparty jest na sterowniku IC TTP223. Napięcie robocze układu scalonego TTP223 wynosi od 2 V do 5,5 V, a pobór prądu czujnika dotykowego jest bardzo niski. Dzięki niedrogiemu, niskiemu poborowi prądu i łatwej do zintegrowania obsłudze, czujnik dotykowy z TTP223 staje się popularny w segmencie pojemnościowych czujników dotykowych.
Na powyższym obrazie pokazano obie strony czujnika, na których schemat wyprowadzeń jest wyraźnie widoczny. Posiada również zworkę do lutowania, za pomocą której można zmienić konfigurację czujnika w odniesieniu do wyjścia. Zworka to A i B. Konfiguracja domyślna lub w stanie domyślnym zworki do lutowania, wyjście zmienia się z NISKIEGO na WYSOKI po dotknięciu czujnika. Jednak po założeniu zworki i rekonfiguracji czujnika wyjście zmienia stan, gdy czujnik dotyku wykryje dotyk. Czułość czujnika dotyku można również skonfigurować, zmieniając kondensator. Aby uzyskać szczegółowe informacje, zapoznaj się z arkuszem danych TTP 223, który będzie bardzo przydatny.
Poniższy wykres pokazuje różne wyjścia przy różnych ustawieniach zworek-
Sweter A | Sweter B. | Stan blokady wyjścia | Wyjściowy poziom TTL |
otwarty | otwarty | Brak blokady | Wysoki |
otwarty | Blisko | Samoblokujący | Wysoki |
Blisko | otwarty | Brak blokady | Niska |
Blisko | Blisko | Samoblokowanie | Niska |
W tym projekcie czujnik będzie używany jako domyślna konfiguracja, która jest dostępna w stanie fabrycznym.
Urządzeniami można sterować za pomocą czujnika dotykowego oraz poprzez połączenie go z mikrokontrolerem. W tym projekcie czujnik dotykowy posłuży do sterowania żarówką jako włączoną lub wyłączoną za pomocą Arduino UNO i przekaźnika.
Dowiedz się więcej o przekaźniku
Aby połączyć przekaźnik, ważne jest, aby mieć rzetelne pojęcie o opisie pinów przekaźnika. Pinout przekaźnika można zobaczyć na poniższym obrazku-
NO jest normalnie otwarte, a NC jest normalnie podłączone. L1 i L2 to dwa zaciski cewki przekaźnika. Gdy napięcie nie jest podawane, przekaźnik jest wyłączany, a BIEGUN łączy się z pinem NC. Po przyłożeniu napięcia na zaciski cewki L1 i L2 przekaźnika włączają się, a BIEGUN łączy się z NO. Zatem połączenie między biegunem i NO można włączać lub wyłączać poprzez zmianę stanu działania przekaźnika. Zdecydowanie zaleca się sprawdzenie specyfikacji przekaźnika przed zastosowaniem. Przekaźnik ma napięcie robocze na L1 i L2. Niektóre przekaźniki współpracują z napięciem 12 V, niektóre z 6 V, a niektóre z 5 V. Nie tylko to ma, NO, NC i POLE miały również napięcie i prąd znamionowy. W naszej aplikacji używamy przekaźnika 5 V o wartości 250 V, 6 A po stronie przełączania.
Wymagane składniki
- Arduino UNO
- Kabel USB do programowania i zasilania
- Standardowy przekaźnik sześcienny - 5 V.
- Rezystor 2k -1 szt
- Rezystor 4,7k - 1 szt
- Tranzystor BC549B
- Moduł czujnika TTP223
- Dioda 1N4007
- Żarówka Z Uchwytem Żarówki
- Płytka prototypowa
- Ładowarka do telefonu do podłączenia Arduino za pomocą kabla USB.
- Wiele drutów podłączeniowych lub drutów górskich.
- Platforma programistyczna Arduino.
Rezystor 2k, BC549B, 1N4007 i przekaźnik można zastąpić modułem przekaźnika.
Schemat obwodu
Schemat podłączenia czujnika dotykowego z Arduino jest prosty i można go zobaczyć poniżej,
Tranzystor służy do włączania i wyłączania przekaźnika. Wynika to z faktu, że piny Arduino GPIO nie są w stanie zapewnić wystarczającego prądu do napędzania przekaźnika. 1N4007 jest wymagany do blokowania EMI w sytuacji włączenia lub wyłączenia przekaźnika. Dioda działa jako dioda gaszenia. Czujnik dotyku jest połączony z płytką Arduino UNO.
Obwód jest zbudowany na płytce prototypowej z Arduino, jak poniżej.
Prawidłowe połączenie płytki prototypowej można zobaczyć na poniższym schemacie.
Programowanie Arduino UNO do sterowania żarówką za pomocą czujnika dotykowego
Kompletny program wraz z działającym wideo jest podany na końcu. Tutaj wyjaśniamy kilka ważnych części kodu. Arduino UNO będzie programowane za pomocą Arduino IDE. Po pierwsze, dołączono bibliotekę Arduino, aby uzyskać dostęp do wszystkich domyślnych funkcji Arduino.
#zawierać
Zdefiniuj wszystkie numery pinów, do których zostanie podłączony przekaźnik i czujnik dotykowy. Tutaj czujnik dotyku jest podłączony do pinu A5. Wykorzystywana jest również wbudowana dioda LED podłączona bezpośrednio na płytce do pinu 13. Przekaźnik jest podłączony do pinu A4.
/ * * Opis pinu * / int Touch_Sensor = A5; int LED = 13; int Relay = A4;
Określ tryb pinów, tj. Jaka powinna być funkcja pinów, czy jako wejście czy wyjście. Tutaj wprowadza się czujnik dotykowy. Wyjście przekaźnika i piny LED.
/ * * Konfiguracja trybu pinów * / void setup () { pinMode (Touch_Sensor, INPUT); pinMode (LED, WYJŚCIE); pinMode (przekaźnik, wyjście); }
W przypadku użycia „warunku” do utrzymania stanu czujnika, niezależnie od tego, czy został dotknięty, czy nie, deklarowane są dwie liczby całkowite. „Stan” służy do utrzymywania stanu diody LED i przekaźnika, włączonych lub wyłączonych.
/ * * Przebieg programu Opis * / int warunek = 0; stan int = 0; // Aby utrzymać stan przełącznika.
Po dotknięciu czujnik dotykowy zmienia logikę z 0 na 1. Jest odczytywana przez funkcję digitalRead (), a wartość jest przechowywana w zmiennej warunku. Gdy warunek wynosi 1, stan diody LED i przekaźnika zostaje zmieniony. Jednak aby dokładnie wykryć dotknięcie, używane jest opóźnienie odbicia. Opóźnienie odbicia , opóźnienie (250); służy do potwierdzenia pojedynczego dotknięcia.
void loop () { condition = digitalRead (A5); // Odczyt danych cyfrowych z pinu A5 Arduino. if (warunek == 1) { opóźnienie (250); // opóźnienie odbicia. if (warunek == 1) { stan = ~ stan; // Zmiana stanu przełącznika. digitalWrite (LED, stan); digitalWrite (przekaźnik, stan); } } }
Testowanie działania czujnika dotyku TTP223
Obwód jest testowany w płytce stykowej z podłączoną do niej żarówką małej mocy.
Należy pamiętać, że ten projekt wykorzystuje napięcie 230-240 V AC, dlatego zaleca się ostrożność podczas używania żarówki. Jeśli masz jakiekolwiek wątpliwości lub sugestie, prosimy o komentarz poniżej.