Indholdsfortegnelse:

Brug af infrarød sensor med Arduino: 8 trin (med billeder)
Brug af infrarød sensor med Arduino: 8 trin (med billeder)

Video: Brug af infrarød sensor med Arduino: 8 trin (med billeder)

Video: Brug af infrarød sensor med Arduino: 8 trin (med billeder)
Video: Non-Contact Long Range MLX90614-DCI Temperature Sensor with Arduino 2024, Juni
Anonim
Brug af infrarød sensor med Arduino
Brug af infrarød sensor med Arduino

Hvad er en infrarød (aka IR) sensor?

En IR -sensor er et elektronisk instrument, der scanner IR -signaler i specifikke frekvensområder defineret af standarder og konverterer dem til elektriske signaler på sin output -pin (typisk kaldet signal -pin). IR -signalerne bruges hovedsageligt til at overføre kommandoer over luften på korte afstande (typisk få meter) som det, du allerede har arbejdet med på tv -fjernbetjeninger eller andre lignende elektroniske enheder.

IR kommunikationsprotokol

Hvert signal repræsenterer en bestemt kode. Elektriske signaler kan konverteres tilbage til de faktiske data/kode, afsenderen har sendt. Når du trykker på en knap på din tv -fjernbetjening, genererer den et signal, der svarer til knapkoden (f.eks. On/Off, Volume Up osv.) Og sender den til en modtager (i dette tilfælde dit tv). Både afsender og modtager blev enige om et sæt koder, så modtageren ved, hvad han skal gøre baseret på hver kode. Den måde, hvorpå en kode skal moduleres (modelleres) som et signal, er defineret i forskellige standarder, og hver sensorproducent forsøger normalt at producere et produkt, der er kompatibelt med dem, så det kan bruges i forskellige enheder. En af de mest kendte standardprotokoller er fra NEC. Du kan finde en kort historie om IR -protokoller på Wikipedia under Forbruger -IR -titel.

Trin 1: Hvordan ser en IR -sensor ud?

Hvordan ser en IR -sensor ud?
Hvordan ser en IR -sensor ud?
Hvordan ser en IR -sensor ud?
Hvordan ser en IR -sensor ud?
Hvordan ser en IR -sensor ud?
Hvordan ser en IR -sensor ud?

IR -sensorer findes på forskellige pakker. Her kan du se nogle typiske emballager til en IR -modtager.

Trin 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 også købe dem som et IR -modul/breakout board på eBay, Aliexpress eller Amazon. Sådanne moduler indeholder normalt en af de ovennævnte sensorer med en god brødbrætvenlig pakke sammen med en LED, der blinker, når sensoren registrerer et signal. Ved at gøre dette vil du bemærke, hvis der overføres data. Jeg anbefaler stærkt at starte med et af disse moduler.

Bemærk: hvis du har en rå IR -sensor, ville intet ændre sig, bortset fra at du skulle kontrollere sensorens datablad for at sikre, at du kobler den korrekt, for ellers kan du have en smuk blå røg med en lugt, der vil vare i en time. Du ved hvad jeg mener;)

Trin 3: Påkrævede dele og komponenter

Nødvendige dele og komponenter
Nødvendige dele og komponenter

Her kan du finde listen over komponenter, du skal bruge for at fuldføre denne vejledning:

eBay -links:

  • 1 x Arduino Uno:
  • 1 x IR -sensormodul med fjernbetjening:
  • 4 x 220 ohm modstande:
  • 4 x LED:
  • 8 x Dupont -kabel:
  • 1 x loddefrit brødbræt:
  • 1 x Mini -brødbræt (valgfrit):

Amazon.com links:

  • 1 x Arduino Uno:
  • 1 x IR -sensormodul med fjernbetjening:
  • 1 x Loddefrit brødbræt:
  • 4 x 220 ohm modstande:
  • 4 x LED:
  • 8 x Dupont -kabel:
  • 1 x Mini -brødbræt (valgfrit):

Trin 4: Tilslutning af IR -sensor til Arduino

Tilslutter IR -sensor til Arduino
Tilslutter IR -sensor til Arduino
Tilslutter IR -sensor til Arduino
Tilslutter IR -sensor til Arduino
Tilslutter IR -sensor til Arduino
Tilslutter IR -sensor til Arduino

Opsætning af IR -sensorforbindelse til Arduino er meget enkel. Udover VCC og GND pin har sensoren kun en output pin, der skal tilsluttes en af Arduino's digitale pins. I dette tilfælde er den forbundet til pin 13.

