- Potrebné materiály:
- Pracovná metodika:
- Predpoklady:
- Fungovanie diaľkového ovládača AC:
- Schéma zapojenia a vysvetlenie:
- Dekódovanie vašich diaľkových signálov AC:
- Hlavný program Arduino:
- Inštalácia aplikácie pre Android:
- Fungovanie AC ovládaného mobilným telefónom:
V dnešnom modernom svete máme všade okolo seba veľa elektronických zariadení. Ale zo všetkého je len jedno zariadenie, ktoré máme osobne neustále vo vreckách. Áno, sú to naše mobilné telefóny. Teraz sa mobilné telefóny stali viac ako zariadením slúžiacim na komunikáciu, sú to naše fotoaparáty, sú to naše mapy, sú to naše nákupné motokáry a čo nie?
S touto schopnosťou v rukách je skutočne nudný nápad používať diaľkové ovládače na ovládanie akýchkoľvek elektronických aplikácií v našej domácnosti, ako je televízia, napájanie, domáce kino atď. Je vždy frustrujúce siahnuť po diaľkovom ovládaní AC z pohodlného pohodlia našej postele. alebo pohovka. Preto v tomto projekte vytvoríme malé zariadenie, pomocou ktorého budete môcť ovládať klimatizáciu prostredníctvom svojho inteligentného telefónu pomocou Bluetooth a Arduino. Znie to zaujímavo, dobre! Postavme jeden
Potrebné materiály:
- Arduino Mega 2560
- TSOP (HS0038)
- IR Led
- Ľubovoľná farebná LED a rezistor 1K (voliteľné)
- HC-06
- Nepál
- Pripojenie drôtov
Pracovná metodika:
Všetky diaľkové ovládače v našej domácnosti, ktoré používame na ovládanie televízie, domáceho kina, napájania atď., Pracujú pomocou IR Blasterov. Programovacie IR nie je nič iné ako IR LED, ktoré by mohli s emitormi signál opakovanými pulzovanie; tento signál bude načítaný prijímačom v elektronickom prístroji. Pre každé odlišné tlačidlo na diaľkovom ovládači bude vydaný jedinečný signál, ktorý sa po prečítaní prijímačom použije na vykonanie konkrétnej vopred definovanej úlohy. Ak dokážeme prečítať tento signál vychádzajúci z diaľkového ovládača, môžeme rovnaký signál napodobniť pomocou IR LED, kedykoľvek je to potrebné na vykonanie konkrétnej úlohy. Predtým sme vyrobili obvod IR Blaster pre univerzálne IR diaľkové ovládanie a pre automatickú reguláciu teploty striedavého prúdu.
TSOP je IR prijímač, ktorý by mohol byť použitý pre dekódovanie signálu prichádzajúceho z diaľkových ovládačov. Tento TSOP použijeme na dekódovanie všetkých informácií z nášho diaľkového ovládača a ich uloženie na Arduino. Potom pomocou týchto informácií a IR LED môžeme kedykoľvek vytvoriť IR signály z nášho Arduina.
Predpoklady:
Pre tento AC projekt Arduino Bluetooth riadený, uistite sa, že máte Arduino Mega a nie inú verziu Arduina, pretože veľkosť kódu je veľká. Nainštalujte si IR Remote Library pomocou tohto odkazu, aby ste mohli pracovať s TSOP a IR Blaster.
Fungovanie diaľkového ovládača AC:
Predtým, ako pristúpime k projektu, chvíľu trvať a všimnite si, ako funguje vaše diaľkové ovládanie. Diaľkové ovládače AC fungujú trochu inak v porovnaní s diaľkovými ovládačmi TV, DVD IR. Na vašom diaľkovom ovládači môže byť iba 10 - 12 tlačidiel, ktoré však budú schopné vysielať rôzne typy signálov. To znamená, že diaľkový ovládač neposiela zakaždým rovnaký kód pre to isté tlačidlo. Napríklad keď znížite teplotu pomocou tlačidla dole na 24 ° C (stupeň Celzia), dostanete signál so súborom údajov, ale po opätovnom stlačení na 25 ° C nebudete mať rovnaký údaje, pretože teplota je teraz 25 a nie 24. Podobne sa kód pre 25 bude líšiť aj pre rôzne otáčky ventilátora, nastavenia režimu spánku atď. Takže sa nehádajme so všetkými možnosťami a sústreďujme iba hodnoty teploty so stálou hodnotou pre ďalšie nastavenia.
Ďalším problémom je množstvo dát, ktoré sa posielajú pri každom stlačení tlačidla, normálne diaľkové ovládače s odoslaním buď 24 bitov alebo 48 bitov, ale diaľkový ovládač AC môže vysielať až 228 bitov, pretože každý signál obsahuje veľa informácií, ako sú Temp, Fan Speed, Načasovanie spánku, štýl hojdania atď. To je dôvod, prečo potrebujeme Arduino Mega pre lepšie možnosti ukladania.
Schéma zapojenia a vysvetlenie:
Hardvérové nastavenie tejto klimatizovanej klimatizácie pomocou mobilného telefónu je našťastie veľmi jednoduché. Môžete jednoducho použiť nepájivú dosku a vykonať pripojenie podľa obrázka nižšie.
Nasledujúcu tabuľku možno použiť aj na overenie vašich pripojení.
S.No: |
Pin komponentu |
Pin Arduino |
1 |
TSOP - Vcc |
5V |
2 |
TSOP - GND |
Gnd |
3 |
TSOP - signál |
8 |
4 |
IR LED - katóda |
Gnd |
5 |
IR Led - anóda |
9 |
6 |
HC-05 - Vcc |
5V |
7 |
HC05 - GND |
Uzemnenie |
8 |
HC05 - Tx |
10 |
9 |
HC05 - Rx |
11 |
Po dokončení pripojenia by malo vyzerať niečo podobné, ako je uvedené nižšie. Na upratovanie vecí som použil nepájivú dosku, ale môžete tiež priamo zapojiť všetky vodiče medzi mužmi a ženami, aby ste pripojili všetky komponenty
Dekódovanie vašich diaľkových signálov AC:
Prvým krokom k ovládaniu vášho striedavého prúdu je použitie TSOP1738 na dekódovanie IR kódov diaľkového ovládania. Vykonajte všetky pripojenia podľa schémy zapojenia a ubezpečte sa, že máte nainštalované všetky spomínané knižnice. Teraz otvorte ukážkový program „ IRrecvDumpV2 “, ktorý nájdete na Súbor -> Príklady -> IRremote -> IRrecvDumpV2 .
int recvPin = 8; IRrecv irrecv (recvPin);
Pretože náš TSOP je pripojený na pin 8, zmeňte riadok číslo 9 na int recPin = 8, ako je uvedené vyššie. Potom nahrajte program do svojho Arduino Mega a otvorte Serial Monitor.
Namierte diaľkový ovládač na TSOP a stlačte ľubovoľné tlačidlo, pre každé stlačené tlačidlo bude jeho príslušný signál načítaný z TSOP1738, dekódovaný Arduinom a zobrazený na sériovom monitore. Za každú zmenu teploty na diaľkovom ovládaní získate iné údaje. Tieto údaje si uložte, pretože ich budeme používať v našom hlavnom programe. Váš sériový monitor bude vyzerať asi takto, zobrazil som aj súbor Word, do ktorého som uložil skopírované údaje.
Screenshot zobrazuje kód pre nastavenie teploty na 26 ° C pre moje AC diaľkové ovládanie. Na základe vášho diaľkového ovládača získate inú sadu kódov. Podobne skopírujte kódy pre všetky rôzne úrovne teploty. Všetky IR kódy diaľkového ovládania klimatizácie môžete skontrolovať v kóde Arduino uvedenom na konci tohto tutoriálu.
Hlavný program Arduino:
Kompletné Hlavným Arduino Program môže byť v dolnej časti tejto stránky, ale nemôžete použiť rovnaký program. Musíte zmeniť hodnoty signálneho kódu, ktoré sme práve získali z náčrtu príkladu. Otvorte hlavný program na vašom Arduino IDE a posuňte sa nadol do tejto oblasti zobrazenej nižšie, kde musíte nahradiť hodnoty poľa hodnotami, ktoré ste získali pre svoj diaľkový ovládač.
Všimnite si, že som použil 10 polí, z ktorých dvaja sme zvykli ZAPNÚŤ a VYPNÚŤ AC, zatiaľ čo zvyšok 8 sa používa na nastavenie inej teploty. Napríklad Temp23 sa používa na nastavenie 23 * C na vašom AC, takže použite príslušný kód v tomto poli. Akonáhle je to hotové, stačí nahrať kód do vášho Arduina.
Musíme dovážať dve knižnice pre tento projekt. Jednou z nich je knižnica IRremote, ktorú sme práve pridali do Arduina , a druhou je zabudovaná softvérová sériová knižnica, ktorá nám pomáha pri používaní modulu Bluetooth.
#include
Ďalej inicializujeme modul Bluetooth na pinoch 10 a 11 a potom pomocou objektu s názvom irsend sprístupníme všetky IR funkcie knižnice.
SoftwareSerial BT_module (10, 11); // RX, TX IRsend irsend;
Ďalej nasledujú veľmi dôležité riadky kódu. Tu sa nachádzajú informácie na ovládanie vášho AC. Ten, ktorý je zobrazený nižšie, je určený pre moje AC diaľkové ovládanie, mali ste si zaobstarať ten váš v predchádzajúcom kroku.
Ďalej vo vnútri funkcie nastavenia neplatnosti inicializujeme dve sériové komunikácie. Jedným z nich je Bluetooth s rýchlosťou 9600 baudov a druhým je sériový monitor s rýchlosťou 57600 baudov.
void setup () {BT_module.begin (9600); // BT funguje na 9600 Serial.begin (57600); // Serial Monitor work son 57600}
Vo vnútri našej neplatnej slučky (nekonečnej slučky) kontrolujeme, či niečo prijíma modul Bluetooth. Ak niečo prijmeme, tieto informácie uložíme do premennej BluetoothData .
while (BT_module.available ()) // Ak prichádzajú dáta {BluetoothData = BT_module.read (); // prečítajte si ju a uložte ju Serial.println (BluetoothData); // vytlačte ho na sériové číslo na účely testovania}
Informácie prijaté cez Bluetooth budú založené na tlačidle stlačenom na našej aplikácii pre Android, ktorú nainštalujeme v ďalšom kroku. Len čo informáciu prijmeme, musíme spustiť príslušný IR kód, ako je uvedené nižšie
if (BluetoothData == '2') {irsend.sendRaw (Temp23, sizeof (Temp23) / sizeof (Temp23), khz); delay (2000); // Pošle signál na nastavenie teploty 23C}
Ak je prijatý kód '2', musíme nastaviť teplotu AC na 23 ° C. Podobne máme kód od 0 do 9 na vykonávanie všetkých základných riadiacich funkcií AC. Môžete odkazovať na úplné Arduino kódu na konci tejto stránky.
Inštalácia aplikácie pre Android:
Posledným krokom inteligentného telefónu ovládaného klimatizáciou je inštalácia aplikácie pre Android. Aplikácia pre Android pre tento projekt bola vytvorená v režime Processing Android. Spracovanie je vynikajúci nástroj na vytváranie súborov.EXE alebo APK pre vaše vložené projekty. Je to open source platforma rovnako ako Arduino, a preto je úplne zadarmo na stiahnutie a použitie.
Ak sa tomu nechcete príliš venovať, môžete si jednoducho stiahnuť súbor APK odtiaľto dovnútra súboru zip a nainštalovať si ho priamo do svojho mobilného telefónu. Otvorte aplikáciu a zobrazí sa obrazovka, ako je to znázornené nižšie. Potom môžete pokračovať k ďalšiemu kroku a užívať si prácu s projektom. Ak ale chcete vylepšiť program aplikácie tak, aby vyhovoval vašim potrebám, môžete si prečítať ďalej.
Kompletný program súborov pre operačný kód je možné stiahnuť tu. Tento ZIP bude mať zdrojový kód a obrázok, pomocou ktorého aplikácia funguje. Po otvorení kódu môžete doladiť nasledujúce riadky, aby ste ho prispôsobili svojim potrebám.
Ako už bolo povedané, spracovanie je podobné ako v prípade Arduina. Má teda tiež funkcie void setup a void loop (tu nakreslite). Vo vnútri funkcie nastavenia prázdnoty poučíme Bluetooth telefónu, aby sa pripojil k Bluetooth v Arduine. Názov môjho zariadenia je tu „HC-05“, takže môj riadok kódu bude
bt.start (); // začni počúvať BT pripojenia bt.getPairedDeviceNames (); bt.connectToDeviceByName ("HC-05"); // Pripojte sa k nášmu modulu Bluetooth HC-06
Ďalej vo vnútri funkcií load_buttons () môžete nakresliť toľko tlačidiel, koľko chcete. Nakreslil som 10 tlačidiel, ako je to zobrazené v Aplikácii. Potom máme funkciu read_buttons (), ktorá slúži na zistenie toho, ktorého tlačidla sa dotýkate. Každé tlačidlo má konkrétnu farbu, takže keď sa používateľ dotkne obrazovky, skontrolujeme, ktorej farby sa dotkol, a určíme, ktorého tlačidla sa dotkol. Vzorky kód vytvoriť tlačidlo a vyberte ho na základe farby je uvedené nižšie
výplň (255 145,3); priamy (šírka / 2-šírka / 4, výška / 2, šírka / 4, výška / 12); výplň (255); text („25C“, šírka / 2-šírka / 4, výška / 2); // tlačidlo 5 if (color_val == - 13589993) {byte data = {'0'}; bt.broadcast (data);}
Riadok „byte data = {'0'};“ je veľmi dôležitá línia. Tu sa rozhodujeme, ktorý kód je potrebné odoslať do Arduina cez Bluetooth. Tu, ak je stlačené toto tlačidlo, je z Bluetooth do Arduina odoslaný znak „0“. Podobne môžeme poslať iný znak pre rôzne tlačidlá. Tieto znaky je potom možné porovnať na strane Arduina a podniknúť príslušné kroky.
Pokračujte a hrajte sa okolo kódu, ak máte pochybnosti, obráťte sa na mňa v sekcii komentárov a pokúsim sa vám pomôcť čo najlepšie.
Fungovanie AC ovládaného mobilným telefónom:
Keď ste pripravení na prácu s hardvérom, aplikáciou Arduino Code a Android, je čas vychutnať si výstup. Vložte Arduino kód do svojho hardvéru a umiestnite ho smerom k AC. Teraz otvorte aplikáciu pre Android vo svojom mobilnom telefóne, ak všetko funguje podľa očakávaní, malo by sa zobraziť hlásenie „ Pripojené k: názov_zariadenia (nejaký kód) “, ako je uvedené nižšie
Teraz stačí stlačiť ľubovoľné tlačidlo v aplikácii pre Android a malo by sa spustiť príslušné pôsobenie na AC, ako keby ste používali diaľkový ovládač. Môžete pridať toľko tlačidiel, ktoré chcete, úpravou kódu a dokonca môžete automatizovať svoju klimatizáciu podľa teploty alebo prítomnosti v miestnosti. Skontrolujte kompletný kód Arduino a video uvedené nižšie.
Dúfam, že sa vám projekt páčil a pochopili ste jeho koncepciu. Ako vždy, ak máte pri uskutočňovaní tejto úlohy akýkoľvek problém, môžete na fórach písať otázky a vyriešiť ich.
Súbor APK na inštaláciu aplikácie pre Android si môžete stiahnuť odtiaľto.