Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

Ballu me telekomandë me tel në arduino. Arduino: telekomandë dhe marrës infra të kuqe

Telekomandë infra të kuqe telekomandë- një nga më mënyra të thjeshta ndërveprim me pajisjet elektronike. Pra, pothuajse në çdo shtëpi ka disa pajisje të tilla: TV, Qendra muzikore, video player, kondicioner. Por më së shumti aplikim interesant telekomandë infra të kuqe - telekomandë e robotit. Në fakt, në këtë mësim do të përpiqemi të zbatojmë këtë metodë kontrolli duke përdorur kontrolluesin popullor Arduino Uno.

1. Telekomandë IR

Çfarë duhet për të mësuar një robot që t'i bindet një telekomande me rreze infra të kuqe (IR)? Së pari, na duhet vetë telekomanda. Mund të përdorni një telekomandë të rregullt të televizorit ose mund të blini një telekomandë miniaturë për radion e makinës suaj. Këto lloje të telekomandave përdoren shpesh për të kontrolluar robotët.

Kjo telekomandë ka 10 butonat dixhitalë dhe 11 butona për manipulimin e muzikës: volum, rikthim, luaj, ndalim, etj. Më se e mjaftueshme për qëllimet tona.

2. Sensori IR

Së dyti, për të marrë një sinjal nga telekomanda, na duhet një sensor i veçantë IR. Në përgjithësi, ne mund të zbulojmë rrezatim infra të kuqe me një fotodiodë/fototransistor konvencional, por ndryshe nga ai, sensori ynë IR percepton sinjalin infra të kuqe vetëm në një frekuencë prej 38 kHz (ndonjëherë 40 kHz). Është kjo veti që lejon sensorin të injorojë shumë zhurmë të dritës së jashtme nga llambat e ndriçimit dhe dielli.

Për këtë tutorial ne do të përdorim sensorin popullor IR VS1838B, e cila ka karakteristikat e mëposhtme:

  • frekuenca e bartësit: 38 kHz;
  • Tensioni i furnizimit: 2,7 - 5,5 V;
  • Konsumi aktual: 50 µA.

Mund të përdoren sensorë të tjerë, për shembull: TSOP4838, TSOP1736, SFH506.

3. Lidhja

Sensori ka tre priza (tre këmbë). Nëse shikoni sensorin nga ana e marrësit të sinjalit IR, siç tregohet në figurë,

  • atëherë në të majtë do të ketë një dalje në kontrollues,
  • në qendër - kontakt negativ i fuqisë (tokë),
  • dhe në të djathtë - kontakti pozitiv i fuqisë (2.7 - 5.5V).

Diagrami skematik i lidhjes

Pamja e paraqitjes

4. Programi

Pasi të kemi lidhur sensorin IR, ne do të shkruajmë një program për Arduino Uno. Për ta bërë këtë, ne do të përdorim bibliotekën standarde IRremote, i cili është krijuar posaçërisht për të thjeshtuar punën me marrjen dhe transmetimin e sinjaleve IR. Duke përdorur këtë bibliotekë, ne do të pranojmë komanda nga telekomanda dhe për të filluar, thjesht i shfaqim ato në dritaren e monitorit porta serike. Ky program do të jetë i dobishëm për ne për të kuptuar se çfarë kodi jep secili buton.

#include "IRremote.h" IRrecv irrecv(2); // tregoni pinin me të cilin është lidhur marrësi dekode_rezultatet; void setup() ( Serial.begin(9600); // vendosni shpejtësinë e portës COM irrecv.enableIRIn(); // filloni të merrni ) void loop() ( if (irrecv.decode(&results)) ( // nëse të dhënat e mbërritura Serial .println(results.value, HEX); // printoni të dhënat irrecv.resume(); // pranoni komandën tjetër ) )

Ngarkoni programin në Arduino. Pas kësaj, ne përpiqemi të marrim komanda nga telekomanda. Hapni monitorin e portës serike (Ctrl+Shift+M), merrni telekomandën dhe drejtojeni te sensori. Duke shtypur butona të ndryshëm, ne vëzhgojmë kodet që u korrespondojnë këtyre butonave në dritaren e monitorit.

Problem me ngarkimin e programit

Në disa raste, kur përpiqeni të ngarkoni një program në kontrollues, mund të shfaqet një gabim:

TDK2 nuk ishte deklaruar në objektin e tij

Për ta rregulluar atë, thjesht fshini dy skedarë nga dosja e bibliotekës. Le të shkojmë te eksploruesi. Shkoni te dosja ku është instaluar aplikacioni Arduino IDE(me shumë mundësi kjo është "C:\Program Files (x86)\Arduino"). Pastaj në dosjen e bibliotekës:

…\Arduino\libraries\RobotIRremote

Dhe fshini skedarët: IRremoteTools.cpp Dhe IRremoteTools.h. Më pas, ne rifillojmë Arduino IDE dhe përpiqemi ta ngarkojmë përsëri programin në kontrollues.

5. Kontrolloni LED-in duke përdorur telekomandën IR

Tani që e dimë se cilat kode korrespondojnë me butonat e telekomandës, ne përpiqemi të programojmë kontrolluesin që të ndezë dhe fikë LED kur shtypen butonat e volumit. Për ta bërë këtë, na duhen kode (mund të ndryshojnë në varësi të telekomandës):

  • FFA857 - rrit volumin;
  • FFE01F - zvogëloni volumin.

Si LED, ne përdorim LED-in e integruar në pinin nr. 13, kështu që diagrami i lidhjes do të mbetet i njëjtë. Pra, programi:

#include "IRremote.h" IRrecv irrecv(2); // tregoni pinin me të cilin është lidhur marrësi dekode_rezultatet; void setup() (irrecv.enableIRIn(); // filloni marrjen ) void loop() ( if (irrecv.decode(&results)) ( // nëse të dhënat mbërritën kaloni (rezultatet.vlera) (rasti 0xFFA857: digitalWrite( 13, LARTË); pushim; rasti 0xFFE01F: dixhitalWrite(13, LOW); break; ) irrecv.resume(); // prano komandën tjetër ) )

Ne e ngarkojmë atë në Arduino dhe e testojmë. Klikoni vëll+— LED ndizet. Klikoni vol-- shkon jashtë. Tani, duke e ditur se si funksionon gjithçka, ju mund të kontrolloni motorët e robotëve ose pajisje të tjera mikroelektronike shtëpiake në vend të një LED!

Në mënyrë tipike, telekomandat për një televizor, kuti kabllore, Blu-ray player dhe sistemet stereo jo vetëm që zënë hapësirë, por edhe e bëjnë të vështirë menaxhimin e të gjitha atyre pajisjeve. Ju mund të konsideroni blerjen e një telekomandë universale, por ato zakonisht janë të shtrenjta dhe ndonjëherë nuk ofrojnë nivelin e kontrollit ose ndërfaqen që ju nevojitet. Ky projekt krijon një pajisje që mund të dërgojë dhe të marrë kode të telekomandës nga një faqe standarde në internet. Ju mund të programoni funksionalitetin e kërkuar nga çdo smartphone ose kompjuter!

Ky projekt përdor Moduli Arduino Yún, i cili është krijuar posaçërisht për të menaxhuar pajisjet që mbështesin lidhje rrjeti. Yún ka dy procesorë, i pari prej të cilëve funksionon sistemi operativ Linux dhe mund të lidhet me kabllo ose rrjeti pa tel. Procesori i dytë kryen të njëjtat funksione si procesori në modulin Arduino Leonardo. Prandaj, siguron përputhshmëri të mirë me bibliotekat dhe harduerin Arduino.

Ky projekt përdor një LED infra të kuqe dhe një marrës për të dërguar dhe marrë sinjale të telekomandës. Drita infra e kuqe është e padukshme për syrin e njeriut, por zbulohet lehtësisht nga sensorët elektronikë. Për transmetim më të besueshëm të sinjalit, pajisjet përdorin dritë të moduluar infra të kuqe, e cila eliminon mundësinë e marrjes së sinjaleve false. Marrësi infra të kuqe është pajisje e vogël, i cili merr sinjale infra të kuqe të moduluara në një frekuencë specifike, zakonisht 38 kHz. Duke përdorur këtë marrës, moduli Arduino përcakton pjesët e informacionit që dërgohen nga paneli i kontrollit.

Dërgimi i komandave tek ju qendër multimediale do të kryhet duke përdorur ndërfaqe e thjeshtë në internet, i cili funksionon në nivel lokal në modulin Yún dhe është i disponueshëm për shumicën e shfletuesve modernë të internetit. Faqja e internetit e bën më të lehtë punën e menaxhimit pajisje infra të kuqe dhe ju lejon të përpunoni edhe disa komanda në të njëjtën kohë. Për shembull, shtypja e butonit "Shiko filmin" mund të dërgojë një sinjal për të ndezur televizorin, luajtësin Blu-ray dhe për ta lidhur atë me hyrjen e televizorit.

Ky projekt kërkon disa përvojë në drejtimin e skicave Arduino dhe përdorimin e mjeteve të linjës së komandës. Komponentët elektronikë projekti mund të instalohet në një tabelë.

Hapi # 1: Lidhja e komponentëve

  • Lidheni LED-in infra të kuqe me modulin Yún duke drejtuar një tel nga anoda LED (prijës së gjatë) në dalje dixhitale 13 module Yun.
  • Duke përdorur një rezistencë 100 ohm, lidhni katodën LED (plumbi më i shkurtër) me kutinë e tokëzimit të sensorit IR (kalimi i mesit të sensorit).
  • Lidhni pinin e zbulimit të sensorit infra të kuqe (spina më e majtë kur shihet nga pjesa e përparme e sensorit) me pinin dixhital 11 të modulit Yún.
  • Lidhni kunjin e tokëzimit të sensorit infra të kuqe (gjilpëra e mesme) me kutinë e tokëzimit të modulit Yún.
  • Së fundi, lidhni prizën e fuqisë së sensorit (gjilpërën e djathtë kur shihet nga pjesa e përparme e sensorit) me kunjin 5 volt të modulit Yún.

Hapi # 2: Instaloni varësitë e softuerit

  • Kur futet Kartë MicroSD në modulin Yún, aktivizoni Yún duke u lidhur USB Micro Kabllo B në modulin Yún dhe Përshtatës USB të ushqyerit.
  • Sigurohuni që Yún të jetë konfiguruar dhe lidhur me rrjetin tuaj me valë. Konfigurimi i modulit Yún tregohet në këtë faqe.
  • Lidhu me linja e komandës Ju duke përdorur SSH. Ky proces përshkruar në këtë faqe.
  • Pasi të lidheni me vijën e komandës, do të shihni versionin e firmuerit. Ky projekt testuar me versionin BusyBox v1.19.4 nga 2014-04-10 dhe më lart. Nëse përdorni më shumë version i vjeter, më pas ndiqni udhëzimet e mëposhtme.
  • Në vijën e komandës, ekzekutoni komandat e mëposhtme për të përditësuar menaxherin e paketave:
përditësim opkg
  • Më pas, instaloni PIP, menaxherin e paketave Python:
opkg instaloni shpërndani && opkg instaloni python-openssl && opkg instaloni python-expat && easy_install pip

Ky proces zgjat disa minuta. Mund të shihni disa mesazhe paralajmëruese, por mund t'i shpërfillni ato.

  • Krijoni një direktori në kartën tuaj SD për të ruajtur paketat Python:
mkdir /mnt/sda1/python-packages
  • Instaloni kornizën Flask Python:
pip install --target /mnt/sda1/python-packages flask

Mund të shihni disa mesazhe paralajmëruese, por mund t'i shpërfillni ato.

  • Përditësoni shtegun e kërkimit për skedarët e paketës Python:
echo "eksporto PYTHONPATH=/mnt/sda1/python-packages" >> /etc/profile
  • Krijoni drejtori ku Arduino IDE do të ngarkojë skedarët e serverit në internet:
