Innehållsförteckning:

Använda infraröd sensor med Arduino: 8 steg (med bilder)
Använda infraröd sensor med Arduino: 8 steg (med bilder)

Video: Använda infraröd sensor med Arduino: 8 steg (med bilder)

Video: Använda infraröd sensor med Arduino: 8 steg (med bilder)
Video: Infrared Obstacle Avoidance module for Arduino with code 2024, November
Anonim
Använda infraröd sensor med Arduino
Använda infraröd sensor med Arduino

Vad är en infraröd (aka IR) sensor?

En IR -sensor är ett elektroniskt instrument som skannar IR -signaler i specifika frekvensområden definierade av standarder och omvandlar dem till elektriska signaler på dess utgångsstift (kallas vanligtvis signalstift). IR -signalerna används huvudsakligen för att överföra kommandon över luften på korta avstånd (vanligtvis några meter) som vad du redan har arbetat med på fjärrkontroller för TV eller andra liknande elektroniska enheter.

IR -kommunikationsprotokoll

Varje signal representerar en specifik kod. Elektriska signaler kan konverteras tillbaka till den faktiska data/kod som avsändaren har skickat. När du trycker på en knapp på TV: ns fjärrkontroll genererar den en signal som motsvarar knappkoden (t.ex. On/Off, Volume Up, etc.) och skickar den till en mottagare (i detta fall din TV). Både avsändare och mottagare kom överens om en uppsättning koder så att mottagaren vet vad han ska göra baserat på varje kod. Hur en kod ska moduleras (modelleras) som en signal definieras i olika standarder och varje sensortillverkare försöker normalt producera en produkt som är kompatibel med dem så att den kan användas i olika enheter. Ett av de mest kända standardprotokollen är från NEC. Du kan hitta en kort historik av IR -protokoll på Wikipedia under Consumer IR -titel.

Steg 1: Hur ser en IR -sensor ut?

Hur ser en IR -sensor ut?
Hur ser en IR -sensor ut?
Hur ser en IR -sensor ut?
Hur ser en IR -sensor ut?
Hur ser en IR -sensor ut?
Hur ser en IR -sensor ut?

IR -sensorer finns på olika paket. Här kan du se några typiska förpackningar för en IR -mottagare.

Steg 2: IR Sensor Breakout Board/modul

IR Sensor Breakout Board/modul
IR Sensor Breakout Board/modul
IR Sensor Breakout Board/modul
IR Sensor Breakout Board/modul
IR Sensor Breakout Board/modul
IR Sensor Breakout Board/modul
IR Sensor Breakout Board/modul
IR Sensor Breakout Board/modul

Du kan också köpa dem som en IR -modul/utbrottskort på eBay, Aliexpress eller Amazon. Sådana moduler innehåller normalt en av de sensorer som nämns ovan med ett trevligt brödbräda -vänligt paket tillsammans med en lysdiod som skulle blinka när sensorn detekterar en signal. Genom att göra det skulle du märka om någon data överförs. Jag föreslår starkt att du börjar med en av dessa moduler.

Obs: om du har en rå IR -sensor förändras ingenting, förutom att du bör kontrollera sensorns datablad för att vara säker på att du kopplar den korrekt eftersom du annars kan ha en vacker blå rök med en lukt som skulle hålla i ett timme. Du vet vad jag menar;)

Steg 3: Obligatoriska delar och komponenter

Nödvändiga delar och komponenter
Nödvändiga delar och komponenter

Här kan du hitta listan över komponenter som du skulle behöva för att slutföra denna handledning:

eBay -länkar:

  • 1 x Arduino Uno:
  • 1 x IR -sensormodul med fjärrkontroll:
  • 4 x 220 ohm motstånd:
  • 4 x LED:
  • 8 x Dupont -kabel:
  • 1 x Lödfri brödbräda:
  • 1 x Mini -brödbräda (tillval):

Amazon.com -länkar:

  • 1 x Arduino Uno:
  • 1 x IR -sensormodul med fjärrkontroll:
  • 1 x Lödlös brödbräda:
  • 4 x 220 ohm motstånd:
  • 4 x LED:
  • 8 x Dupont -kabel:
  • 1 x Mini -brödbräda (tillval):

Steg 4: Ansluter IR -sensor till Arduino

Ansluter IR -sensor till Arduino
Ansluter IR -sensor till Arduino
Ansluter IR -sensor till Arduino
Ansluter IR -sensor till Arduino
Ansluter IR -sensor till Arduino
Ansluter IR -sensor till Arduino

Att konfigurera IR -sensoranslutning till Arduino är väldigt enkelt. Förutom VCC och GND -stift har sensorn endast en utgångsstift som ska anslutas till en av Arduino digitala stift. I detta fall är den ansluten till stift 13.

Jag försökte visa både IR -sensormodul och rå IR -sensorinställning. Som kan ses på bilderna är positionen för VCC- och GND -stiften på sensormodulen motsatsen till råsensorn. Men det kanske inte är fallet för din sensor, så som nämnts i föregående steg, om du använder råsensorn, kontrollera databladet först.

Steg 5: Hitta koden som motsvarar varje nyckel på fjärrkontrollen

Hitta koden som motsvarar varje nyckel på fjärrkontrollen
Hitta koden som motsvarar varje nyckel på fjärrkontrollen
Hitta koden som motsvarar varje nyckel på fjärrkontrollen
Hitta koden som motsvarar varje nyckel på fjärrkontrollen
Hitta koden som motsvarar varje nyckel på fjärrkontrollen
Hitta koden som motsvarar varje nyckel på fjärrkontrollen

För att programmera Arduino att göra något när du trycker på en knapp på fjärrkontrollen, bör du först ha koden som motsvarar den tangenten. Nyckelkoden är ett tal som normalt presenteras som hexadecimalt. Varje fjärrkontroll har sin egen uppsättning nyckelkoder medan det är möjligt att två kontroller delar samma kod för olika ändamål. Att ha olika nyckelkoder tillsammans med att använda olika frekvensområden säkerställer att två fjärrkontroller för olika enheter inte skulle ha störningar. Därför reagerar din DVD -spelare inte alls när du byter TV -kanal.

För att upptäcka koder för din IR -fjärrkontroll måste du först köra en enkel skiss som försöker läsa koden från sensorn när du trycker på en tangent och skickar den via serieporten till din dator där du kan komma åt den med hjälp av Serial Monitor -verktyg för Arduino IDE. Detta är vad skissen som bifogas detta avsnitt gör. Det vore bättre att trycka på varje knapp för att se koden och skriva ner listan över koder någonstans så att du inte skulle behöva köra den här koden igen i framtiden. Listan över nyckelkoder som du ser som en tabell på bilden är faktiskt koder jag fick när jag tryckte på knapparna på min billiga IR -fjärrkontroll.

Du kan också komma åt den faktiska källkoden som delas på min Arduino webbredigerare på ir-key-code-logger.

Obs: Bli inte rädd om du ser en kod som FFFFFF någonstans däremellan. Det betyder att du har tryckt och hållt inne en knapp ett tag. Vi återkommer till det senare. För nu ignorerar du dem och fokuserar på andra koder.

Steg 6: Styr en uppsättning lysdioder med IR -fjärrkontroll

Styr en uppsättning lysdioder med IR -fjärrkontroll
Styr en uppsättning lysdioder med IR -fjärrkontroll
Styr en uppsättning lysdioder med IR -fjärrkontroll
Styr en uppsättning lysdioder med IR -fjärrkontroll
Styr en uppsättning lysdioder med IR -fjärrkontroll
Styr en uppsättning lysdioder med IR -fjärrkontroll

Nu när vi har en kod för varje knapp är det dags att fokusera på hur vi kan använda dem. Normalt använder du IR -fjärrkontrollen för att skicka kommandon till Arduino för att göra något som att tända eller stänga av en lampa, flytta en robot i specifik riktning, visa något på en LCD/OLED -skärm etc. Här försöker vi demonstrera processen med hjälp av en enkel krets bestående av 4 lysdioder i olika färger. Vi vill slå på eller av var och en av dem med en särskild knapp på IR -fjärrkontrollen. Som du kan se på schemat måste du ansluta Arduino på följande sätt till lysdioder och sensorer:

Arduino GND -> IR -sensor GND.

Arduino VCC -> IR -sensor VCC.

Arduino 13 -> IR -sensor signalutgång.

Arduino 2 -> Anod på den blå lysdioden (kortare stift på den blå lysdioden)

Arduino 3 -> Anod på den gröna lysdioden (kortare stift på den gröna lysdioden)

Arduino 4 -> Anod på den gula lysdioden (kortare stift på den gula lysdioden)

Arduino 5 -> Anod på den röda lysdioden (kortare stift på den röda lysdioden)

Arduino GND -> Katod av alla lysdioder via ett 220 ohm motstånd (längre stift på lysdioderna)

Du hittar koden som motsvarar denna krets i den bifogade filen eller på min Arduino webbredigerare på ir-led-control.

Steg 7: Felsökning

När du konfigurerar ditt projekt och följer stegen kan du stöta på många konstiga situationer. Här är listan över några vanliga fel som du kan få när du arbetar med IR -sensor.

Få FFFFFF när du trycker på en knapp

När du trycker på en knapp kan du märka att det oftast rapporterar en kod som FFFFFF. Detta händer när du trycker på en knapp och håller den inne en stund, även under en kort tid. Scenariot är att när du trycker på knappen från början skickar IR -fjärrkontrollen knappkoden och så länge du håller knappen, upprepar den att skicka FFFFFF vilket innebär att användaren fortfarande trycker på knappen som rapporterades nyligen. Det vore ok. Du kan bara utelämna dem. Den faktiska koden är den som du fick direkt före FFFFFF på seriemonitorn.

IR -sensorn reagerar inte alls och verkar bli varm

Bryt strömmen !!! Om du är säker på att nyckelkodloggerskissen är korrekt kan problemet bero på fel installation av dina ledningar. Scenariot som hände mig var att för min IR -modul (den som fästs på kortet) hade jag anslutit VCC och GND på motsatt sätt (på grund av att jag inte använde rätt färger för mina anslutningstrådar). Genom att göra det brände sensorkomponenten och en fin blå rök höjdes. Jag köpte ett paket råa IR -sensorer och försökte byta ut det och nu fungerar det som en charm:). Tyvärr gjorde jag samma misstag när jag testade med den råa IR -sensorn och den här gången hände ingenting förutom att sensorn blev varm. Så kontrollera alltid kretsen innan du slår på strömmen!

Ibland känner sensorn av en kod som jag aldrig sett förut

Detta är en av de vanligaste frågorna. Det beror troligen på en av följande orsaker:

Du riktar inte din IR -fjärrkontroll direkt mot sensorn

Detta kommer att leda till att du har några nya koder (mestadels längre koder) som du aldrig har fått tidigare och som normalt inte matchar längden på de koder du redan har. Så kom ihåg att alltid rikta fjärrkontrollen mot din sensor.

Du använder en billig IR -fjärrkontroll (som den jag använde i den här självstudien)

Istället för att använda billiga oförutsägbara fjärrkontroller kan du prova samma scenario med fjärrkontrollen för din TV eller DVD -spelare eller en IR -fjärrkontroll för alla enheter du har. De har normalt en bra signal-/hårdvarukvalitet (och är naturligtvis dyrare) och baserat på min erfarenhet fungerar de normalt bra även om du inte riktar fjärrkontrollen direkt mot sensorn.

Hur vet jag om en kod som loggas inte är skräp

Koderna presenteras normalt i hexadecimalt format. Om du konverterar dem till motsvarande binära värde kommer du att märka att den binära representationen för den sista byten är negationen av byten kommer före det. Om du vet detta kan du göra den här kontrollen i din kod för att se till att koden du fick faktiskt är giltig eller inte. Som ett exempel, om du fick FF7A85 skulle dess binära representation vara som nedan:

1111 1111 0111 1010 1000 0101

Från vänster till höger representerar varje sats på 4 siffror ett tecken i det ursprungliga hexadecimala talet. Som du kan se är batchen som motsvarar 7 0111 och batchen som motsvarar 8 är 1000 vilket är den exakta negationen av den. Med negation menar jag att alla 0: or skulle vara 1: or och alla 1: or skulle ersättas med 0: or. Detsamma gäller för nästa som är A (1010) och 5 (0101).

Steg 8: Vad ska jag göra härnäst?

Nu är det din tur. Det är helt upp till din fantasi att se vad du kan göra med den här lilla enkla sensorn i handen. Här är några idéer till att börja med:

  • Använd IR -fjärrkontrollen för en av de enheter du har hemma (TV, stereo, etc.) och försök använda den i ditt Arduino -projekt
  • Försök att slå på alla lysdioder samtidigt genom att trycka på en knapp och sedan stänga av dem med en annan knapp
  • Använd upp/ner -knappen på fjärrkontrollen för att slå på/stänga av lysdioder en efter en tills alla tänds/stängs av
  • Skapa ett trafikljus med lysdioder och styr det med din fjärrkontroll
  • Om du har en liten DC -motor till hands, försök att starta/stoppa eller ändra dess rotationsriktning via IR -fjärrkontroll
  • Du kan använda din TV -fjärrkontroll för att styra din robot eller aktivera/inaktivera vissa sensorer/ställdon på den

Låt mig veta om kommentarer, vad skulle du göra (eller har du redan gjort) med IR -fjärrkontroll.

Rekommenderad: