Arduino remote control para sa 30 channel. Arduino - gumagana sa IR signal - TSOP22 receiver (record IR signal). Kinokontrol ang Arduino board mula sa MPC

Gusto mo bang malaman kung paano kontrolin ang iyong booth sa tulong ng isang simpleng remote control? Ang mura lang gawin, parang may Arduino ka!

Axis na kailangan mo:

Arduino (ginagamit ko ang UNO)
- Modelo nang walang paghihinang na bakal
- infrared primach
- Kawad na walang panghinang
- Kung mayroong isang remote control

Ikonekta ang infrared receiver sa breadboard at ikonekta ang yoga sa Arduino.

Ikonekta ang kanang pin sa 5V Arduino, ang center pin sa GND, at ang kaliwang pin sa digital pin 11.

Nag-ambag ako sa IRremote library para sa arduino.
Maaari kang makakuha ng yoga dito:

Isara ang Arduino development environment at i-unzip ito sa arduino/libraries folder.

Ilunsad ang Arduino IDE at buksan ang sample sketch ng IRrecvDemo. Isulat muli ang HEX sa DEC tulad ng ipinapakita sa thumbnail. Kumuha ng sketch.

Kapag abala ang programa, buksan ang huling monitor at itama ang mga push button sa remote control. Kung lahat kayo ay gumawa ng mabuti, ikaw ang may kasalanan sa kanilang mga cody.

Tandaan kung paano pinindot ang button at ninakawan ang mga tala tungkol sa code na kung sino sila. Halimbawa:

Kapag lumitaw ang code 50088119, pinindot mo ang pataas/pababa na button
- Code 50073839, button na "Buksan/Isara", atbp.

Ang leather booth ay maaaring may TV remote control, o ibang remote control panel (DC). Ang attachment na ito ay nagpapahintulot sa iyo na pamahalaan kung ito ay isang uri ng attachment sa isang vіdstanі, na mas maginhawa. Hindi mo kailangang gumastos ng mamahaling calorie at magtrabaho nang husto. Kung mayroon kang anumang mga attachment at nais mong pahalagahan ang mga ito sa vіdstanі, pagkatapos ay maaari kang magtrabaho nang malayuan cheruvannya tsim pristroєm. Para sa bazhannya maaari mong gawin ang remote control ng recreation center gamit ang iyong sariling mga kamay, ngunit para dito hindi mo kailangang gumamit ng isa pang kuwento. Baka kailangan mo ng distance care? - lahat ay simple:

Ang Lin ay isang kalidad na nakakabigla sa mga ulat ng maringal na mga zusil hanggang sa punto ng pagbabawas ng dami ng enerhiya.

Una, ang remote control sa mundo ay ipinakita ng winemaker na si Nikola Tesla; Sa araw na ito, ang teknolohiyang ito ay lumago sa pinakamalawak na lawak, naabot lamang iba't ibang paraan paghahatid ng mga utos (channel ng komunikasyon).

Mula sa mga pangunahing channel, ang tawag ay maaaring tawaging:

  • channel ng radyo
  • ultrasonic
  • Infrared

Sa artikulong ito, pinag-uusapan natin ang tungkol sa kontrol ng attachment ng isang infrared remote control. Іnfrachervone vipromіnyuvannya - electromagnіtne vipromіnіvannya, na sumasakop sa parang multo na rehiyon sa pagitan ng chervonim kіntsem ng nakikitang liwanag at microkilometer vipromіvіvannyam. Ang infrared vision ay hindi nakikita ng mata ng tao, ngunit maaari itong gamitin para sa mga karagdagang camera o video camera. Kadalasan, ito ay kung paano nila binabago ang pagiging praktikal ng remote control para sa TV sa mga isipan sa bahay.

Tulad ng matagal na ang nakalipas, sa isang lumang robot, kinuha ko ang remote control at "Vichko" (ІК priymach) bilang isang kopya sistema ng pagtatanggol, sa mahabang panahon na walang trabaho at nareshti, naalis sa isip ko na muling i-verify ang robot.

Nang malutas ang priymach na ito, ako ay sumuko sa deak na tuso; Nasira ito para tanggapin ang kapritso ng magkabilang panig. At ito ay madaling gamitin, hindi kinakailangan na palibutan ang iyong sarili ng isang kumanta kut upang matanggap.

