- Potřebné materiály:
- Pracovní metodika:
- Předpoklady:
- Práce s AC dálkovým ovládáním:
- Schéma zapojení a vysvětlení:
- Dekódování vašich AC dálkových signálů:
- Hlavní program Arduino:
- Instalace aplikace pro Android:
- Fungování AC ovládaného mobilním telefonem:
V dnešním moderním světě, ať už jdeme kamkoli, máme kolem sebe spoustu elektronických zařízení. Ale ze všeho je jen jedno zařízení, které máme osobně neustále v kapsách. Ano, jsou to naše mobilní telefony. Nyní se mobilní telefony staly více než zařízením používaným ke komunikaci, jsou to naše fotoaparáty, jsou to naše mapy, jsou to naše nákupní motokáry a co ne?
S touto schopností v našich rukou je opravdu nudný nápad používat dálkové ovladače k ovládání jakýchkoli elektronických aplikací v naší domácnosti, jako je TV, AC, domácí kino atd. Je vždy frustrující sáhnout po dálkovém ovládání AC z pohodlného pohodlí naší postele nebo pohovka. Proto v tomto projektu vytvoříme malé nastavení, pomocí kterého můžete ovládat klimatizaci pomocí svého chytrého telefonu pomocí Bluetooth a Arduino. Zní to zajímavě správně! Postavme jeden
Potřebné materiály:
- Arduino Mega 2560
- TSOP (HS0038)
- IR LED
- Libovolná barevná LED a rezistor 1K (volitelně)
- HC-06
- Nepájivá deska
- Připojení vodičů
Pracovní metodika:
Všechna dálková ovládání v naší domácnosti, která používáme k ovládání televize, domácího kina, klimatizace atd., Fungují pomocí IR Blasterů. Programovací IR není nic jiného než IR LED, které by mohly s emitory signál opakovanými pulsování; tento signál bude čten přijímačem v elektronickém zařízení. U každého jiného tlačítka na dálkovém ovladači se odstřelí jedinečný signál, který se po přečtení přijímačem použije k provedení určité předem definované úlohy. Pokud dokážeme přečíst tento signál vycházející z dálkového ovladače, můžeme stejný signál napodobit pomocí IR LED, kdykoli je to pro provedení daného úkolu potřeba. Dříve jsme vytvořili obvod IR Blaster pro Universal IR Remote a pro automatickou regulaci teploty střídavého proudu.
TSOP je IR přijímač, který by mohl být použit pro dekódování signálu přicházejícího z dálkových ovladačů. Tento TSOP použijeme k dekódování všech informací z našeho dálkového ovladače a jejich uložení na Arduino. Pak pomocí těchto informací a IR LED můžeme znovu vytvořit IR signály z našeho Arduina, kdykoli je to potřeba.
Předpoklady:
U tohoto AC projektu Arduino s technologií Bluetooth se ujistěte, že máte Arduino Mega a ne jinou verzi Arduina, protože velikost kódu je velká. Nainstalujte IR vzdálenou knihovnu pomocí tohoto odkazu pro práci s TSOP a IR Blaster.
Práce s AC dálkovým ovládáním:
Než přistoupíme k projektu, věnujte trochu času a všimněte si, jak funguje vaše dálkové ovládání AC. Dálkové ovladače AC fungují trochu odlišně ve srovnání s dálkovými ovladači TV, DVD IR. Na vašem dálkovém ovladači může být pouze 10–12 tlačítek, ale budou moci odesílat mnoho různých typů signálů. To znamená, že ovladač neposílá pokaždé stejný kód pro stejné tlačítko. Například když snížíte teplotu pomocí tlačítka dolů na 24 ° C (stupeň Celsia), dostanete signál s množinou dat, ale při dalším stisknutí pro nastavení 25 ° C nebudete mít stejný data, protože teplota je nyní 25 a ne 24. Podobně se kód 25 bude lišit také pro různé otáčky ventilátoru, nastavení spánku atd. Takže se nebudeme pohrávat se všemi možnostmi a soustředíme se pouze na hodnoty teploty s konstantní hodnotou pro další nastavení.
Dalším problémem je množství dat, která se odesílají při každém stisknutí tlačítka, normální ovladače s vysíláním buď 24 bitů nebo 48 bitů, ale dálkový ovladač AC může odeslat až 228 bitů, protože každý signál obsahuje mnoho informací, jako je teplota, rychlost ventilátoru, Načasování spánku, styl Swing atd. To je důvod, proč potřebujeme Arduino Mega pro lepší možnosti ukládání.
Schéma zapojení a vysvětlení:
Naštěstí je hardwarové nastavení této klimatizace ovládané mobilním telefonem velmi snadné. Můžete jednoduše použít prkénko a provést připojení, jak je znázorněno níže.
Následující tabulku lze také použít k ověření připojení.
S.No: |
Pin součásti |
Pin Arduino |
1 |
TSOP - Vcc |
5V |
2 |
TSOP - GND |
Gnd |
3 |
TSOP - signál |
8 |
4 |
IR LED - katoda |
Gnd |
5 |
IR Led - anoda |
9 |
6 |
HC-05 - Vcc |
5V |
7 |
HC05 - GND |
Přízemní |
8 |
HC05 - Tx |
10 |
9 |
HC05 - Rx |
11 |
Jakmile je připojení hotové, mělo by to vypadat nějak takto níže. K uklizení věcí jsem použil prkénko na prkénko, ale můžete také přímo zapojit vodiče mezi muži a ženami, abyste připojili všechny komponenty
Dekódování vašich AC dálkových signálů:
Prvním krokem k ovládání střídavého proudu je použití TSOP1738 k dekódování IR kódů dálkového ovládání střídavého proudu. Proveďte všechna připojení podle schématu zapojení a ujistěte se, že máte nainstalovány všechny zmíněné knihovny. Nyní otevřete ukázkový program „ IRrecvDumpV2 “, který najdete na Soubor -> Příklady -> IRremote -> IRrecvDumpV2 .
int recvPin = 8; IRrecv irrecv (recvPin);
Protože se náš TSOP připojuje ke kolíku 8, změňte řádek číslo 9 na int recPin = 8, jak je uvedeno výše. Poté nahrajte program do svého Arduino Mega a otevřete Serial Monitor.
Namiřte dálkový ovladač na TSOP a stiskněte libovolné tlačítko, každé stisknutí příslušného signálu bude TSOP1738 přečteno, dekódováno Arduino a zobrazeno na sériovém monitoru. Za každou změnu teploty na dálkovém ovladači získáte jiná data. Uložte tato data, protože je budeme používat v našem hlavním programu. Váš sériový monitor bude vypadat asi takto, zobrazil jsem také soubor Word, do kterého jsem uložil zkopírovaná data.
Screenshot ukazuje kód pro nastavení teploty na 26 ° C pro mé AC dálkové ovládání. Na základě vašeho dálkového ovladače získáte jinou sadu kódů. Podobně zkopírujte kódy pro všechny různé úrovně teploty. Můžete zkontrolovat všechny IR kódy dálkového ovládání klimatizace v kódu Arduino uvedeném na konci tohoto tutoriálu.
Hlavní program Arduino:
Kompletní Hlavním Arduino Program může být v dolní části této stránky, ale nemůžete použít stejný program. Musíte změnit hodnoty signálního kódu, které jsme právě získali z náčrtu příkladu. Otevřete hlavní program na vašem Arduino IDE a přejděte dolů do této oblasti zobrazené níže, kde musíte nahradit hodnoty pole hodnotami, které jste získali pro svůj ovladač.
Všimněte si, že jsem použil 10 polí, z nichž dva jsme používali k zapnutí a vypnutí střídavého proudu, zatímco zbytek 8 se používá k nastavení jiné teploty. Například Temp23 se používá k nastavení 23 * C na vašem AC, takže použijte příslušný kód v tomto poli. Jakmile to uděláte, stačí nahrát kód do vašeho Arduina.
Pro tento projekt musíme importovat dvě knihovny. Jednou je knihovna IRremote, kterou jsme právě přidali do Arduina, a druhou je vestavěná softwarová sériová knihovna, která nám pomáhá při používání modulu Bluetooth.
#zahrnout
Dále inicializujeme modul Bluetooth na pinech 10 a 11 a poté použijeme objekt s názvem irsend pro přístup ke všem funkcím IR knihovny.
SoftwareSerial BT_module (10, 11); // RX, TX IRsend irsend;
Dále přicházejí velmi důležité řádky kódu. To je místo, kde jsou k dispozici informace pro ovládání střídavého proudu. Ten, který je zobrazen níže, je určen pro mé dálkové ovládání střídavým proudem, v předchozím kroku byste si měli pořídit ten svůj.
Dále uvnitř funkce nastavení neplatnosti inicializujeme dvě sériové komunikace. Jedním z nich je Bluetooth s rychlostí 9600 baudů a druhým je sériový monitor s rychlostí 57600 baudů.
void setup () {BT_module.begin (9600); // BT funguje na 9600 Serial.begin (57600); // Serial Monitor work son 57600}
Uvnitř naší smyčky neplatnosti (nekonečné smyčky) kontrolujeme, zda je něco přijímáno modulem Bluetooth. Pokud je něco přijato, ukládáme tyto informace do proměnné BluetoothData .
while (BT_module.available ()) // Pokud přicházejí data {BluetoothData = BT_module.read (); // přečíst a uložit Serial.println (BluetoothData); // vytiskněte jej na seriál pro účely testování}
Informace přijaté Bluetooth budou založeny na tlačítku stisknutém v naší aplikaci pro Android, kterou budeme instalovat v našem dalším kroku. Jakmile jsou informace přijaty, musíme spustit příslušný IR kód, jak je uvedeno níže
if (BluetoothData == '2') {irsend.sendRaw (Temp23, sizeof (Temp23) / sizeof (Temp23), khz); delay (2000); // Odeslat signál pro nastavení teploty 23C}
Zde, pokud je přijat kód '2', musíme nastavit teplotu AC na 23 ° C. Podobně máme kód od 0 do 9 pro provádění všech základních řídicích funkcí AC. Na konci této stránky se můžete podívat na kompletní arduino kód.
Instalace aplikace pro Android:
Posledním krokem chytrého telefonu s klimatizací je instalace aplikace pro Android. Aplikace pro Android pro tento projekt byla vytvořena pomocí Processing Android Mode. Zpracování je vynikající nástroj pro vytváření souborů.EXE nebo APK pro vaše vložené projekty. Jedná se o platformu Open source, stejně jako Arduino, a proto je zcela zdarma ke stažení.
Pokud se do toho nechcete příliš pustit, jednoduše si stáhněte soubor APK odtud do souboru zip a nainstalujte jej přímo do svého mobilního telefonu. Otevřete aplikaci a zobrazí se obrazovka, jak je uvedeno níže, poté můžete přejít k dalšímu kroku a užít si práci s projektem. Pokud ale chcete vyladit program aplikace tak, aby odpovídal vašim potřebám, můžete si přečíst dále.
Kompletní program souborů pro operační kód je možné stáhnout zde. Tento zip bude mít zdrojový kód a obrázek, pomocí kterého aplikace funguje. Po otevření kódu můžete vyladit následující řádky a upravit jej podle svých potřeb.
Jak již bylo řečeno, zpracování je podobné jako Arduino. Má tedy také funkce nastavení void a smyčky void (zde nakreslete). Uvnitř funkce nastavení neplatnosti budeme instruovat Bluetooth telefonu, aby se připojilo k Bluetooth Arduina. Název mého zařízení je zde „HC-05“, takže moje řádka kódu bude
bt.start (); // začít poslouchat BT připojení bt.getPairedDeviceNames (); bt.connectToDeviceByName ("HC-05"); // Připojte se k našemu modulu Bluetooth HC-06
Dále uvnitř funkcí load_buttons () můžete nakreslit tolik tlačítek, kolik chcete. Nakreslil jsem 10 tlačítek, jak je znázorněno v aplikaci. Poté máme funkci read_buttons (), která slouží k detekci toho, kterého tlačítka se dotýkáte. Každé tlačítko má určitou barvu, takže když se uživatel dotkne obrazovky, zkontrolujeme, které barvy se dotkl, a určíme, kterého tlačítka se dotkl. Ukázkový kód vytvořit tlačítko a vyberte jej na základě barvy je uvedeno níže
výplň (255,145,3); přímý (šířka / 2-šířka / 4, výška / 2, šířka / 4, výška / 12); vyplnit (255); text („25C“, šířka / 2-šířka / 4, výška / 2); // tlačítko 5 if (color_val == - 13589993) {byte data = {'0'}; bt.broadcast (data);}
Řádek „byte data = {'0'};“ je velmi důležitá linie. Zde rozhodujeme, který kód je třeba odeslat do Arduina přes Bluetooth. Zde, pokud je toto tlačítko stisknuto, je z Bluetooth do Arduina odeslána char „0“. Podobně můžeme poslat jiný znak pro různá tlačítka. Tyto znaky lze poté porovnat na straně Arduina a lze provést příslušnou akci.
Jděte do toho a pohrávejte si s kódem, pokud máte nějaké pochybnosti, obraťte se na mě v sekci komentářů a pokusím se vám co nejlépe pomoci.
Fungování AC ovládaného mobilním telefonem:
Jakmile jste připraveni na hardware, Arduino Code a aplikace pro Android, je čas si výstup užít. Nahrajte Arduino kód na svůj hardware a umístěte jej směrem k AC. Nyní otevřete aplikaci pro Android ve svém mobilním telefonu, pokud vše funguje podle očekávání, mělo by se zobrazit „ Připojeno k: název_zařízení (nějaký kód) “, jak je uvedeno níže
Nyní stačí stisknout libovolné tlačítko na vaší aplikaci pro Android a mělo by to spustit příslušnou akci na AC, jako kdybyste používali Remote. Úpravou kódu můžete přidat libovolný počet požadovaných tlačítek a dokonce automatizovat střídavý proud na základě teploty nebo přítomnosti v místnosti. Zkontrolujte kompletní Arduino kód a video níže.
Doufám, že se vám projekt líbil a pochopili jste jeho koncept. Jako vždy, když máte při provádění této práce nějaký problém, můžete na fórech posílat dotazy a nechat je vyřešit.
Soubor APK pro instalaci aplikace pro Android si můžete stáhnout zde.