Arduino IR -kaukosäädinpiiri

Kokeile Instrumenttia Ongelmien Poistamiseksi





Tässä viestissä aiomme rakentaa mukautettavan Arduino-pohjaisen IR (infrapuna) -pohjaisen langattoman kaukosäätimen kytkimen, joka koostuu IR-kaukosäätimestä ja vastaanottimesta, jota voit muokata tarpeidesi mukaan. Artikkelin myöhemmässä osassa kerrotaan päivitetystä, älykkäästä IR-kaukosäätimen versiosta, joka reagoi vain yksilöllisesti määritettyyn taajuuteen.

Jos olet aloittelijan tason yläpuolella, voit saavuttaa sen helposti. Tässä havainnollistetulla piirillä on vain kolme kauko-ohjainta ja 3 releitä vastaanottimen päässä. Voit muokata koodia ja piirikaaviota tarpeidesi mukaan.



Tarvitset kaksi Arduino-korttia, jotka toimivat etänä ja toisen toimivat vastaanottimena. Suosittelisin Arduino pro miniä tähän projektiin, koska niiden koot ovat melko pieniä ja kaukosäätimen kokoa voidaan väistää.

Voit käyttää 3,3 V: n pohjaista Arduino pro minia kaukosäätimeen, jotta voit käyttää virtaa kahdella nappiparistolla tai kahdella AA-kokoisella paristolla tarpeidesi mukaan.



IR-lähetinpiirissä on 3 painonappia ja IR-LED komentojen lähettämiseksi vastaanottimelle. Jokainen painike on ohjelmoitu ainutlaatuisella heksadesimaalikoodilla, sama heksadesimaalikoodi on ohjelmoitu myös vastaanottimen puolelle.

Kun painiketta painetaan, IR-LED lähettää heksadesimaalikoodin vastaanottimelle, vastaanotin tunnistaa mitä painikkeita painetaan ja se kytkee vastaavan releen päälle / pois päältä.

Ehdotettu kaukosäädin käyttää RC5-protokollaa yhteydenpitoon vastaanottimen kanssa. Voit muuttaa kaikkea muuttamalla koodia.

Jos olet vasta aloittelija Arduinossa, voit silti saavuttaa sen vain noudattamalla kaaviota ja lataamalla koodi muuttamatta.

Piiri ja ohjelma:

Arduino-lähetin:

Foolproof IR -kaukosäädin

Yllä oleva piiri kuvaa kuinka Arduino IR -kaukolähetin rakennetaan.

Kolme 10K-vastusta ovat alasvetovastukset, jotka estävät kauko-ohjaimen tahattoman laukeamisen staattisen varauksen takia ja IR-LEDille käytetään 220ohmin virranrajoitusvastusta.

Etälähettimen ohjelma:

//---------Program developed by R.Girish--------//
#include
IRsend irsend
const int button1 = 4
const int button2 = 5
const int button3 = 6
void setup() {
pinMode(button1, INPUT)
pinMode(button2, INPUT)
pinMode(button3, INPUT)
}
void loop()
{
if (digitalRead(button1) == HIGH)
{
delay(50)
irsend.sendRC5(0x80C, 32)
delay(200)
}
if (digitalRead(button2) == HIGH)
{
delay(50)
irsend.sendRC5(0x821, 32)
delay(200)
}
if (digitalRead(button3) == HIGH)
{
delay(50)
irsend.sendRC5(0x820, 32)
delay(200)
}
}
//---------Program developed by R.Girish--------//

Arduino-vastaanotin:

Yllä oleva IR Arduino -vastaanotinpiiri koostuu TSOP1738-anturi muutama transistori, virtaa rajoittavat vastukset transistoreille, releet ja diodit suurjännitepiikkien absorboimiseksi releikäämeistä.

Kytkentäkaavio on itsestään selvä.

Arduino-vastaanottimen ohjelma:

//-----------------Program developed by R.Girish-----------//
#include
int input = 11
int op1 = 8
int op2 = 9
int op3 = 10
int intitial1
int intitial2
int intitial3
IRrecv irrecv(input)
decode_results dec
#define output1 0x80C // code received from button A
#define output2 0x821 // code received from button B
#define output3 0x820 // code received from button C
void setup()
{
irrecv.enableIRIn()
pinMode(op1,1)
pinMode(op2,1)
pinMode(op3,1)
}
void loop() {
if (irrecv.decode(&dec)) {
unsigned int value = dec.value
switch(value) {
case output1:
if(intitial1 == 1) {
digitalWrite(op1, LOW)
intitial1 = 0
} else {
digitalWrite(op1, HIGH)
intitial1 = 1
}
break
case output2:
if(intitial2 == 1) {
digitalWrite(op2, LOW)
intitial2 = 0
} else {
digitalWrite(op2, HIGH)
intitial2 = 1
}
break
case output3:
if(intitial3 == 1) {
digitalWrite(op3, LOW)
intitial3 = 0
} else {
digitalWrite(op3, HIGH)
intitial3 = 1
}
break
}
irrecv.resume()
}
}
//--------------Program developed by R.Girish-----------//

Noudattamalla yllä olevia selityksiä voit suorittaa kolme hallintalaitetta, jos haluat lisätä ohjaimia ja releitä, sinun on muokattava koodia ja piirikaaviota.

Voit määrittää ulostulon ja tulon käyttämättömille nastoille vastaanottimessa ja kauko-ohjelmassa ja liittää transistorin ja releen lukumäärän vastaanottimen vastaaville nastoille ja liittää vastaavasti kytkinten lukumäärän ja vetää vastuksen alas kauko-ohjaimessa.

Voit käyttää satunnaisia ​​heksadesimaalikoodeja määrittääksesi enemmän painikkeita.

Esimerkiksi: 0xA235, 0xFFFF, 0xBA556 ja niin edelleen. Ja lisää myös sama heksadesimaaliarvo myös vastaanottimen koodiin. Esimerkiksi: #define output4 0xA235, #define outout5 0xFFFF ja niin edelleen.

IR-kaukosäätimen tekeminen ainutlaatuisella taajuudella

Edellä olevista kohdista saimme tietää yksinkertaisesta infrapunakaukosäätimestä, joka toimii minkä tahansa infrapunakaukosäätimen kanssa.
Seuraavassa artikkelissa opitaan, kuinka tehdä päivitetystä versiosta yllä oleva käsite kodinkoneiden hölynkestävään ohjaukseen arduino-mikrokontrollerilla, joka toimii ainutlaatuisella taajuudella eikä koskaan toimi yhteisellä IR-luurilla.

Foolproof IR -kaukosäädin

Tämä piiri voi kytkeä laitteesi päälle / pois päältä TV-kaukosäätimen käyttämättömillä painikkeilla tai muulla käyttämättömällä kaukosäätimellä, joka saattaa makaa roskapostissasi ikuisesti.

Tämän projektin motto on auttaa fyysisesti vammaisia ​​ihmisiä ja auttaa heitä pääsemään peruskodinkoneiden, kuten tuulettimien tai valojen, ON / OFF-kytkimiin itsenäisesti.

Toinen tavoite on antaa käyttäjälle mahdollisuus hallita 'Kuten pomo' -laitteita joutumatta siirtymään nykyisestä asemastaan.

Piiri käyttää perinteistä IR-pohjaista viestintää lähettimen ja vastaanottimen välillä.

Tämä piiri on senttiprosentti höyrysuojattu muille infrapunakauko-ohjaimille ja muille infrapunalähteille ja vähemmän herkkä virheille.

Suurin ongelma ei-mikrokontrolleripohjaisessa IR-kaukosäädinpiiri , joka löytyy Internetistä, on, että se voi kytkeä päälle / pois päältä millä tahansa infrapunapohjaisella kaukosäätimellä ja voi ohjata vain yhtä laitetta hetkessä ja alttiimpi virheille.

Tämä piiri ratkaisee edellä mainitut ongelmat, ja voimme hallita useita laitteita yhdellä kaukosäätimellä ja määritä avaimet tietyille gadgeteille.