Nagtapon din ako ng scheme sa chotirma priymachi, kailangan kong mag-rapt. Kaya, tinanggap ko ang TSOP1836, ngunit maaari kang kumuha ng iba. Upang matiyak ang 360-degree na pagtanggap, kinakailangang pumili ng angkop at angkop na mga receiver (na may malawak na receiver) at ikalat ang mga ito nang malapit hangga't maaari sa isa't isa. Hindi ko binanggit ang mga problema sa aking mga receptionist. Kaya ibinabato sa deposito bayad na bayad na roztashuvannya elemento.

Upang iproseso ang mga utos, natural kong i-twist ang arduino uno, bilang isang receiver ICH ay maaaring baluktot
TSOP34836 (mas mataas na hanay, ngunit mas mahal) o TL1838. Maaari mong kunin ang remote control kung ito ay IK upang mag-navigate mula sa TV. Well, kung kailangan mo ng iyong sariling remote control, maaari kang bumili ng kit para sa arduino.

Robotic na prinsipyo:
Kapag pinindot ang pindutan ng remote control, ipinapadala nito ang code ng pindutan sa infrared na ilaw, pagkatapos na natatanggap ng receiver ang ibinigay na code ng pindutan, ipinapadala ito sa attachment ng icon, na nasa taglagas ng pindutan. , binago ang code.

Kaya ito ay posible, para sa tulong, at hvil, ito ay posible na magpadala ng impormasyon sa isang maliit na distansya. Upang ilipat ang iyong mga utos o impormasyon, maaari mo itong ilipat sa isang kaibigang arduino na may IC transmission. Naku, ang bilis ng naturang transmission ay hindi na nakikita. Hanggang sa mga plus ng infrared channel, mayroong insensitivity sa mga electromagnetic transition.

Upang makatanggap ng arduino ІЧ signal, maaari naming ilipat ang ІЧ receiver gaya ng sumusunod:

Bigyan ng paggalang ang katotohanan na ang roztashuvannya nizhok sa primach ay maaaring inis.


Ang receiver ay maaaring magkaroon ng 3 binti, "+" at "-" na buhay (pangunahing boltahe 3.3-5V) at ang binti ng mga ito mismo ay nagpapadala ng impormasyon sa attachment (aming arduino plug). Buhay na boltahe para sa TSOP34836 2.7-5.5 volts. Gumuhit ako ng 5 volts sa karaniwang output ng arduino.

Ang firmware na iyon para sa arduino ay lubhang kailangan. Aatakehin ang robotic algorithm: kapag pinindot mo ang pindutan sa itaas remote control arduino i-on ang relay, at kapag pinindot itong muli, kumukurap ito. Para sa tulong ng relay na ito, maaari mong paganahin, halimbawa, lumipat, ngunit hindi obligadong i-program ang mga push button sa relay, maaari kang magpasok ng isang command sa computer o magsulat ng isang bagong operasyon sa arduino, atbp.
Para sa kapakanan ng pagiging simple, gagawin namin ang isang yari na aklatan. Firmware code:

#isama int RECEIVE_PIN = 11; //receiver contact int RELAY_PIN = 3; // relay contact IRrecv irrecv (RECEIVE_PIN);

void setup()(
Serial.begin(9600);
irrecv.enableIRIn(); // Paganahin ang tanggapin
pinMode(RELAY_PIN, OUTPUT); // Itakda ang relay upang lumabas
digitalWrite(RELAY_PIN,HIGH); //Itakda ang pinakamataas na halaga
}

void loop() (
if (irrecv.decode(&results)) (//upang alisin ang data
Serial.print("0x");
Serial.println(results.value, HEX); // Visnovok dinala sa terminal
kung ((results.value == 0x8FF40BF) ||(results.value == 0xD72040BF)) digitalWrite(RELAY_PIN, !digitalRead(RELAY_PIN));//bilang button code 0x8FF40BF o 0xD7
pagkaantala(200);// pagkaantala mula sa lambanog
irrecv.resume();// Kunin ang halagang ito
}
}

Ipapaliwanag ko ang mga problema ayon sa sketch:



kung ((results.value == 0x8FF40BF) ||(results.value == 0xD72040BF)))

Ang halaga ng halaga ay binago mula sa "0x8FF40BF" at "0xD72040BF" - ang mga code ng mga pindutan sa panlabing-anim na sistema ng pagkalkula. Dalawang kahulugan ay mas mababa para sa katotohanan na ako ay vicorist dalawang remote na may natatanging mga code.



digitalWrite(RELAY_PIN, !digitalRead(RELAY_PIN));

Ang karaniwang pamamaraan para sa digital na pagsusulat ng pin sa likod ng isang key ay "digitalRead(RELAY_PIN)". Tanda "!" nangangahulugang inversion, sa aming kaso ang inversion ay magiging digital output na "RELAY_PIN".



Serial.print("0x");
Serial.println(results.value, HEX); // Visnovok dinala sa terminal

Ipapakita ng mga row na ito ang naputol na code terminal. Sa programa sa trabaho ce nang walang pagkonsumo, ngunit kinakailangan ding kilalanin ang kinakailangang code ng iyong isa pang button. Upang gawin ito, sinimulan namin ang sketch sa Arduino, pumunta sa terminal at mag-click sa pindutan upang kunin ang kinakailangang code.


Gayundin, ang IRremote library ay may kopya ng iba't ibang mga application, na maaaring itama.


Sa karagdagan sa artikulo:


  • sketch para sa arduino

  • druovana board para sa 4 na sensor

ІЧ priymach at іnfrachervoniy remote control remote control - ang pinakamalawak at pinakasimpleng paraan ng keruvannya electronic equipment. Ang infrared spectrum ng vibration ay hindi nakikita ng mata ng tao, ngunit ito ay mahusay na tinatanggap ng mga IC receiver, na parang ipinasok sila sa mga elektronikong aparato. Ang Arduino ir remote modules ay idinisenyo upang pangasiwaan ng iba't ibang kagamitan sa direktang linya ng paningin.

Laganap na zastosuvannya IH viprominuvachіv naging posible zavdyaki їh mababang varstі, pagiging simple at kinang sa vikoristannі. Ang ІH viprominyuvannya ay nasa hanay na 750 hanggang 1000 microns - ang presyo ay ang pinakamalapit na bahagi ng spectrum sa nakikitang liwanag. Sa larangan ng infrared na teknolohiya, maaaring magbago ang optical power ng iba't ibang materyales. Ang Deyakі skla, halimbawa, ay naging opaque para sa ІЧ promenіv, paraffin navpak lucidity sa ІЧ spectrum.

Ang pagpaparehistro ay ginagawa para sa karagdagang mga espesyal na photomaterial, sa batayan kung saan ang mga primarya ay inihanda. Dzherelom infrachervonogo viprominyuvannya krіm pinainit katawan (Sun, lamp litson chi candles), ay maaaring maging solid-state attachment - ІCh svіtlodiod, laser. Ang Vyprominyuvannya sa infrared na hanay ay maaaring magkaroon ng isang bilang ng mga tampok, zavdyaki їх manu-manong vikoristovuvat sa mga console:

  • Ang mga solid na kulay na viprominuvach (ІЧ svіtlodіodi) ay ginawang mura at ang baho ay siksik.
  • Ang mga pagbabago sa infrared ay hindi tinatanggap at hindi naayos ng mata ng tao.
  • Ang ІЧ priymachi ay mura rin, at ang baho ay maaaring maliit na rosemіri.
  • Maliit na shift, shards na nagpapadala at tumatanggap sa isang frequency.
  • Vidsutnіy negatibong epekto sa malusog na tao.
  • Isang mataas na tagapagpahiwatig ng paggamit ng malalaking materyales.
  • Ang IR viprominuvachі ay hindi nagdaragdag sa gawain ng iba pang mga gusali.

Gumagana ang remote control sa ganitong paraan. Kapag pinindot ang pindutan, ang signal ay naka-code sa infrared na ilaw, tinatanggap ito ng receiver at kinuha ang kinakailangang signal. Ang impormasyon ay naka-encode bilang isang lohikal na pagkakasunud-sunod ng mga packet ng mga impulses na may dalas ng pagkanta. Priymach otrimu tsyu sledovnistost at vikonu demoduljuvannya data. Para sa pagtanggap ng signal, ang isang microcircuit ay ginagamit, kung saan mayroong isang photodetector (photodiode), isang switch, isang maluwag na filter, isang demodulator (isang detektor na nagbibigay-daan sa iyo upang makita ang signal na nag-iilaw) at isang output transistor. Gayundin, nag-install sila ng mga filter - elektrikal at optical. Ang ganitong attachment na may winder hanggang 40 metro ay ginagamit. Ang ІХ na paraan ng paglilipat ng data ay ginagamit sa mga rich outbuildings: mga kabit sa puwit, teknolohiyang pang-industriya, mga computer, mga linya ng fiber optic.

Arduino IR receiver

Upang basahin ang IR signal, kailangan mo ang Arduino board mismo, isang breadboard, isang IR signal receiver at mga jumper. Gamitin ang mga impersonal na primarya, ngunit mas mainam na gumamit ng TSOP312 o iba pang mga opsyon para sa Arduino. Maaaring ipadala ang data mula sa receiver console gamit ang RC5 o NEC protocol.

Upang matukoy kung gaano ito kababa, kinakailangang tingnan ang sensor mula sa gilid ng receiver. Pagkatapos sa receiver, ang gitnang contact ay ang lupa, ang kaliwang kamay ay nasa microcontroller, ang kanang kamay ay buhay.

Para sa kalinawan, maaari mong gamitin ang mga yari na IR receiver module.

Pagkonekta ng IR receiver sa arduino

Ikonekta ang IR receiver sa Arduino sa mga GND port, 5V at digital input. Ang scheme para sa pagkonekta ng sensor sa digital 11 pin ay ipinapakita sa ibaba.

Ang axis ay ganito ang hitsura: isang diagram na may infrared priming module:


Mga aklatan para sa robotics na may IR

Para sa pagtatrabaho sa mga attachment ng ІCh, maaari mong gamitin ang IRremote library, na nagpapahintulot sa iyo na humingi ng mga sistema ng tulong. Maaari mong kunin ang library. Kung interesado ka, kopyahin ang mga file sa folder na \arduino\libraries. Para kumonekta sa iyong library sketch, kailangan mong idagdag ang header file na #include .

Upang basahin ang impormasyon, gamitin ang IRrecvDumpV2 butt mula sa library. Dahil ang remote control ay nasa listahan na ng kaalaman, hindi na kailangang mag-scan. Upang basahin ang mga code, kailangan mong patakbuhin ang ARduino IDE at buksan ang IRrecvDemo butt mula sa IRremote.

Ang isa pang library upang gumana sa mga signal ng IC - ce IRLib. Ang Vaughn ay katulad para sa pag-andar nito sa harap. Ipinares sa IRremote sa IRLib - butt ng pagtatalaga ng frequency ng IC sensor. Ale una, ang library ay mas simple at mas mahusay kaysa sa vikoristan.

Kung abala ang library, maaari mong simulang basahin ang mga nakanselang signal. Para sa kung aling matagumpay na code ay darating.

Ang decode_results operator ay kailangan upang italaga ang pangalan ng natanggap na signal sa mga nabagong resulta.

Kailangang muling isulat ng code ang HEX sa DEC.

Kapag abala ang programa, kailangan mong buksan ang huling monitor at pindutin ang mga pindutan sa remote control. Iba't ibang code ang lalabas sa screen. Ito ay kinakailangan upang lumikha ng isang senyas tungkol sa mga pindutan na maaaring magamit upang alisin ang code. Ang pinakamahusay na paraan upang kunin ang data ay isulat ito sa talahanayan. Ang susunod na code ay maaaring isulat sa programa upang ito ay makopya ng isang attachment. Ang Kodi ay naitala sa memorya ng Arduino board EEPROM, na manu-mano na, kaya hindi mo magagawang i-program ang mga pindutan kapag naka-on ang remote control ng balat.

Buvaє, scho para sa programa ng zavantazhennya maaari mong makita ang pagpapatawad "TDK2 ay hindi ipinahayag Sa kanyang saklaw". Upang ayusin ito, kailangan mong pumunta sa explorer, pumunta sa folder kung saan naka-install ang Arduino IDE program at alisin ang IRremoteTools.cpp at IRremoteTools.h file. Pagkatapos nito, kinakailangan na muling i-install ang programa sa microcontroller.

Visnovok

Ang paggamit ng Arduino ir remote ay gagawing mas madali ang buhay para sa isang koristuvach. Ang isang mobile phone, isang tablet o isang computer ay maaaring kumilos bilang isang remote control para sa remote control - kung saan ang isa ay nangangailangan ng espesyal na software. Para sa tulong ng Arduino, maaari mong isentro ang lahat. Sa isang button sa remote control, maaari mong i-on ang TV at Blu-Ray nang sabay-sabay.

Sa lahat ng magandang oras ng araw (o sa gabi, ayon sa gusto mo), magsimula tayo sa isang liriko na entry. At the same time, sa mga bagatioh booths є TV set na may remote control, tuner, DVD player . Hindi maisip ng maraming tao (at s_m'ї) ang kanilang buhay tahanan nang walang remote control sa kanilang mga kamay. Maghintay ng isang minuto - napakahusay na maging master ng mga kasangkapan sa bahay, at maging tulad ng pagdidikta ng iyong kalooban sa mga taong ito. Sa artikulong ito, gusto naming tingnan ang teknolohiya ng remote curing na mas nawawala, at magdala ng ilang deuces para ilapat para sa iyong mga pangangailangan.

Ama, ano ang kailangan namin bilang bahagi para sa aming eksperimento? Opsyon ng Yak Ang mga yari na module ng IC remote control at ang IC receiver ay ibinebenta. Ngunit hindi namin nais na suriin at magbayad ng mga pennies, sa hardcorner na iyon. Ginagawa namin bilang batayan ang remote control ng invisible na biyahe, kaya nagbabayad din kami ng kaunting pera mula sa isang Chinese tuner para sa kung paano maghinang ng infrared receiver. Sa larawan sa ibaba makikita mo ang mga accessory at accessories. Sa katunayan, ang DC remote control ay ginamit para sa kaalaman sa gitna ng hindi pangkaraniwang basura sa desk ng opisina, at ang bayad para sa IC-receiver ay kinuha sa pinakamalapit na radio master.

Well, so what, yak kaz Hannibal - "Ipasa sa Carthage" . Kailangan lang naming bayaran ang receiver at ikonekta ang yoga bago magbayad Arduino sa likod ng diagram sa ibaba...

  • Pagkonekta sa IC receiver

IC receiver ang ilang uri ng paghihinang para sa bayad ay hindi maaaring tatak, ito ay isang itim at puti na bahagi ng radyong Tsino, kung saan libu-libo ang inilabas. Sa madaling salita, masasabi natin - sa isang gusali, pinagsama ang mga alakphotodiode . Sa labasan, nabuo ang isang napakagandaTTL signal nang walang pagpuno, naka-attach para sa karagdagang pagproseso ng isang microcontroller. Ang dalas ng dala mo ay posible (!) 36 kHz, ngunit sa parehong oras ay hindi ito napakahalaga ... Subukan lamang na ikonekta ito upang magbayadArduino , Ang Umovna scheme ay magbibigay ng kinakailangang pinout ng device na ito. Sa diagram sa ibaba, makikita mo ang chervonim - ang parehong anyo ng corps bilang aming vikonovIC receiver , makikita sa berde - pag-pin para sa isang partikular na bayad sa koneksyon bago magbayadArduino .

Respeto!!! Sa Internet, maraming mga pinout scheme para sa mga fitting sa ganitong kaso (TSOP). Ang pag-pin, na sapilitan sa artikulong ito, ay maaaring hindi posible sa anumang kaalaman sa Internet, ngunit lahat ay konektado sa amin sa ganitong paraan. Kahit na nakakonekta ang IC-receiver, nagsisimula itong uminit - agad na nag-vimikate napiling scheme, Nangangahulugan ito na ang pag-pin ng koneksyon ay hindi wasto, at mangyayari na kunin mo ito halos navmannya. Ginawa namin ito sa aming sarili, dahil ang mga scheme na natagpuan sa Internet ay hindi angkop para sa aming infrared receiver. Dito, sa isang iglap, napakalaking hindi masunog ang Arduino board, mag-ingat !!!

  • IRremote library

Otzhe, lahat ay konektado. Upang basahin ang code mula sa remote na keypad IRremote.h, para sa karamihan, ang aming remote control, o sa halip ang code ng mga button, ay makakatulong sa iyo. Nadalі vikoristovuєmo basahin ang code na may pamamaraan. Sketch, para sa tulong kung saan mababasa mo ang code ng mga pindutan, mga view sa butts ng library, na tinatawag na alak IRrecvDemo. Respeto!!! Kapag nag-compile ng sketch, mukhang isang pagpapatawad, sa pinakadulo cob ito ay kinakailangan upang magdagdag ng dalawa pang mga aklatan na konektado:

#include "boarddefs.h" //Additional library #include "IRremote.h" #include "IRremoteInt.h" //Additional library int RECV_PIN = 2; //Pin para sa pagkonekta sa output signal mula sa IF receiver //Gumawa ng isang instance sa IRrecv class, bilang isang parameter na ipinasa sa pin para sa pagkonekta sa IF receiver signal IRrecv irrecv(RECV_PIN); decode_results; //Baguhin para i-save ang decoded code ng pinindot na button void setup() ( Serial.begin(9600); irrecv.enableIRIn(); //Enable the IC receiver sa robot ) void loop() ( if (irrecv.decode (&results)) //Serial.println(results.value, HEX); //Ipinapakita sa monitor port ang code ng pinindot na button sa hexadecimal form na irrecv.resume(); //Pagbabasa ng value/button coming) delay( 100 );

Pagkatapos nito, ang sketch ay napuno ng bayadArduino(namin vikoristuemo Arduino Nano sa kalasag I/O Wireless Shield para sa Nano ), maaari mong suriin monitor ng port na namamangha sa kung paano lumilitaw ang mga code sa pagpindot ng mga pindutan sa remote control panel. Ang resulta ng robotic sketch ng mga representasyon ay nasa screenshot sa ibaba:

Bago magsalita, yak monitor ng port mi vikoristovuєmo svіy perepіrenі software, yakshko komus tsіkavo - maaari mong basahin ang artikulo at samantalahin ang Serial Monitor Pro.

#define KEY_ONOFF 0x807F807F //Кнопка Включения/Выключения #define KEY_MUTE 0x807F48B7 //Кнопка Mute #define KEY_1 0x807F00FF //Кнопка 1 #define KEY_2 0x807FE01F //Кнопка 2 #define KEY_3 0x807F609F //Кнопка 3 #define KEY_4 0x807F20DF //Кнопка 4 #define KEY_5 0x807FD02F //Button 5 #define KEY_6 0x807F50AF //Button 6 #define KEY_7 0x807F10EF //Button 7 #define KEY_8 0x807FF00F //Button 6 #define KEY_7 0x807F10EF //Button 7 #define KEY_8 0x807FF00F //Button #8 #define KEY9

І axis ngayon, handa na ang lahat para sa panghuling pagsubok - ito ay magiging elementarya na pagsubok ng kontrol ng naka-on / mics ng mga relay module. Ipapakilala namin ang isang maliit na gawain:

  • Vikoristovuemo dalawang relay modules
  • Ang Relay No. 1 ay nakatali sa button na "1" ng remote control
  • Ang Relay No. 2 ay nakatali sa button na "2" ng remote control
  • Diin sa alinman sa mga relay module zdijsnyuetsya pagtulak sa pindutan, sa punto ng pagbubuklod.
  • Vimknennya kung alinman sa mga relay module din zdіysnyuєtsya pagtulak sa pindutan, sa anumang mga faults ng umiiral.
  • Ang pagpindot sa On / Off na button ay nakakabaliw na nagvibrate sa mga relay modules (halimbawa, ang baho ay naka-on, o isa sa mga ito ay naka-on)

Sketch, na nagpapatupad ng mas mataas na layunin ng gawain:

#include "boarddefs.h" //Additional library #include "IRremote.h" #include "IRremoteInt.h" //Additional library #define KEY_ONOFF 0x807F807F //Notify/Unmute button #define KEY_1 0x80 0x807FE01F //define RELOUT1 3 //Output port para sa relay 1 #define RELOUT2 4 //Output port para sa relay 2 int RECV_PIN = 2; IRrecv irrecv(RECV_PIN); decode_results; static na boolean REL1_ONOFF = false; static na boolean REL2_ONOFF = false; void setup() ( pinMode(RELOUT1, OUTPUT); pinMode(RELOUT2, OUTPUT); Serial.begin(9600); irrecv.enableIRIn(); // Simulan ang receiver ) void loop() ( if (irrecv.decode(&results) ) )) ( switch(results.value) ( ​​​​case(KEY_ONOFF): REL1_ONOFF = false; REL2_ONOFF = false; break; case(KEY_1): if(REL1_ONOFF) REL1_ONOFF = false; else REL1_ONOFF = true; break; kung( REL2_ONOFF) REL2_ONOFF = false;else REL2_ONOFF = true;break; ) irrecv.resume(); ) digitalWrite(RELOUT1, REL1_ONOFF);

Halimbawa, stats - video, na parang nagpapakita sa robot ng parehong sketch. Para sa bajannya at pagpapakita ng malikhaing imahinasyon, posible na palawakin ang parke ng mga module na konektado, at higit pa at higit pa ang itinutulak. Sinubukan naming magtatag ng isang pangunahing butt ng zastosuvannya tsієї tekhnologii sa aming artikulo. Dyakuёmo para sa paggalang, titingnan ko itong muli!

Mangyaring, magdagdag ng JavaScript para sa mga robot na may mga komento.

Ang artikulo ngayon ay titingnan ang koneksyon ng TSOP34836 IC receiver sa Aduino UNO board. Para sa mga layuning ito, maaari mong zastosuvat kung mayroon kang priymach, matalino sa iyong remote control sa dalas. Appointment visnovkіv ipinapakita ng kaunti.

1. Vout - sa labas ng primach.
2. GND - "lupa", galny wire.
3. Vcc - kumakain.
Ang paghahatid ng data mula sa IC remote control hanggang sa pagtanggap ay isinasagawa ayon sa RC5 protocol, na isang pagkakasunud-sunod ng mga impulses. Ang koneksyon ay ginawa para sa nakakasakit na pamamaraan.

At zіbravshi, kumukuha kami ng humigit-kumulang sa mga sumusunod:

Upang maproseso ang data na ipinadala ng remote control, ang IRremote library ay naidagdag, ang library na ito ay naka-attach sa artikulo. I-paste ang sumusunod na code:

#include "IRremote.h" IRrecv irrecv(11); // Tukuyin ang pin kung saan ang receiver ay pinagana ang mga resulta ng decode_results; void setup() ( Serial.begin(9600); // Pag-install ng seguridad sa COM port irrecv.enableIRIn(); // Starting the receive ) void loop() ( if (irrecv.decode(&results)) // Kailan dumating ang data ( Serial .println(results.value, HEX); // Resume na ibinigay sa console irrecv.resume(); // Accept command ) )

Ngayon, sa COM console, maaari kang bumuo ng key code para sa port na pipindutin sa HEX.


Axis i all now you can twist the scheme in your outbuildings. Nasa ibaba ang puwit ng isa sa mga praktikal na zastosuvan ІЧ - primach.

Bilang isang demonstrasyon, ipapakita kung paano gumamit ng servo machine para sa karagdagang IC remote control.

Naka-attach na scheme:

Ang axis ay mukhang wala sa lugar:

Para sa mga robot, magdaragdag ako ng isang matagumpay na code:

#include "Servo.h" #include "IRremote.h" IRrecv irrecv(11); decode_results; Servo pangunahing; intservPoz = 90; // Pochatkovo servi camp int lastPoz = 0; void setup() ( irrecv.enableIRIn(); servoMain.attach(10); // Ang Servo ay nakakabit ng hanggang 10 attachment servoMain.write(servPoz); ) void loop() ( if (irrecv.decode(&results)) ( int res res = results.value;Serial.println(res, HEX); 0xFFFFA857)// Pinindot ang "-" button ( servPoz--; lastPoz=res; servoMain.write(servPoz); ) else if(res== 0xFFFFFFFF) // Gayundin, i-trim ang button ( if(lastPoz==0xFFFF906F) serv // Trim "+" if(lastPoz==0xFFFFA857) servPoz--; // Trim "-" servoMain.write(servPoz); ) irrecv .resume() ;delay(100); ) )

Ang control panel vikoristovuetsya tulad ng isang Chinese, na may presyon "+" ang servo ay bumabalot sa isang beat, na may presyon "-", sa isa pa.

Ibahagi sa mga kaibigan o mag-ipon para sa iyong sarili:

Sigasig...