- Dotykový senzor
- Poznejte Relay
- Požadované komponenty
- Kruhový diagram
- Programování Arduino UNO pro ovládání žárovky pomocí dotykového senzoru
- Testování funkčnosti dotykového senzoru TTP223
V některých aplikacích je pro ovládání funkcí zařízení vyžadován vstup uživatele. Ve vestavěné a digitální elektronice se používají různé druhy metod zadávání uživatelů. Dotykový senzor je jedním z nich. Dotykový senzor je důležité a široce používané vstupní zařízení pro rozhraní s mikrokontrolérem a zjednodušilo zadávání dat. Existují jednotlivá místa, kde lze dotykový senzor použít, ať už se jedná o mobilní telefon nebo spínač LCD monitoru. Na trhu je však k dispozici mnoho typů senzorů, ale kapacitní dotykový senzor je v segmentu dotykových senzorů nejpoužívanějším typem.
V předchozím tutoriálu jsme provedli ovládání světla pomocí dotykového senzoru a mikrokontroléru 8051, nyní v tomto projektu bude stejný dotykový senzor propojen s Arduino UNO. Arduino je velmi populární a snadno dostupná vývojová deska.
Dříve jsme používali dotykové vstupní metody využívající kapacitní dotykové podložky s různými mikrokontroléry, například:
- Rozhraní dotykové klávesnice s mikrokontrolérem ATmega32
- Kapacitní dotyková podložka s Raspberry Pi
Dotykový senzor
Dotykový senzor, který bude použit pro tento projekt, je kapacitní modul dotykového senzoru a ovladač senzoru je založen na ovladači IC TTP223. Provozní napětí IC TTP223 je od 2 V do 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 se dotykový senzor s TTP223 stává populárním v segmentu kapacitních dotykových senzorů.
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 LOW na HIGH. 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. Podrobné informace najdete v datovém listu TTP 223, který bude velmi užitečný.
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ý |
U tohoto projektu bude senzor použit jako výchozí konfigurace, která je k dispozici za podmínek vydání z výroby.
Spotřebiče lze ovládat pomocí dotykového senzoru a propojením s mikrokontrolérem. V tomto projektu bude dotykový senzor použit k ovládání žárovky jako ZAPNUTO nebo VYPNUTO pomocí Arduino UNO a relé.
Poznejte Relay
Pro propojení relé je důležité mít nestranný názor na popis kolíku 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. Takže spojení mezi POLE a NO lze zapnout nebo vypnout změnou provozního stavu relé. Před aplikací je velmi vhodné zkontrolovat specifikaci relé. Relé má provozní napětí napříč L1 a L2. Některá relé fungují na 12V, jiná na 6V a jiná na 5V. Nejen, že má NO, NC a POLE také hodnocení napětí a proudu. Pro naši aplikaci používáme relé 5V s hodnocením 250V, 6A na spínací straně.
Požadované komponenty
- Arduino UNO
- Kabel USB pro programování a napájení
- Standardní kubické relé - 5V
- 2k rezistor -1 ks
- 4,7k rezistor - 1 ks
- BC549B tranzistor
- Modul snímače TTP223
- Dioda 1N4007
- Žárovka s držákem žárovky
- Prkénko na prkénko
- Telefonní nabíječka pro připojení Arduina přes USB kabel.
- Spoustu připojovacích nebo Berg kabelů.
- Programovací platforma Arduino.
2k rezistor, BC549B, 1N4007 a relé lze nahradit reléovým modulem.
Kruhový diagram
Schéma připojení dotykového senzoru k Arduinu je jednoduché a je vidět níže,
Tranzistor se používá k zapnutí nebo vypnutí relé. To je způsobeno tím, že piny Arduino GPIO nejsou schopny poskytnout dostatek proudu pro řízení relé. 1N4007 je vyžadován pro blokování EMI během situace zapnutí nebo vypnutí relé. Dioda funguje jako dioda s volnoběžkou. Dotykový senzor je připojen k desce Arduino UNO.
Obvod je postaven na prkénku s Arduino, jak je uvedeno níže.
Správné připojení prkénka je vidět na níže uvedeném schématu.
Programování Arduino UNO pro ovládání žárovky pomocí dotykového senzoru
Na konci je uveden kompletní program s fungujícím videem. Zde vysvětlujeme několik důležitých částí kódu. Arduino UNO bude programováno pomocí Arduino IDE. Nejprve je zahrnuta knihovna Arduino pro přístup ke všem výchozím funkcím Arduina.
#zahrnout
Definujte všechna čísla pinů, ke kterým bude připojeno relé a dotykový senzor. Zde je dotykový senzor připojen k pinu A5. Používá se také vestavěná LED, která je přímo připojena v desce ke kolíku 13. Relé je připojeno ke kolíku A4.
/ * * Popis kolíku * / int Touch_Sensor = A5; int LED = 13; int relé = A4;
Definujte režim pinu, tj. Jaká by měla být funkce pinu, ať už jako vstup nebo výstup. Zde se zadává dotykový senzor. Na výstupu jsou reléové a LED piny.
/ * * Nastavení režimu Pin * / void setup () { pinMode (Touch_Sensor, INPUT); pinMode (LED, VÝSTUP); pinMode (relé, VÝSTUP); }
Jsou deklarována dvě celá čísla, kde se „podmínka“ používá k udržení stavu senzoru bez ohledu na to, zda se ho dotknete nebo ne. „Stav“ se používá k udržení stavu LED a relé, zapnuto nebo vypnuto.
/ * * Průběh programu Popis * / int podmínka = 0; int stav = 0; // Pro udržení stavu přepínače.
Dotykový senzor při dotyku změní logiku 0 na 1. Toto čte funkce digitalRead () a hodnota je uložena v proměnné podmínky. Když je podmínka 1, stav LED a relé se změní. Pro přesnou detekci dotyku se však používá zpoždění odskoku. Zpoždění odskoku , zpoždění (250); slouží k potvrzení jediného dotyku.
void loop () { condition = digitalRead (A5); // Čtení digitálních dat z pinu A5 Arduina. if (podmínka == 1) { zpoždění (250); // zpoždění odskoku. if (podmínka == 1) { state = ~ state; // Změna stavu přepínače. digitalWrite (LED, stav); digitalWrite (relé, stav); } } }
Testování funkčnosti dotykového senzoru TTP223
Obvod je testován v nepájivém poli s připojenou žárovkou s nízkou spotřebou.
Uvědomte si, že tento projekt používá napětí 230-240 V stř., Proto doporučujeme při používání žárovky postupovat opatrně. Máte-li jakékoli pochybnosti nebo návrhy, komentujte prosím níže.