mkdir /mnt/sda1/Arduino mkdir /mnt/sda1/arduino/www
  • Rinisni Arduino Yún tuaj për të përditësuar rrugën e kërkimit të skedarëve Python.

  • Shkarkoni bibliotekën IR. (Arduino IRremote, bibliotekë e krijuar nga Ken Shirriff.)
    Hapni arkivin, riemërtoni dosjen me Arduino_ IRremote- mjeshtërArduino_ IRremote, dhe importoni dosjen Arduino_IRremote si bibliotekë në mjedis Zhvillimi i Arduino IDE. informacion i detajuar treguar
  • Ngarkoni skicën tuaj Telekomanda inteligjente Kontrolloni Arduino nga arkivi zip nga këtu.
    Hapni arkivin dhe tërhiqni dosjen SmartRemoteControl në dosjen me Skicë Arduino. Hapni skicën në Arduino IDE.
  • Përpiloni skicën dhe ngarkoni atë në modulin Yún nëpërmjet WiFi duke zgjedhur opsionin e duhur në listën e porteve Arduino Yún. Sigurohuni që të ngarkoni skicën përmes WiFi në mënyrë që skriptet e kërkuara të python të kopjohen në modulin Yún! Pasi të keni shkarkuar skicën, hapni Monitorin Serial në Mjedisi Arduino IDE (kjo mund të zgjasë disa minuta).
  • Drejtojeni telekomandën në sensor infra të kuqe dhe shtypni disa butona në telekomandë. Ju duhet të shihni kodin në Monitorin Serial. Nëse kodi nuk shfaqet, atëherë kontrolloni lidhjet e qarkut të sensorit.

Hapi # 4: Konfiguro kodet e telekomandës

  • Tani mund të konfiguroni aktivitetet dhe kodet e telekomandës duke i lidhur me to skedar XML konfigurimet. Duke përdorur redaktori i tekstit, hapni skedarin aktivitetet. xml në një nëndrejtori www skiconi dosjet në kompjuterin tuaj. (Nga Arduino IDE, klikoni në menunë Sketch dhe zgjidhni "Trego dosjen e skicave").
  • Merrni parasysh formatin e operacioneve shembull në skedar. Çdo bllok operimi përcakton një emër atributi që do të shfaqet si një buton në faqen e internetit të telekomandës. Brenda çdo operacioni, blloku i kodeve përmban një sekuencë kodesh infra të kuqe që duhet të ekzekutohen. Në shembull, komanda Sony A90 (ndezja/fikja e energjisë) së pari ekzekutohet për të ndezur televizorin, më pas komanda Panasonic (ndezja/fikja) për të ndezur luajtësin Blu-ray. Çdo kod ka një parametër vargu, i cili është dalja e drejtpërdrejtë e të dhënave të kodit të zbuluar në distancë nga skica e Arduino.
  • Shtoni komandat tuaja në skedar duke kopjuar shembullin dhe duke ndryshuar emrat dhe kodet. Kur telekomanda drejtohet nga sensori infra të kuqe, shtypni butonat dhe shkruani me kujdes sekuencën specifike të kodit infra të kuqe. Kopjoni sekuencën në konfigurimin e kodit optik.
  • Sapo të merrni skedari i kërkuar konfiguroni, ruani skedarin dhe ngarkoni sërish skicën në modulin Yún nëpërmjet WiFi. Për të përditësuar skedarin e konfigurimit, modifikoni skedarin dhe ngarkoni skicën përmes WiFi duke përdorur Arduino IDE.

Hapi # 5: Nisja e serverit me një ndërfaqe në internet

  • Për të nisur serverin, lidhni modulin Yún nëpërmjet SSH. Për të nisur serverin, ekzekutoni komandën e mëposhtme:
python /mnt/sda1/arduino/www/SmartRemoteControl/server.py
  • Kur serveri të fillojë me sukses, do të shihni mesazhin:
* Po funksionon në http://0.0.0.0:5000/ * Rinisja me ringarkuesin
  • Nëse shihni një gabim, atëherë kontrolloni të gjitha varësitë e instaluara në hapat e mëparshëm.
  • Në shfletuesin tuaj të internetit, shkruani http://arduino.local:5000/. Nëse shfletuesi nuk e mbështet URL-në mDNS (si Windows, Android dhe disa Shpërndarjet Linux) shkruani http:// arduino_ ip_ adresë:5000/, ku arduino_ ip_ adresëështë adresa IP e Arduino Yún tuaj. Adresa IP ndodhet në fund të Arduino IDE kur lidhni Yún (Figura 2).
  • Pasi të ngarkohet faqja, do të shihni një listë të veprimeve të konfiguruara të butonit. Nëse shihni një gabim, atëherë kontrolloni që varësitë të jenë instaluar saktë, skica të jetë ngarkuar dhe që serveri të funksionojë pa gabime.
  • Për të ndaluar serverin, klikoni kombinim Ctrl-C në dritaren komanduese në të cilën është nisur serveri.

Hapi # 6: Përdorimi i ndërfaqes në internet

  • Per perdorim telekomandë inteligjente drejtoni LED-in pajisjet elektronike dhe klikoni një nga butonat aktivë. Nëse pajisja e kërkuar nuk ndizet, provoni ta lëvizni LED-in më afër pajisjeve të kërkuara. Gama LED është e vogël, rreth 6 metra. Është e nevojshme të shtoni një transistor për të rritur gamën e LED. Ofrohet informacion i detajuar Këtu.
  • Ju gjithashtu mund të testoni kodet infra të kuqe duke hapur Yún Serial Monitor në Arduino IDE dhe duke dërguar kodin infra të kuqe si komandë. Për shembull, dërgimi i kodit "SONY: C A90" (pa thonjëza) do të bëjë që hardueri të dërgojë një komandë te duke ndezur Sony A90. ("C" përfaqëson bitin e gjatësisë së komandës, 12, i konvertuar në heksadecimal).
  • Për nisje automatike server kur ngarkoni, modifikoni skedarin / etj/ rc. lokal në modulin Yún (duke përdorur redaktuesin nano ose vi) dhe shtoni rreshti tjetër përpara me rreshtin "dalje 0" në fund:
PYTHONPATH=/mnt/sda1/python-packages python /mnt/sda1/arduino/www/SmartRemoteControl/server.py
  • Për njohjen e të folurit, hapni shfletuesin tuaj Google Chrome. Klikoni butonin "Fol" dhe Shfletuesi Chrome do të kërkojë leje për të përdorur mikrofonin. Më pas thoni emrin e operacionit aktiv dhe prisni derisa të njihet. Për shembull, për të kryer operacionin "Filma", shtypni butonin "Fol" dhe thoni fjalën "Filma" në mikrofon. Fraza të tilla si "Play Movies" ose "Run Movies" nuk mbështeten - njihet vetëm emri i qartë i operacionit aktiv.

Në këtë mësim do të shikojmë lidhjen e një marrësi IR me Arduino. Ne do t'ju tregojmë se cila bibliotekë duhet të përdoret për marrësin IR dhe do të demonstrojmë një skicë për testimin e funksionimit marrës infra të kuqe nga telekomanda dhe analizoni komandat në C++ për të marrë një sinjal. Le të vërejmë menjëherë se sensori IR Arduino nuk është i përshtatshëm për çdo telekomandë; frekuenca e sinjalit mund të ndryshojë.

Pajisja e marrësit IR. Parimi i funksionimit

Marrësit e rrezatimit infra të kuqe tani përdoren gjerësisht në Pajisje shtëpiake, falë çmim i përballueshëm, thjeshtësia dhe lehtësia e përdorimit. Këto pajisje ju lejojnë të kontrolloni pajisjet duke përdorur një telekomandë dhe mund të gjenden në pothuajse çdo lloj pajisjeje. Por pavarësisht kësaj, moduli Bluetooth gradualisht po fiton gjithnjë e më shumë popullaritet.

Parimi i funksionimit të një marrësi IR. Përpunimi i sinjalit nga telekomanda

Marrësi IR në Arduino është i aftë të marrë dhe përpunojë një sinjal infra të kuqe në formën e pulseve të një kohëzgjatjeje dhe frekuence të caktuar. Përdoret në prodhimin e sensorit të pengesave dhe gjetësit të rrezes për Arduino. Zakonisht marrësi IR ka tre këmbë dhe përbëhet nga elementet e mëposhtëm: Fotodiodë PIN, përforcues, filtër brez-pass, detektor amplitudë, filtër integrues dhe transistor dalës.

Nën ndikimin e rrezatimit infra të kuqe në një fotodiodë, e cila ka ndërmjet fq Dhe n rajonet krijuan një rajon shtesë të gjysmëpërçuesit ( i-rajon), rryma fillon të rrjedhë. Sinjali shkon në një përforcues dhe më pas në një filtër brezpass, i cili është i akorduar në një frekuencë fikse: 30; 33; 36; 38; 40 dhe 56 kilohertz dhe mbron marrësin nga ndërhyrjet. Ndërhyrjet mund të shkaktohen nga çdo pajisje shtëpiake.

Në mënyrë që sinjali nga telekomanda të merret nga marrësi Arduino IR, telekomanda duhet të jetë në të njëjtën frekuencë me të cilën është vendosur filtri në marrësin IR. Prandaj, jo çdo telekomandë do të funksionojë. Ju duhet të zgjidhni një marrës IR dhe një transmetues IR me të njëjtën frekuencë. Pas filtrit, sinjali shkon në një detektor amplitudë që integron filtrin dhe transistorin e daljes.

Si të lidhni një marrës IR me Arduino

Kutitë e marrësve infra të kuqe përmbajnë një filtër optik për të mbrojtur pajisjen nga fushat e jashtme elektromagnetike; ato janë bërë në një formë të veçantë për të fokusuar rrezatimin e marrë në një fotodiodë. Për të lidhur marrësin IR me Arduino UNO, përdoren tre këmbë, të cilat janë të lidhura me - GND, 5V dhe A0. Ne rekomandojmë fillimin e përdorimit të 3,3 volt, në mënyrë që të mos digjet sensori IR gjatë konfigurimit.

Për këtë mësim do të na duhen detajet e mëposhtme:

  • Pllaka Arduino Uno / Arduino Nano / Arduino Mega;
  • dërrasë për bukë;
  • marrës IR;
  • telekomandë;
  • 1 LED dhe rezistencë 220 Ohm;
  • telat mashkull-mashkull dhe mashkull-femër.

Diagrami i lidhjes së marrësit IR me portën analoge Arduino

Lidhni marrësin IR sipas diagramit të paraqitur më sipër dhe lidhni LED-të me kunjat 12 dhe 13. Përpara se të shkarkoni programin, do t'ju duhet të instaloni bibliotekën IRremote.h, nëse nuk është instaluar tashmë. Kjo bibliotekë nuk zbatohet për bibliotekat standarde mjedisi Programimi Arduino IDE. Ju mund të shkarkoni bibliotekën IRremote.h dhe skicën e përfunduar në një arkiv nga Google Drive lidhje .

Skicë për marrësin IR Arduino:

#përfshi // lidhni bibliotekën për marrësin IR IRrecv irrecv(A0); // tregoni pinin me të cilin është lidhur marrësi IR rezultatet e dekodimit të rezultateve; konfigurimi i pavlefshëm () // konfigurimi i procedurës (irrecv.enableIRIn (); // filloni të merrni sinjal infra të kuqe pinMode (13, OUTPUT); // pin 13 do të jetë dalja pinMode (12, OUTPUT); // pin 12 do të jetë dalja pinMode (A0, INPUT); // pin A0 do të jetë hyrja (eng. "input") Seriali.fillim(9600); // lidhni monitorin e portit) void loop () // cikli i procedurës ( if (irrecv.deshifroj (&rezultatet)) // nëse të dhënat kanë mbërritur, ekzekutoni komandat( Serial .println (rezultatet.vlera); // dërgoni të dhënat e marra në port // ndizni dhe fikni LED-të, në varësi të sinjalit të marrë if (results.value == 16754775) ( digitalWrite (13, LARTË); ) if (results.value == 16769055) ( digitalWrite (13, LOW); ) if (results.value == 16718055) ( digitalWrite (12, I LARTË); ) nëse (rezultatet.vlera == 16724175) (Dixhital Shkruani (12, ULËT); ) irrecv.rifillimi (); // pranoj sinjali i radhës në marrësin IR } }

Shpjegime për kodin:

  1. Biblioteka IRremote.h përmban një grup komandash dhe ju lejon të thjeshtoni skicën;
  2. Deklarata decode_results i cakton rezultatet e emrit të ndryshores sinjaleve të marra nga telekomanda.

Sensori IR mund të përdoret në shumë pajisje në mikrokontrolluesin Arduino, duke përfshirë telekomandimin e një servo drive në Arduino nga një marrës IR. Kur konfiguroni, duhet të aktivizoni monitorin e portit Arduino IDE dhe të zbuloni se çfarë sinjali dërgohet nga ky ose ai buton në telekomandë. Kodet që rezultojnë duhet të përdoren në skicë pas shenjës së barazimit të dyfishtë në kushtet if().

Gjithashtu lexoni shpesh:

Kur krijoni pajisje për të punuar me telekomandat IR, një mjet me të cilin mund të regjistroni dhe analizoni sinjalet IR është shumë i nevojshëm. Një mjet i tillë, në mënyrë ideale, mund të jetë një oshiloskop dixhital ose analizues logjik, por jo të gjithë i kanë këto pajisje dhe blerja e tyre me qëllim është e shtrenjtë. Si të jesh? Ekziston një zgjidhje shumë e thjeshtë - një kartë zanore e kompjuterit! Ne do të regjistrojmë sinjalin duke e përdorur atë.

Përveç kartës së zërit (e cila, shpresoj, është në kompjuterin tuaj), do të na duhet një marrës i sinjalit IR. Do të ishte më e saktë të montoni një qark marrës të plotë me TSOP, por ne do ta bëjmë atë sa më thjesht të jetë e mundur - do të marrim LED-in më të zakonshëm IR (të njëjtin që është në telekomandën tuaj) si marrës IR. Sigurisht, ju mund të merrni një fotodiodë IR, por një LED IR është më e lehtë për t'u marrë. LED IR duhet të lidhet drejtpërdrejt me hyrjen e mikrofonit të kartës së zërit. Për ta bërë këtë, ju nevojitet një prizë 3,5 mm dhe një copë teli i mbrojtur (e preva kordonin me lidhësin nga një mikrofon i vjetër që nuk funksionon).

LED lidhet si më poshtë:

Si rezultat, marrim pajisjen e mëposhtme:

Fusni spinën në hyrjen e mikrofonit (ajo Ngjyra rozë). Në cilësimet e kartës së zërit, zgjidhni mikrofonin si pajisje hyrëse, ktheni kontrollin e fitimit në maksimum dhe kontrolloni kutinë e fitimit shtesë. Për të kontrolluar, drejtojeni telekomandën te marrësi LED (duhet ta afroni sa më afër telekomandës), shtypni tastin - klikimet duhet të dëgjohen në altoparlantë.

Nëse, për ndonjë arsye, nuk keni hyrje të mikrofonit (për shembull, në një laptop), lidhni marrësin me hyrje në linjë karta e zërit - gjithçka do të funksionojë njësoj, vetëm amplituda e sinjalit të regjistruar do të bëhet shumë më e vogël.


Tani na duhet një program për të regjistruar zërin.
Çdo program që keni do të jetë i përshtatshëm për këto qëllime. Nëse nuk keni një program të preferuar për të punuar me zërin, unë sugjeroj një të vogël dhe program falas— Wavosaur (http://www.wavosaur.com/) Programi funksionon pa instalim dhe ka madhësia e vogël- sa te dua :).

Një program për të punuar me zërin.

Pas fillimit të programit, ndizni treguesin e nivelit (vizorin në anën e djathtë të dritares) dhe kontrolloni përgjigjen ndaj sinjaleve të telekomandës. Si parazgjedhje, gjithçka duhet të funksionojë - sunduesi do të shkojë jashtë shkallës nga sinjalet e marra (nëse nuk ka reagim, shkoni te cilësimet Konfigurimi i audios/Audio in). Më pas, shtypni ikonën e regjistrimit, afrojeni telekomandën sa më afër LED-së marrëse, shtypni butonin e telekomandës dhe mbajeni për disa sekonda. Çaktivizo regjistrimin - U krye! Në dritare do të shohim një skanim të sinjalit IR të marrë. Ajo që është interesante është se sinjali tashmë do të zbulohet - ne nuk do të shohim frekuencën e bartësit, por vetëm sinjalin e dobishëm. Kjo ndodh sepse kapacitetet hyrëse të hyrjes së mikrofonit nuk kanë kohë për t'u rimbushur.

Sinjali i marrë mund të shkallëzohet sipas kohës, amplitudës dhe, gjë që është shumë e përshtatshme, duke theksuar një periudhë të caktuar, mund të shihni menjëherë kohëzgjatjen e tij. Sinjali i marrë mund të ruhet (mundësisht në formatin wav - nuk do të ketë shtrembërim) ose të eksportohet në MP3, tekst, skedar binar(gjë e dobishme!).

Për shembull, sinjal nga telekomanda ime e televizorit (format NEC):

Të gjitha intervalet kohore janë të dukshme nga fotografia, madje mund të llogaritni adresën e telekomandës dhe kodin e komandës së butonit - gjithçka është e qartë dhe e kuptueshme.

P.S.
Kërkesa e madhe! Nëse montoni një marrës të tillë, ruani paketat e telekomandave tuaja dhe ma dërgoni me email (në skedën "Rreth projektit") - kjo do të ndihmojë shumë në përmirësimin e algoritmit të marrësit universal. Në emrin e skedarit, tregoni se nga është telekomanda dhe nga prodhuesi (për shembull: tv-sony.wav).


Më shumë rreth punës me telekomandat IR!
Unë propozova opsionin më të thjeshtë për të "ndjerë" sinjalin nga telekomanda IR, por ka shumë zgjidhje që mund të bëjnë shumë më tepër! Merrni një sinjal IR, analizoni, ruani, luani, programoni telekomandat, kontrolloni kompjuterin tuaj... Ky seksion do të përmbajë lidhje me zgjidhje të tilla.

1. DvzRcEditor
Programi do të shkojë i pari DvzRcEditor, të cilën e hodha mobi. Programin e ka bërë dikush Dvz 2010(për fat të keq nuk ka koordinata për të, ndoshta dikush e di?).


- Një program për analizimin dhe përsëritjen e sinjaleve IR.
Programi ju lejon të regjistroni dhe luani mesazhe IR duke përdorur hyrjen e mikrofonit dhe daljen audio. Ka mjete për analizimin e mesazheve IR dhe krijimin e një baze të dhënash të mesazheve të telekomandës (ekziston një bazë të dhënash të vogël për kontrolle të ndryshme në distancë). Zgjidhje interesanteështë mbështetje për telekomandën tuaj të krijuar në ATtiny2313.


Telekomanda ka 7 çelësa me të cilët mund të vendosni çdo komandë nga ato të analizuara, dhe vetë programi mund të regjistrojë sinjalet për këto butona në mikrokontrollues (me kusht që të ndezni ngarkuesin atje për herë të parë).

Gjithçka është e thjeshtë dhe e qartë - më pëlqeu!


2. SlyControl.
http://slydiman.narod.ru/scr/index.htm
Nuk është as një program - është gjithë internetin burim i dedikuar për telekomandat IR. Përmban shumë informacione të dobishme, harduer dhe zgjidhje softuerike për të gjitha rastet. Ja çfarë shkruajnë autorët për SlyControl:
- Kjo program universal për të kontrolluar çdo gjë duke përdorur një kompjuter.

Për çfarë mund të përdoret kjo:
— kontrolli i çdo programi nga çdo telekomandë (komandë në distancë), nga një tastierë multimediale duke përdorur çelësa ose një levë
— emulimi i tastierës dhe miut nga çdo telekomandë
— planifikues (jo vetëm ekzekutoni programin sipas kohës, por kryeni edhe disa veprime me të)
- fikja e kompjuterit me kohëmatës ose ngjarje
— dritat në apartament mund të ndizni edhe nga telekomanda, mjafton të shtoni shtojcën përkatëse 😉

Ekziston gjithashtu një program për burimin RCExplorer 2.1— një bazë të dhënash me telekomandë IR (baza e të dhënave përmban më shumë se 200 hyrje).


Programi ju lejon të:
— Merr sinjale nga telekomanda duke përdorur kartë zëri, porta COM, IgorPlug-USB ose IgorPlug2
- Analizoni sinjalin në detaje - (modulimi, karakteristikat e kohës, veçoritë e kodimit, kodet e përsëritjes, etj., të gjitha të njohura për mua janë mbështetur në ky moment protokollet, programi mund të punojë edhe me protokolle të panjohura.
— Paraqitni grafikisht sinjalin në kohë reale dhe sipas të dhënave nga baza e të dhënave
— Kërkoni për një telekomandë të ngjashme në bazën e të dhënave
— Riprodhoni komandën e telekomandës duke përdorur të dhëna nga baza e të dhënave nëpërmjet portës COM

Në përgjithësi, sigurohuni që të vizitoni burimin - do të jetë interesant.

(Vizituar 20,417 herë, 9 vizita sot)

Artikujt më të mirë mbi këtë temë