Ennen kuin jatkat tätä projektia, sinun on ladattava kirjastotiedostot arduinolle tästä linkistä ja noudatettava seuraavia ohjeita: github.com/z3t0/Arduino-IRremote

Ohjeet:

1) Napsauta 'kloonaa tai lataa' -painiketta muodostaaksesi linkin ja paina 'Lataa ZIP'.

2) Pura tiedosto ja siirrä “IRremote” -kansio Arduinon kirjastokansioon.

3) Poista RobotIRremote-kansio arduino-kirjastostasi. 'RobotIRremotella' on samanlainen määritelmä 'IRremote' -kirjastolle, joka on ristiriidassa eikä pysty lataamaan koodia Arduinoon, joten poistaminen / poistaminen on pakollista.

Kopioimalla yllä olevat ohjeet Arduino IDE -ohjelmisto on valmis mihin tahansa / useimpiin IR-pohjaisiin projekteihin.

Määritä avaimet kauko-ohjaimelle:

TV-kaukosäätimessä jokaisella näppäimellä on ainutlaatuinen heksadesimaalikoodi, jota käytetään tunnistamaan, mitä näppäintä painetaan toimintoa varten. Ennen kuin lähetät lopullisen koodin Arduinoon, sinun on löydettävä avaimesi heksadesimaalikoodit.

Tee tämä rakentamalla seuraava piirilevy leirilevylle ja noudattamalla ohjeita.

1) Avaa Arduino IDE ja lataa esimerkkikoodi “IRrecv Demo”

2) Avaa sarjamonitori ja paina kaukosäätimen näppäintä, jota haluat käyttää.

Heksadesimaalikoodi tulee näkyviin heti, kun painat näppäintä. Se on kyseisen avaimen heksadesimaalikoodi.

3) Tee sama kahdelle muulle näppäimelle (tässä projektissa annetaan 3 avainta 3 laitteen ohjaamiseksi)

· Aiomme käyttää näitä heksadesimaalikoodeja pääohjelmassa ja ladata ne arduinoon.

Ohjelmoida:
//-----------------Program developed by R.Girish-----------//
#include
int input = 11
int op1 = 8
int op2 = 9
int op3 = 10
int intitial1
int intitial2
int intitial3
IRrecv irrecv(input)
decode_results dec
#define output1 0x111 // place your code received from button A
#define output2 0x112 // place your code received from button B
#define output3 0x113 // place your code received from button C
void setup()
{
irrecv.enableIRIn()
pinMode(op1,1)
pinMode(op2,1)
pinMode(op3,1)
}
void loop() {
if (irrecv.decode(&dec)) {
unsigned int value = dec.value
switch(value) {
case output1:
if(intitial1 == 1) {
digitalWrite(op1, LOW)
intitial1 = 0
} else {
digitalWrite(op1, HIGH)
intitial1 = 1
}
break
case output2:
if(intitial2 == 1) {
digitalWrite(op2, LOW)
intitial2 = 0
} else {
digitalWrite(op2, HIGH)
intitial2 = 1
}
break
case output3:
if(intitial3 == 1) {
digitalWrite(op3, LOW)
intitial3 = 0
} else {
digitalWrite(op3, HIGH)
intitial3 = 1
}
break
}
irrecv.resume()
}
}
//--------------Program developed by R.Girish-----------//

HUOMAUTUS:

Ohjelmassa:

#define output1 0x111 // aseta painikkeesta A saatu koodi

#define output2 0x111 // aseta painikkeesta B saatu koodi

#define output3 0x111 // aseta painikkeesta C saatu koodi

· Aseta kaukosäätimen kolme yksilöllistä koodia tähän paikkaan 111, 112 ja 113 ja lataa koodi. Heksadesimaalikoodit ovat välillä 0–9 ja A – F, esimerkiksi: 20156, 26FE789, FFFFFF.

· Lisää koodisi '0x' (nolla x).

Piirikaavio:

· Näppäimen painaminen laukaisee releen PÄÄLLE ja painamalla uudelleen se kytkee releen pois päältä.




Pari: Luonnollinen hyttyskarkotin suuritehoisella vastuksella Seuraava: Syvä maaperän metallinilmaisimen piiri - maaskanneri