Obsah:

Použitie infračerveného senzora s Arduino: 8 krokov (s obrázkami)
Použitie infračerveného senzora s Arduino: 8 krokov (s obrázkami)

Video: Použitie infračerveného senzora s Arduino: 8 krokov (s obrázkami)

Video: Použitie infračerveného senzora s Arduino: 8 krokov (s obrázkami)
Video: Использование Melexis MLX90614 Инфракрасный термометр с Arduino 2024, November
Anonim
Použitie infračerveného senzora s Arduino
Použitie infračerveného senzora s Arduino

Čo je to infračervený (aka IR) senzor?

IR senzor je elektronický prístroj, ktorý skenuje IR signály v špecifických frekvenčných rozsahoch definovaných štandardmi a prevádza ich na elektrické signály na svojom výstupnom kolíku (zvyčajne sa nazýva signálny kolík). IR signály sa používajú hlavne na prenos príkazov vzduchom na krátke vzdialenosti (zvyčajne niekoľko metrov), ako s ktorými ste už pracovali na diaľkových ovládačoch televízora alebo iných podobných elektronických zariadeniach.

IR komunikačný protokol

Každý signál predstavuje konkrétny kód. Elektrické signály je možné previesť späť na skutočné údaje/kód, ktoré odosielateľ odoslal. Keď na diaľkovom ovládači televízora stlačíte tlačidlo, generuje signál zodpovedajúci kódu tlačidla (napr. Zapnutie/Vypnutie, Zvýšenie hlasitosti atď.) A odošle ho do prijímača (v tomto prípade televízora). Odosielateľ aj príjemca sa zhodli na sérii kódov, aby príjemca vedel, čo má robiť na základe každého kódu. Spôsob, akým by mal byť kód modulovaný (modelovaný) ako signál, je definovaný v rôznych štandardoch a každý výrobca senzorov sa normálne pokúša vyrobiť produkt, ktorý je s nimi kompatibilný, aby ho bolo možné použiť v rôznych zariadeniach. Jeden z najznámejších štandardných protokolov je od NEC. Stručnú históriu IR protokolov nájdete na Wikipédii pod názvom Consumer IR.

Krok 1: Ako vyzerá infračervený snímač?

Ako vyzerá IR senzor?
Ako vyzerá IR senzor?
Ako vyzerá infračervený senzor?
Ako vyzerá infračervený senzor?
Ako vyzerá IR senzor?
Ako vyzerá IR senzor?

IR senzory sú k dispozícii v rôznych baleniach. Tu nájdete niektoré typické balenia infračerveného prijímača.

Krok 2: Doska/modul IR senzora

Doska/modul IR senzora
Doska/modul IR senzora
Doska/modul IR senzora
Doska/modul IR senzora
Doska/modul IR senzora
Doska/modul IR senzora
Doska/modul IR senzora
Doska/modul IR senzora

Môžete si ich tiež kúpiť ako IR modul/oddeľovaciu dosku na eBay, Aliexpress alebo Amazon. Takéto moduly obvykle obsahujú jeden zo senzorov uvedených vyššie s pekným balíčkom vhodným pre chlebové dosky a diódou LED, ktorá bliká, keď snímač detekuje signál. Pritom by ste si všimli, že sa prenášajú akékoľvek údaje. Vrelo odporúčam začať s jedným z týchto modulov.

Poznámka: Ak máte surový infračervený senzor, nič by sa nezmenilo, okrem toho, že by ste mali skontrolovať jeho technický list a uistiť sa, že ho zapojíte správne, pretože v opačnom prípade môžete mať krásny modrý dym s vôňou, ktorá vydrží po dobu hodinu. Vieš čo myslím;)

Krok 3: Požadované diely a súčasti

Požadované diely a súčasti
Požadované diely a súčasti

Tu nájdete zoznam komponentov, ktoré budete potrebovať na dokončenie tohto tutoriálu:

Odkazy na eBay:

  • 1 x Arduino Uno:
  • 1 x modul IR senzora s diaľkovým ovládaním:
  • 4 x 220 ohmové odpory:
  • 4 x LED:
  • 8 x kábel Dupont:
  • 1 x nepájiteľná doska:
  • 1 x Mini breadboard (voliteľné):

Odkazy na Amazon.com:

  • 1 x Arduino Uno:
  • 1 x modul IR senzora s diaľkovým ovládaním:
  • 1 x nespájkovateľná doska:
  • 4 x 220 ohmové odpory:
  • 4 x LED:
  • 8 x kábel Dupont:
  • 1 x Mini breadboard (voliteľné):

Krok 4: Pripojenie infračerveného senzora k Arduinu

Pripojenie IR senzora k Arduinu
Pripojenie IR senzora k Arduinu
Pripojenie IR senzora k Arduinu
Pripojenie IR senzora k Arduinu
Pripojenie IR senzora k Arduinu
Pripojenie IR senzora k Arduinu

Nastavenie pripojenia infračerveného senzora k Arduinu je veľmi jednoduché. Okrem pinov VCC a GND má senzor iba jeden výstupný kolík, ktorý by mal byť pripojený k jednému z digitálnych pinov Arduina. V tomto prípade je pripojený k pinu 13.

Pokúsil som sa predviesť modul infračerveného senzora aj nastavenie surového infračerveného senzora. Ako je možné vidieť na obrázkoch, poloha pinov VCC a GND na module senzora je opačná ako surový snímač. Váš senzor to však nemusí byť, takže ako je uvedené v predchádzajúcom kroku, v prípade použitia surového senzora najskôr skontrolujte údajový list.

Krok 5: Nájdite kód zodpovedajúci každému kľúču na diaľkovom ovládači

Na diaľkovom ovládači vyhľadajte kód zodpovedajúci každému kľúču
Na diaľkovom ovládači vyhľadajte kód zodpovedajúci každému kľúču
Na diaľkovom ovládači vyhľadajte kód zodpovedajúci každému kľúču
Na diaľkovom ovládači vyhľadajte kód zodpovedajúci každému kľúču
Na diaľkovom ovládači vyhľadajte kód zodpovedajúci každému kľúču
Na diaľkovom ovládači vyhľadajte kód zodpovedajúci každému kľúču

Aby ste Arduino naprogramovali tak, aby po stlačení klávesu na diaľkovom ovládači niečo urobilo, mali by ste najskôr mať kód zodpovedajúci tomuto tlačidlu. Kód kľúča je číslo, ktoré sa bežne uvádza ako hexadecimálne. Každý diaľkový ovládač má vlastnú sadu kódov kľúčov, pričom je možné, že dva ovládače zdieľajú rovnaký kód na rôzne účely. Vďaka rôznym kódom kľúčov a použitiu rôznych frekvenčných rozsahov je zaistené, že dva diaľkové ovládače rôznych zariadení nebudú rušiť. Preto keď zmeníte televízny kanál, váš prehrávač DVD vôbec nereaguje.

Aby ste zistili kódy pre vaše IR diaľkové ovládanie, musíte najskôr spustiť jednoduchý náčrt, ktorý sa pokúsi prečítať kód zo senzora po stlačení klávesu a odoslať ho cez sériový port do vášho počítača, kde k nemu máte prístup pomocou nástrojov Serial Monitor od Arduino IDE. Na to slúži náčrt priložený k tejto sekcii. Bolo by lepšie stlačiť každé tlačidlo, aby ste videli kód a niekde si zapísali zoznam kódov, aby ste v budúcnosti tento kód nemuseli znova spúšťať. Zoznam kódov kľúčov, ktoré vidíte ako tabuľku na obrázku, sú v skutočnosti kódy, ktoré som dostal pri stlačení tlačidiel na mojom lacnom IR diaľkovom ovládači.

Môžete tiež získať prístup k skutočnému zdrojovému kódu zdieľanému v mojom webovom editore Arduino na ir-key-code-logger.

Poznámka: Nebojte sa, ak niekde medzi tým uvidíte kód ako FFFFFF. Znamená to, že ste chvíľu stlačili a podržali tlačidlo. Vrátime sa k tomu neskôr. Zatiaľ ich ignorujte a zamerajte sa na ďalšie kódy.

Krok 6: Ovládajte sadu LED diód pomocou diaľkového ovládača IR

Ovládajte sadu LED diód pomocou diaľkového ovládača IR
Ovládajte sadu LED diód pomocou diaľkového ovládača IR
Ovládajte sadu LED diód pomocou diaľkového ovládača IR
Ovládajte sadu LED diód pomocou diaľkového ovládača IR
Ovládajte sadu LED diód pomocou diaľkového ovládača IR
Ovládajte sadu LED diód pomocou diaľkového ovládača IR

Teraz, keď máme kód pre každé tlačidlo, je načase sa zamerať na spôsob, akým ich môžeme použiť. Bežne používate infračervené diaľkové ovládanie na odosielanie príkazov do Arduina, napríklad na zapínanie alebo vypínanie žiarovky, pohyb robota v určitom smere, zobrazovanie niečoho na obrazovke LCD/OLED atď. Tu sa pokúšame predviesť postup pomocou jednoduchého obvod pozostávajúci zo 4 LED diód v rôznych farbách. Každý z nich chceme zapnúť alebo vypnúť pomocou špeciálneho tlačidla na IR diaľkovom ovládači. Ako vidíte na schéme, Arduino musíte k LED diódam a senzoru pripojiť nasledujúcim spôsobom:

Arduino GND -> IR snímač GND.

Arduino VCC -> IR senzor VCC.

Arduino 13 -> Výstup signálu IR senzora.

Arduino 2 -> Anóda modrej LED (kratší kolík modrej LED)

Arduino 3 -> Anóda zelenej LED (kratší kolík zelenej LED)

Arduino 4 -> Anóda žltej LED (kratší kolík žltej LED)

Arduino 5 -> Anóda červenej LED (kratší kolík červenej LED)

Arduino GND -> Katóda všetkých LED diód cez odpor 220 ohmov (dlhší kolík LED diód)

Kód zodpovedajúci tomuto obvodu nájdete v priloženom súbore alebo v mojom webovom editore Arduino na ir-led-control.

Krok 7: Riešenie problémov

Pri nastavovaní projektu a postupovaní podľa týchto krokov sa môžete stretnúť s mnohými podivnými situáciami. Tu je zoznam niektorých bežných chýb, s ktorými sa môžete stretnúť pri práci s infračerveným snímačom.

Získanie FFFFFF pri stlačení klávesu

Po stlačení tlačidla si môžete všimnúť, že väčšinou hlási kód ako FFFFFF. K tomu dôjde, keď stlačíte tlačidlo a chvíľu ho podržíte, dokonca aj na krátku dobu. Scenár je taký, že keď stlačíte tlačidlo na začiatku, IR diaľkový ovládač odošle kód tlačidla a pokiaľ tlačidlo držíte, opakuje sa odosielanie FFFFFF, čo znamená, že používateľ stále stlačí tlačidlo nahlásené nedávno. To by bolo v poriadku. Môžete ich jednoducho vynechať. Skutočný kód je ten, ktorý ste dostali tesne pred FFFFFF na sériovom monitore.

IR senzor vôbec nereaguje a zdá sa, že sa zahrieva

Prerušte napájanie !!! Ak ste si istí, že skica zapisovača kódov kľúčov je správna, problém môže byť spôsobený nesprávnym nastavením vašich vodičov. Scenár, ktorý sa mi stal, bol taký, že pre môj IR modul (ten, ktorý je pripojený k doske) som zapojil VCC a GND opačným spôsobom (kvôli tomu, že som pre svoje prepojovacie vodiče nepoužíval správne farby). Pri tom horel komponent senzora a vychádzal pekný modrý dym. Kúpil som si balíček surových IR senzorov a pokúsil som sa ho nahradiť a teraz to funguje ako kúzlo:). Nanešťastie som urobil rovnakú chybu, keď som testoval so surovým IR senzorom a tentoraz sa nič nestalo, okrem toho, že sa senzor zahrial. Pred zapnutím napájania preto vždy skontrolujte obvod!

Niekedy senzor detekuje kód, ktorý som nikdy predtým nevidel

Toto je jeden z najčastejších problémov. Je to pravdepodobne z jedného z nasledujúcich dôvodov:

Nemierite infračerveným diaľkovým ovládačom priamo na senzor

To povedie k vzniku nových kódov (väčšinou dlhších), ktoré ste nikdy predtým nedostali a bežne sa nezhodujú s dĺžkou kódov, ktoré už máte. Nezabudnite preto diaľkový ovládač vždy nasmerovať na senzor.

Používate lacné IR diaľkové ovládanie (ako som použil v tomto návode)

Namiesto použitia lacných nepredvídateľných diaľkových ovládačov môžete vyskúšať rovnaký scenár pomocou diaľkového ovládača televízora alebo DVD prehrávača alebo infračerveného diaľkového ovládača akéhokoľvek zariadenia, ktoré máte. Normálne majú dobrú kvalitu signálu/hardvéru (a samozrejme sú drahšie) a podľa mojich skúseností normálne fungujú dobre, aj keď diaľkovým ovládačom nemierite priamo na senzor.

Ako zistím, či zaznamenaný kód nie je odpad

Kódy sú obvykle prezentované v hexadecimálnom formáte. Ak ich skonvertujete na zodpovedajúcu binárnu hodnotu, všimnete si, že binárna reprezentácia posledného bajtu je negáciou bajtu, ktorá prichádza predtým. Ak to poznáte, môžete pomocou tejto kontroly skontrolovať, či kód, ktorý ste dostali, je skutočne platný alebo nie. Napríklad, ak získate FF7A85, jeho binárne zastúpenie bude nasledujúce:

1111 1111 0111 1010 1000 0101

Zľava doprava, každá dávka 4 číslic predstavuje znak v pôvodnom hexadecimálnom čísle. Ako vidíte, dávka zodpovedajúca 7 je 0111 a dávka zodpovedajúca 8 je 1000, čo je jej presná negácia. Pod negáciou myslím, že všetky 0s budú 1s a všetky 1s budú nahradené 0s. To isté platí pre nasledujúci, ktorý je A (1010) a 5 (0101).

Krok 8: Čo robiť ďalej?

Teraz si na rade ty. Je len na vašej fantázii, aby ste zistili, čo môžete s týmto malým jednoduchým senzorom v ruke robiť. Tu je niekoľko nápadov na začiatok:

  • Použite IR diaľkové ovládanie jedného zo zariadení, ktoré máte doma (TV, Stereo, atď.) A skúste ho použiť vo svojom projekte Arduino
  • Skúste zapnúť všetky LED diódy naraz stlačením klávesu a potom ich vypnúť iným klávesom
  • Pomocou tlačidla hore/dole na diaľkovom ovládači zapnite/vypnite LED diódy jednu po druhej, kým sa všetky nezapnú/nevypnú
  • Vytvorte semafor pomocou LED diód a ovládajte ho pomocou diaľkového ovládača
  • Ak máte po ruke malý jednosmerný motor, skúste spustiť/zastaviť alebo zmeniť smer jeho otáčania pomocou infračerveného diaľkového ovládača
  • Diaľkové ovládanie televízora môžete použiť na ovládanie robota alebo na ňom zapnúť/vypnúť niektoré senzory/akčné členy

Dajte mi vedieť v komentároch, čo by ste urobili (alebo ste už urobili) pomocou infračerveného diaľkového ovládača.

Odporúča: