- Tarvittavat materiaalit:
- Työmenetelmät:
- Edellytykset:
- AC-kaukosäätimen toiminta:
- Piirikaavio ja selitys:
- AC-kaukosignaalien dekoodaus:
- Arduino-pääohjelma:
- Android-sovelluksen asentaminen:
- Matkapuhelinohjatun vaihtovirran toiminta
Nykymaailmassa, missä ikinä menetkin, ympärillämme on paljon elektronisia laitteita. Mutta kaiken kaikkiaan meillä on vain yksi laite, joka on henkilökohtaisesti taskussa koko ajan. Kyllä, se on matkapuhelimemme. Matkapuhelimista on tullut enemmän kuin viestinnässä käytetty laite, ne ovat kameramme, karttamme, ostoskorimme ja mitä ei?
Kun tämä ominaisuus on käsissämme, on todella tylsää ajatusta käyttää kaukosäätimiä kodin elektronisten sovellusten, kuten television, AC: n, kotiteatterin jne., Ohjaamiseen. On aina turhauttavaa tavoittaa AC-kaukosäädin sängyn mukavasta mukavuudesta tai sohva. Tästä syystä aiomme rakentaa pienen kokoonpanon, jolla voit hallita ilmastointilaitetta älypuhelimellasi Bluetoothin ja Arduinon kautta. Kuulostaa mielenkiintoiselta! Rakennetaan yksi
Tarvittavat materiaalit:
- Arduino Mega 2560
- TSOP (HS0038)
- IR Led
- Mikä tahansa väri-LED ja 1K-vastus (valinnainen)
- HC-06
- Leipälauta
- Johtojen liittäminen
Työmenetelmät:
Kaikki kodissamme olevat kaukosäätimet, joita käytämme TV: n, kotiteatterin, AC: n jne. Ohjaamiseen, toimivat IR Blastersin avulla. Infrapunalähetinliitännän on vain IR-LED, joka voisi Blaster signaalia toistuva sykkivä; elektroniikkalaitteen vastaanotin lukee tämän signaalin. Jokaiselle kaukosäätimen painikkeelle räjäytetään ainutlaatuinen signaali, jota vastaanottimen lukemisen jälkeen käytetään tietyn ennalta määritetyn tehtävän suorittamiseen. Jos pystymme lukemaan tämän kauko-ohjaimesta tulevan signaalin, voimme sitten jäljitellä samaa signaalia IR-LEDillä, kun sitä tarvitaan aina kyseisen tehtävän suorittamiseen. Olemme aiemmin tehneet IR Blaster -piirin Universal IR -kaukosäätimelle ja automaattiselle AC-lämpötilan ohjaukselle.
TSOP on IR-vastaanotin, jota voidaan käyttää dekoodaamaan tulevan signaalin Kaukosäätimen. Käytämme tätä TSOP: ta purkamaan kaikki kaukosäätimemme tiedot ja tallentamaan ne Arduinoon. Sitten näiden tietojen ja IR-ledin avulla voimme luoda IR-signaalit Arduinostamme tarvittaessa.
Edellytykset:
Varmista tälle Arduino Bluetooth -ohjatulle AC-projektille, että sinulla on Arduino Mega eikä muita Arduinon versioita, koska koodin koko on raskas. Asenna IR-etäkirjasto tämän linkin avulla työskennellessäsi TSOP: n ja IR Blasterin kanssa.
AC-kaukosäätimen toiminta:
Ennen kuin aloitamme projektin, vie jonkin aikaa ja huomaa, kuinka verkkokaukosi toimii. AC-kaukosäätimet toimivat hieman eri tavalla kuin TV-, DVD IR -kaukosäätimet. Kaukosäätimessä voi olla vain 10–12 painiketta, mutta ne pystyvät lähettämään paljon erityyppisiä signaaleja. Eli kaukosäädin ei lähetä samaa koodia joka kerta samalle painikkeelle. Esimerkiksi, kun lasket lämpötilaa alas-painikkeella saadaksesi siitä 24 ° C (celsiusaste), saat signaalin joukolla tietoja, mutta kun painat sitä uudelleen asettaaksesi 25 ° C, et saa samaa tietoja, koska lämpötila on nyt 25 eikä 24 ° C. Vastaavasti 25: n koodi vaihtelee myös eri tuulettimen nopeuden, lepotila-asetusten jne. vuoksi. Älkäämme siis höpykää ympäri kaikkia vaihtoehtoja ja keskitymme vain lämpötila-arvoihin vakioarvolla muille asetuksille.
Toinen ongelma on jokaiselle painallukselle lähetettävä datamäärä, normaalit kaukosäätimet, joissa on joko 24 tai 48 bittiä, mutta vaihtovirta-kaukosäädin voi lähettää jopa 228 bittiä, koska jokainen signaali sisältää paljon tietoa, kuten Temp, Fan Speed, Uniajastus, Swing-tyyli jne. Tästä syystä tarvitsemme Arduino Megan parempiin säilytysmahdollisuuksiin.
Piirikaavio ja selitys:
Onneksi tämän matkapuhelimella ohjattavan ilmastointilaitteen laitteiston asennus on erittäin helppoa. Voit yksinkertaisesti käyttää leipälautaa ja tehdä liitännät alla esitetyllä tavalla.
Seuraavaa taulukkoa voidaan käyttää myös yhteyksien tarkistamiseen.
S. ei: |
Komponenttineula |
Arduino Pin |
1 |
TSOP - Vcc |
5 V |
2 |
TSOP - Gnd |
Gnd |
3 |
TSOP - signaali |
8 |
4 |
IR-led - katodi |
Gnd |
5 |
IR-ledi - anodi |
9 |
6 |
HC-05 - Vcc |
5 V |
7 |
HC05 - Gnd |
Maa |
8 |
HC05 - Tx |
10 |
9 |
HC05 - Rx |
11 |
Kun liitännät on tehty, sen pitäisi näyttää tältä alla esitetyllä tavalla. Olen käyttänyt leipälevyä siistimään asioita, mutta voit myös sinä uros-naaras johdot kytkeä kaikki komponentit
AC-kaukosignaalien dekoodaus:
Ensimmäinen vaihe AC: n hallitsemiseksi on käyttää TSOP1738: ta dekoodata AC-kaukosäätimen IR-koodit. Tee kaikki liitännät piirikaavion mukaisesti ja varmista, että olet asentanut kaikki mainitut kirjastot. Avaa nyt esimerkkiohjelma “ IRrecvDumpV2 ”, joka löytyy kohdasta Tiedosto -> Esimerkit -> IRremote -> IRrecvDumpV2 .
int recvPin = 8; IRrecv irrecv (recvPin);
Koska TSOP on yhteydessä nastaan 8, vaihda linjan numero 9 int recPin = 8: ksi yllä esitetyllä tavalla. Lataa sitten ohjelma Arduino Megaan ja avaa Serial Monitor.
Suuntaa kaukosäädin kohti TSOP: tä ja paina mitä tahansa painiketta, sillä jokainen painamasi vastaavan signaalin lukee TSOP1738, dekoodaa Arduino ja näkyy sarjamonitorissa. Jokaisesta kauko-ohjaimen lämpötilan muutoksesta saat eri tiedot. Tallenna nämä tiedot, sillä käytämme niitä pääohjelmassa. Sarjamonitorisi näyttää tältä tältä, olen myös osoittanut Word-tiedoston, johon olen tallentanut kopioidut tiedot.
Näyttökuva näyttää koodin lämpötilan asettamiseksi 26 ° C vaihtovirta-kaukosäätimelleni. Kaukosäätimen perusteella saat erilaisen koodisarjan. Kopioi samalla tavalla kaikkien eri lämpötilojen koodit. Voit tarkistaa kaikki ilmastointilaitteen kaukosäätimen IR-koodit tämän opetusohjelman lopussa olevassa Arduino-koodissa.
Arduino-pääohjelma:
Koko Arduino-pääohjelma voi olla tämän sivun alaosassa, mutta et voi käyttää samaa ohjelmaa. Sinun on muutettava signaalikoodiarvot, jotka saimme juuri esimerkkiluonnoksesta. Avaa pääohjelma Arduino IDE: ssä ja vieritä alaspäin alla olevalle alueelle, jossa sinun on korvattava taulukon arvot kaukosäätimellesi saamillasi arvoilla.
Huomaa, että olen käyttänyt 10 ryhmää, joista kahdella käytimme AC: n kytkemistä päälle ja pois päältä, kun taas loput 8 käytetään eri lämpötilan asettamiseen. Esimerkiksi Temp23: ta käytetään 23 * C: n asettamiseen AC-laitteellesi, joten käytä kyseisen taulukon vastaavaa koodia. Kun se on tehty, sinun tarvitsee vain ladata koodi Arduinoon.
Meidän on tuotava kaksi kirjastoa tähän projektiin. Yksi on IRremote- kirjasto, jonka lisäsimme juuri Arduinoon, ja toinen on sisäänrakennettu Software Serial Library, joka auttaa meitä Bluetooth-moduulin käytössä.
#sisältää
Seuraavaksi alustamme Bluetooth-moduulin nastoihin 10 ja 11 ja käytämme sitten objektia nimeltä irsend päästäksesi kirjaston kaikkiin IR-ominaisuuksiin.
SoftwareSerial BT_module (10, 11); // RX, TX IRsend irsend;
Seuraavaksi tulevat erittäin tärkeät koodirivit. Täällä on tietoja AC: n ohjaamiseksi. Alla oleva on tarkoitettu AC-kaukosäätimelleni, sinun olisi pitänyt hankkia omasi edellisessä vaiheessa.
Seuraavaksi void setup -toiminnon sisällä aloitamme kaksi sarjaliikennettä. Yksi on Bluetooth 9600 tiedonsiirtonopeudella ja toinen on sarjamonitori 57600 baudinopeudella.
void setup () {BT_module.begin (9600); // BT toimii palvelimella 9600 Serial.begin (57600); // Sarjamonitorin työpoika 57600}
Sisällä void loop (päättymättömään silmukkaan), me tarkista jos on jotain saanut Bluetooth-moduuli. Jos jotain vastaanotetaan, tallennamme nämä tiedot muuttujaan BluetoothData .
while (BT_module.available ()) // Jos tietoja on tulossa {BluetoothData = BT_module.read (); // lue se ja tallenna se Serial.println (BluetoothData); // tulosta se sarjaan testausta varten}
Bluetoothin vastaanottamat tiedot perustuvat Android-sovelluksessamme olevaan painikkeeseen, jonka asennamme seuraavassa vaiheessa. Kun tiedot on vastaanotettu, meidän on vain käynnistettävä vastaava IR-koodi, kuten alla
if (BluetoothData == '2') {irsend.sendRaw (Temp23, sizeof (Temp23) / sizeof (Temp23), khz); delay (2000); // Lähetä signaali lämpötilan asettamiseksi 23C}
Tässä, jos koodi '2' vastaanotetaan, meidän on asetettava vaihtovirran lämpötila 23 ° C: seen. Vastaavasti meillä on koodi 0-9, jotta voimme suorittaa kaikki AC: n perustoiminnot. Voit viitata täydelliseen arduino-koodiin tämän sivun lopussa.
Android-sovelluksen asentaminen:
Älypuhelimen ohjaaman ilmastoidun laitteen viimeinen vaihe on asentaa Android-sovellus. Tämän projektin Android-sovellus luotiin Processing Android Mode -toiminnolla. Käsittely on erinomainen työkalu.EXE- tai APK-tiedostojen luomiseen upotetuille projekteille. Se on avoimen lähdekoodin alusta aivan kuten Arduino, joten se on täysin ilmainen ladata käytettäväksi.
Jos et halua päästä liikaa siihen, voit yksinkertaisesti ladata APK-tiedoston täältä zip-tiedoston sisältä ja asentaa sen suoraan matkapuhelimeesi. Avaa sovellus ja saat alla olevan kuvan mukaisen näytön, jonka jälkeen voit siirtyä seuraavaan vaiheeseen ja nauttia työskentelystä projektin kanssa. Mutta jos haluat muokata sovelluksen ohjelmaa sopivaksi tarpeisiisi, voit lukea lisää.
Käsittelykoodin koko ohjelmatiedosto voidaan ladata täältä. Tällä postinumerolla on koodi ja kuvalähde, jolla sovellus toimii. Koodin avaamisen jälkeen voit säätää seuraavia rivejä mukauttamaan sitä tarpeisiisi.
Kuten aiemmin mainittiin, käsittely on samanlainen kuin Arduino. Joten sillä on myös tyhjät asetukset ja tyhjät silmukat (tässä piirrä) -toiminnot. Sisällä void setup toiminto me ohjeistaa Bluetooth puhelimen yhteyden Bluetooth Arduino. Laitteeni nimi on tässä HC-05, joten koodirivini tulee olemaan
bt.start (); // aloita BT-yhteyksien kuuntelu bt.getPairedDeviceNames (); bt.connectToDeviceByName ("HC-05"); // Yhdistä HC-06 Bluetooth-moduuliin
Seuraavaksi load_buttons () -toimintojen sisään voit piirtää niin monta painiketta kuin haluat. Olen piirtänyt 10 nappia sovelluksen osoittamalla tavalla. Sen jälkeen meillä on read_buttons () -toiminto, jota käytetään tunnistamaan koskettamasi painike. Jokaisella painikkeella on tietty väri, joten kun käyttäjä koskettaa näyttöä, tarkistamme, mitä väriä hän on koskettanut, ja selvitämme, mitä painiketta hän on koskettanut. Alla on esimerkkikoodi painikkeen luomiseksi ja sen valitsemiseksi värin perusteella
täyttö (255,145,3); suora (leveys / 2-leveys / 4, korkeus / 2, leveys / 4, korkeus / 12); täyttö (255); teksti ("25C", leveys / 2 leveyttä / 4, korkeus / 2); // painike 5 if (color_val == - 13589993) {tavutiedot = {'0'}; bt.lähetys (data);}
Rivi “tavutiedot = {'0'};” on erittäin tärkeä linja. Täällä päätämme, mikä koodi on lähetettävä Arduinolle Bluetoothin kautta. Jos tätä painiketta painetaan, merkki "0" lähetetään Bluetoothista Arduinoon. Vastaavasti voimme lähettää eri merkin eri painikkeille. Näitä merkkejä voidaan sitten verrata Arduinon puolella ja vastaava toiminta voidaan suorittaa.
Mene eteenpäin ja hioudu koodin ympärillä, jos sinulla on epäilyksiä päästä minuun kommenttiosion kautta ja yritän parhaani auttaa sinua.
Matkapuhelinohjatun vaihtovirran toiminta
Kun olet valmis laitteisto-, Arduino Code- ja Android-sovellusten kanssa, on aika nauttia tuotoksesta. Lataa Arduino-koodi laitteistoon ja aseta se verkkovirtaan päin. Avaa nyt matkapuhelimesi Android-sovellus, jos kaikki toimii odotetulla tavalla, sinun pitäisi nähdä " Yhdistetty: laitteen_nimi (jokin koodi) " alla olevan kuvan mukaisesti
Paina nyt mitä tahansa painiketta Android-sovelluksessasi, ja sen pitäisi laukaista vastaava toiminto AC: ssä ikään kuin käytät kaukosäädintä. Voit lisätä niin monta haluamaasi painiketta muokkaamalla koodia ja jopa automatisoida verkkovirtasi huoneen lämpötilan tai läsnäolon perusteella. Tarkista koko Arduino-koodi ja alla oleva video.
Toivottavasti nautit projektista ja ymmärrit sen takana olevan käsitteen. Kuten aina, jos sinulla on ongelmia tämän työn tekemisessä, voit käyttää foorumeita lähettämään sinulle kysymyksiä ja ratkaisemaan ne.
APK-tiedosto Android-sovelluksen asentamista varten voidaan ladata täältä.