Innehållsförteckning:
- Steg 1: Hur ser en IR -sensor ut?
- Steg 2: IR Sensor Breakout Board/modul
- Steg 3: Obligatoriska delar och komponenter
- Steg 4: Ansluter IR -sensor till Arduino
- Steg 5: Hitta koden som motsvarar varje nyckel på fjärrkontrollen
- Steg 6: Styr en uppsättning lysdioder med IR -fjärrkontroll
- Steg 7: Felsökning
- Steg 8: Vad ska jag göra härnäst?
Video: Använda infraröd sensor med Arduino: 8 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:38
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?
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
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
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
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
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
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:
Neopixel Ws2812 Rainbow LED-glöd med M5stick-C - Köra Rainbow på Neopixel Ws2812 Använda M5stack M5stick C Använda Arduino IDE: 5 steg
Neopixel Ws2812 Rainbow LED-glöd med M5stick-C | Köra Rainbow på Neopixel Ws2812 Använda M5stack M5stick C Använda Arduino IDE: Hej killar i denna instruktioner kommer vi att lära oss hur man använder neopixel ws2812 lysdioder eller ledremsor eller ledmatris eller ledring med m5stack m5stick-C utvecklingsbräda med Arduino IDE och vi kommer att göra ett regnbågsmönster med det
M5Stack IR -värmekamera med AMG8833 infraröd matrisens sensor: 3 steg
M5Stack IR -värmekamera med AMG8833 Infraröd matrisens sensor: Som många har jag haft en fascination av värmekameror men de har alltid varit utanför mitt prisklass - tills nu !! När jag surfar på Hackadays webbplats stötte jag på denna kamerabyggning med M5Stack ESP32 -modul och en relativt billig
TCRT5000 Infraröd reflekterande sensor - hur det fungerar och exempelkrets med kod: 6 steg
TCRT5000 Infraröd reflekterande sensor - hur det fungerar och exempelkrets med kod: Hej, jag använde nyligen ett gäng TCRT5000 när jag designade och tillverkade min myntsorteringsmaskin. Du kan se det här: För att göra detta var jag tvungen att lära mig om TCRT5000 och efter att jag förstod det tänkte jag att jag skulle skapa guide för alla andra som tittade
Ögonrörelsesspårning med infraröd sensor: 5 steg
Ögonrörelsesspårning med infraröd sensor: Jag använde en infraröd sensor för att känna av ögonrörelser och styra lysdioden
Infraröd lasermärke med Raspberry Pi Zero: 6 steg (med bilder)
Infraröd lasertagg med Raspberry Pi Zero: Denna instruktionsbok går igenom processen för att skapa ett infrarött lasertaggspel med en basserver -dator och en Raspberry Pi -noll för varje spelare. Projektet är starkt beroende av en Wifi -anslutning för att kommunicera med servern vilket gör