Aikaisemmin olemme käsittäneet monenlaisia koti-automaatioita käyttämällä erilaisia tekniikoita, kuten DTMF-pohjainen koti-automaatio, PC-ohjattu koti-automaatio Arduino-tekniikalla, Bluetooth-ohjattu koti-automaatio. Tässä projektissa käytämme infrapunapohjaista langatonta viestintää kodinkoneiden ohjaamiseen. Tässä projektissa Arduinoa käytetään koko prosessin hallintaan. Lähetämme joitain komentoja ohjausjärjestelmään käyttämällä IR TV / DVD / MP3 -kaukosäädintä AC-kodinkoneiden ohjaamiseen. Vastaanotettuaan signaalin IR-kaukosäätimestä, Arduino lähettää siihen liittyvän signaalin releille, jotka vastaavat kodinkoneiden kytkemisestä päälle tai pois päältä releohjaimen kautta.
Työselitys:
Tämän projektin työskentely on helposti ymmärrettävää. Kun painamme mitä tahansa IR Remote -kaukosäätimen painiketta, kauko- ohjain lähettää koodin koodattujen pulssien junana 38KHz: n modulointitaajuutta käyttäen. TSOP1738- anturi vastaanottaa nämä pulssit ja Arduino lukee ne. Arduino dekoodaa sitten vastaanotetun pulssijonon heksadesimaaliarvoksi ja vertaa dekoodattua arvoa painetun painikkeen ennalta määritettyyn heksadesimaaliarvoon. Jos vastaavuuksia esiintyy, Arduino suorittaa suhteellisen toiminnan ja vastaava tulos näytetään myös 16x2 LCD: ssä käyttämällä sopivia komentoja. Tässä projektissa olemme käyttäneet 3 eriväristä lamppua esittelyyn, joka ilmaisee tuulettimen, valon ja television.
Eri laitteille on saatavana useita erilaisia IR-kaukosäätimiä, mutta suurin osa niistä toimii noin 38 kHz: n taajuussignaalilla. Tässä projektissa ohjaamme kodinkoneita IR TV -kaukosäätimellä. IR-kaukosignaalin havaitsemiseksi käytämme TSOP1738 IR-vastaanotinta. Tämä TSOP1738-anturi tunnistaa 38 kHz: n taajuussignaalin. IR-kaukosäätimen ja TSOP1738: n toiminta voidaan käsitellä yksityiskohtaisesti tässä artikkelissa: IR-lähetin ja vastaanotin
Komponentit:
- Arduino UNO
- TSOP1738
- IR-TV / DVD-kaukosäädin
- ULN2003
- 5 voltin releet
- Polttimo pidikkeellä
- Johtojen liittäminen
- Leipälauta
- 16x2 LCD
- Virtalähde
- PVT
- IC 7805
Tässä projektissa olemme käyttäneet 7, 8 ja 9 infrapunakaukosäätimen numeropainiketta tuulettimen, valon ja television ohjaamiseen ja ON / OFF-painiketta (virtapainike) käytetään kaikkien laitteiden kytkemiseen päälle ja pois päältä samanaikaisesti.
Tässä olemme käyttäneet vaihtomenetelmää yhden kodinkoneen PÄÄLLE ja POIS PÄÄLTÄ. Vaihda menetelmä ei ole mitään muuta kuin saada selville onko painiketta painettu edes ei kertaa tai pariton ei kertaa. Tämä saadaan saamalla muistutus jakamalla se 2: lla (i% 2), jos muistutusta on, laite kytketään päälle ja jos muistutus on 0, se sammutetaan. Oletetaan, että näppäintä 7 painetaan kaukosäätimessä ja kauko-ohjain lähettää sitten signaalin Arduinolle TSOP IR -vastaanottimen kautta. Sitten Arduino purkaa sen ja tallentaa dekoodatun arvon tulosmuuttujaan. Tulosmuuttujalla on nyt heksadesimaaliarvo 0x1FE00FF, kun Arduino kytkee sen tuulettimeen, kun se on sovitettu avaimen 7 ennalta määritettyyn heksadesimaaliarvoon (katso yllä oleva kuva). Nyt kun painamme samaa näppäintä (näppäin 7) uudelleen, infrapuna lähettää saman koodin. Arduino saa saman koodin ja sovitetaan samalla koodilla kuin aikaisemmin, mutta tällä kertaa tuuletin sammutettiin, koska bitti vaihdettiin (i% 2).
IR-kaukosäätimen signaalien dekoodaus Arduinolla:
Tässä on luettelo DVD NEC -tyyppisistä dekoodatuista lähtökoodeista:
Jos et tiedä IR-kaukosäätimen dekoodattua lähtöä, se löytyy helposti, noudata vain näitä ohjeita:
- Lataa IR-etäkirjasto täältä:
- Pura se ja aseta se Arduino 'Kirjastot' -kansioon. Nimeä sitten purettu kansio uudelleen IRremoteksi.
- Suorita alla oleva ohjelma Arduinosta ja avaa Serial Monitor -ikkuna Arduino IDE: ssä. Paina nyt mitä tahansa IR-kaukosäätimen painiketta ja katso vastaava dekoodattu heksalähtö Serial Monitor -ikkunassa.
* IR-kaukosäädin: IRrecvDemo - osoittaa vastaanottavan IR-koodeja IRrecv-tekniikalla. * Tulo RECV_PIN -liittimeen on kytkettävä IR-ilmaisin / demodulaattori. * Versio 0.1 heinäkuu 2009 * Tekijänoikeudet 2009 Ken Shirriff * http://arcfn.com * / #include
Yllä oleva ohjelma on otettu IRremote-kirjaston 'esimerkkejä' -kansiosta. Voit tutustua muihin esimerkkeihin saadaksesi lisätietoja IR-kaukosäätimen käytöstä. Joten dekoodasimme IR-etälähdön.
Piirin kuvaus:
Tämän piirin liitännät ovat hyvin yksinkertaisia, sillä nestekidenäyttöä käytetään kodinkoneiden tilan näyttämiseen, joka on suoraan kytketty arduinoon 4-bittisessä tilassa. LCD: n datanastat, nimittäin RS, EN, D4, D5, D6, D7, on kytketty digitaaliseen arduino-nastaan numeroihin 6, 7, 8, 9, 10, 11. Ja TSOP1738: n ulostulotappi on kytketty suoraan digitaaliseen nastaan numero 14 (A) Arduinosta. Ja Vcc-nasta on kytketty +5 voltin ja GND-nastaan, joka on kytketty piirin maadoitusliittimeen. Releohjainta, nimittäin ULN2003, käytetään myös releiden ajamiseen. 5 voltin SPDT 3 -releitä käytetään LIGHT, FAN ja TV: n ohjaamiseen. Ja releet on kytketty arduino-nastoihin 3, 4 ja 5 releohjaimen ULN2003 kautta LIGHT-, FAN- ja TV-ohjelmien ohjaamiseksi.
Koodin kuvaus:
Ohjelmoinnin osassa tätä projektia Ensinnäkin ohjelmoinnissa on mukana kirjasto IR-kaukosäätimelle, joka on helposti saatavana Googlelta. Ja määritä PIN- ja julista muuttujat.
#sisältää
Ja sitten sisällytä otsikko nestekidenäyttöä varten ja sitten määritämme LCD- ja kodinkoneiden tiedot ja ohjaustapit.
#sisältää
Sen jälkeen meidän on alustettava LCD-näyttö ja annettava tappi, jota käytetään tuulettimeen, valoon ja televisioon.
void setup () {Sarja.alku (9600); lcd-alku (16,2); pinMode (tuuletin, LÄHTÖ); pinMode (valo, OUTPUT); pinMode (TV, OUTPUT);
Kuten jo selitettiin, koodin alla olevaa osaa käytetään vertaamaan vastaanotettua heksadesimaaliarvoa kyseisen painikkeen jo määritettyyn heksakoodiin. Jos se täsmää, suhteellinen operaatio suoritetaan käyttämällä asianmukaisia toimintoja, jotka on annettu koodissa.
void loop () {if (irrecv.decode (& results)) {Sarja.println (tulokset.arvo, HEX); viive (100); lcd.setCursor (0,0); lcd.print ("Fan Light TV"); if (tulokset.arvo == 0x1FE00FF) {i ++; int x = i% 2; digitalWrite (tuuletin, x);