Jeg forsøgte at demonstrere både IR -sensormodul og rå IR -sensoropsætning. Som det kan ses på billeder, er placeringen af VCC- og GND -benene på sensormodulet det modsatte af råsensoren. Det er dog muligvis ikke tilfældet for din sensor, så som nævnt i forrige trin, skal du først kontrollere databladet i tilfælde af brug af råsensoren.

Trin 5: Find koden, der svarer til hver nøgle på fjernbetjeningen

Find koden, der svarer til hver nøgle på fjernbetjeningen
Find koden, der svarer til hver nøgle på fjernbetjeningen
Find koden, der svarer til hver nøgle på fjernbetjeningen
Find koden, der svarer til hver nøgle på fjernbetjeningen
Find koden, der svarer til hver nøgle på fjernbetjeningen
Find koden, der svarer til hver nøgle på fjernbetjeningen

For at programmere Arduino til at gøre noget, når du trykker på en tast på fjernbetjeningen, skal du først have koden, der svarer til den pågældende tast. Nøglekoden er et tal, der normalt præsenteres som hexadecimal. Hver fjernbetjening har sit eget sæt nøglekoder, mens det er muligt, at to controllere deler den samme kode til forskellige formål. At have forskellige nøglekoder sammen med brug af forskellige frekvensområder sikrer, at to fjernbetjeninger til forskellige enheder ikke ville have interferens. Derfor reagerer din DVD -afspiller slet ikke, når du skifter din tv -kanal.

For at registrere koderne til din IR -fjernbetjening skal du først køre en simpel skitse, der forsøger at læse koden fra sensoren, når du trykker på en tast og sender den via den serielle port til din computer, hvor du kan få adgang til den ved hjælp af Serial Monitor -værktøjer til Arduino IDE. Dette er, hvad skitsen vedlagt dette afsnit gør. Det ville være bedre at trykke på hver knap for at se koden og nedskrive listen med koder et sted, så du ikke skulle køre denne kode igen i fremtiden. Listen over nøglekoder, du ser som en tabel på billedet, er faktisk koder, jeg modtog, da jeg trykkede på knapper på min billige IR -fjernbetjening.

Du kan også få adgang til den egentlige kildekode, der deles på min Arduino web-editor på ir-key-code-logger.

Bemærk: Bliv ikke bange, hvis du ser en kode som FFFFFF et sted imellem. Det betyder, at du har trykket og holdt en knap nede et stykke tid. Vi vender tilbage til det senere. Lige nu ignorere dem og fokusere på andre koder.

Trin 6: Styr et sæt lysdioder ved hjælp af IR -fjernbetjening

Styr et sæt lysdioder ved hjælp af IR -fjernbetjening
Styr et sæt lysdioder ved hjælp af IR -fjernbetjening
Styr et sæt lysdioder ved hjælp af IR -fjernbetjening
Styr et sæt lysdioder ved hjælp af IR -fjernbetjening
Styr et sæt lysdioder ved hjælp af IR -fjernbetjening
Styr et sæt lysdioder ved hjælp af IR -fjernbetjening

Nu hvor vi har en kode til hver knap, er det tid til at fokusere på den måde, vi kan bruge dem på. Normalt bruger du IR -fjernbetjeningen til at sende kommandoer til Arduino for at gøre noget som at tænde eller slukke en lampe, flytte en robot i en bestemt retning, vise noget på en LCD/OLED -skærm osv. Her forsøger vi at demonstrere processen ved hjælp af en simpel kredsløb bestående af 4 lysdioder i forskellige farver. Vi vil tænde eller slukke hver enkelt af dem med en dedikeret knap på IR -fjernbetjeningen. Som du kan se på skematikken, skal du tilslutte Arduino på følgende måde til lysdioder og sensor:

Arduino GND -> IR sensor GND.

Arduino VCC -> IR sensor VCC.

Arduino 13 -> IR sensor signaludgang.

Arduino 2 -> Anode på den blå LED (kortere pin på den blå LED)

Arduino 3 -> Anode på den grønne LED (kortere pin på den grønne LED)

Arduino 4 -> Anode på den gule LED (kortere pin på den gule LED)

Arduino 5 -> Anode på den røde LED (kortere pin på den røde LED)

Arduino GND -> Katode af alle lysdioder via en 220 ohm modstand (længere pin på lysdioderne)

Du kan finde koden, der svarer til dette kredsløb, i den vedhæftede fil eller på min Arduino web-editor på ir-led-control.

Trin 7: Fejlfinding

Når du opretter dit projekt og følger trinene, kan du støde på mange underlige situationer. Her er listen over nogle almindelige fejl, du kan få, når du arbejder med IR -sensor.

Få FFFFFF, når du trykker på en tast

Når du trykker på en knap, kan du bemærke, at det for det meste rapporterer en kode som FFFFFF. Dette sker, når du trykker på en knap og holder den inde et stykke tid, selv i en kort periode. Scenariet er, at når du først trykker på knappen, sender IR -fjernbetjening knapkoden, og så længe du holder knappen, gentager den afsendelse af FFFFFF, hvilket betyder, at brugeren stadig trykker på den knap, der blev rapporteret for nylig. Det ville være OK. Du kan bare udelade dem. Den egentlige kode er den, du fik lige før FFFFFF på Serial Monitor.

IR -sensor reagerer slet ikke og ser ud til at blive varm

Skær strømmen ud !!! Hvis du er sikker på, at nøglekodeloggerskitsen er korrekt, kan problemet skyldes den forkerte opsætning af dine ledninger. Scenariet, der skete for mig, var, at jeg til mit IR -modul (det, der var fastgjort til kortet) havde tilsluttet VCC og GND på den modsatte måde (på grund af ikke at bruge de rigtige farver til mine tilslutningskabler). Derved brændte sensorkomponenten og en dejlig blå røg steg. Jeg købte en pakke rå IR -sensorer og forsøgte at udskifte den, og nu virker den som en charme:). Desværre gjorde jeg den samme fejl, da jeg testede med den rå IR -sensor, og denne gang skete der intet, bortset fra at sensoren blev varm. Så tjek altid kredsløbet, før du tænder for strømmen!

Nogle gange registrerer sensoren en kode, som jeg aldrig har set før

Dette er et af de mest almindelige problemer. Det skyldes sandsynligvis en af følgende grunde:

Du peger ikke din IR -fjernbetjening direkte mod sensoren

Dette vil føre til at få nogle nye koder (for det meste længere koder), som du aldrig har modtaget før og normalt ikke matcher længden af de koder, du allerede har. Så husk altid at rette fjernbetjeningen mod din sensor.

Du bruger en billig IR -fjernbetjening (som den jeg brugte i denne vejledning)

I stedet for at bruge billige, uforudsigelige fjernbetjeninger kan du prøve det samme scenario ved hjælp af fjernbetjeningen til dit tv eller din dvd -afspiller eller en IR -fjernbetjening til alle de enheder, du har. De har normalt en god signal-/hardwarekvalitet (og er naturligvis dyrere) og baseret på min erfaring fungerer de normalt godt, selvom du ikke peger din fjernbetjening direkte mod sensoren.

Hvordan ved jeg, om en kode, der er logget, ikke er affald

Koderne præsenteres normalt i hexadecimalt format. Hvis du konverterer dem til den tilsvarende binære værdi, vil du bemærke, at den binære repræsentation af den sidste byte er negationen af byten kommer før det. Hvis du ved dette, kan du tjekke denne kode for at sikre, at den kode, du har modtaget, faktisk er en gyldig kode eller ej. Som et eksempel, hvis du fik FF7A85, ville dens binære repræsentation være som nedenfor:

1111 1111 0111 1010 1000 0101

Fra venstre til højre repræsenterer hver batch på 4 cifre et tegn i det originale hexadecimale tal. Som du kan se, er batchen svarende til 7 0111 og batchen svarende til 8 er 1000, hvilket er den nøjagtige negation af den. Med negation mener jeg, at alle 0'er ville være 1'er, og alle 1'ere ville blive erstattet af 0'er. Det samme gælder for den næste, som er A (1010) og 5 (0101).

Trin 8: Hvad skal jeg gøre derefter?

Nu er det din tur. Det er helt op til din fantasi at se, hvad du kan gøre med denne lille enkle sensor i hånden. Her er nogle ideer til at begynde med:

  • Brug IR -fjernbetjeningen til en af de enheder, du har derhjemme (tv, stereo osv.), Og prøv at bruge den i dit Arduino -projekt
  • Prøv at tænde alle lysdioder på én gang ved at trykke på en tast og derefter slukke dem med en anden tast
  • Brug op/ned -knappen på fjernbetjeningen til at tænde/slukke lysdioder en efter en, indtil alle tændes/slukkes
  • Opret et lyskryds ved hjælp af lysdioder, og styr det ved hjælp af din fjernbetjening
  • Hvis du har en lille DC -motor ved hånden, kan du prøve at starte/stoppe eller ændre dens rotationsretning via IR -fjernbetjening
  • Du kan bruge din tv -fjernbetjening til at styre din robot eller aktivere/deaktivere nogle sensorer/aktuatorer på den

Lad mig vide om kommentarer, hvad ville du gøre (eller du har allerede gjort) ved hjælp af IR -fjernbetjening.

Anbefalede: