INFRA röd fjärrstyrda ROBOCAR använder AVR (ATMEGA32) MCU (2 / 5 steg)
Steg 2: IR kommunikation via TSOP1738 sensor
IR-sensor
- TSOP1738, SFH-5110-38 (38kHz)
TSOP sensorer funktioner:
- Förförstärkare och fotodetektor båda är i samma paket
- Interna filter för PCM frekvens
- Förbättrat skydd mot elektriska fält störningar
- TTL och CMOS-kompatibilitet
- Output aktiv låg strömförbrukning
- Hög immunitet mot omgivande ljus
- Kontinuerlig dataöverföring möjlig
NEC protokoll:
NEC IR-överföringsprotokollet använder puls distans kodning meddelande bitar. Varje puls brast (mark-RC sändare på) är 562.5µs i längd, på en bärfrekvens 38 kHz (26.3µs). Logiska bitar som överförs enligt följande:
- Logiska "0" – en 562.5µs puls burst följt av ett 562.5µs utrymme, med totalt sänder tid av 1.125ms
- Logiska '1' – en 562.5µs puls burst följt av ett 1.6875ms utrymme, med totalt sänder tid av 2.25ms
När sänder eller tar emot fjärrkontrollskoder med NEC IR-överföringsprotokoll, WB_IRRC utför optimalt när bärfrekvensen (används för modulering/demodulation) är satt till 38.222 kHz.
De fyra byte av databitar är varje skickade minst signifikanta bit först. Figur 1 visar formatet på en NEC IR-överföring ram, för en adress av 00h(00000000b) och ett kommando av ADh (10101101b).
Att förstå makten funktioner IR-protokollet:
Jag började decypher Power-funktioner IR protokollet genom att mäta de signaler som IR-detektorn plockade upp från fjärrkontrollen. Detektorn som jag använt (Radio Shack 276-640) upptäcker IR signaler moduleras på 38KHz med ljus våglängd 940±50nm; men dessa detektorer tenderar att upptäcka de flesta IR fjärrkontroll signaler, även om moduleringsfrekvens är lite annorlunda. Diagrammet nedan visar de signaler som jag mätt när jag tryckte ner den röda knappen i riktning framåt när fjärrkontrollen var inställd på kanal ett. Varje rad representerar en explosion av signaler, med tid att gå från vänster att skriva. Varje svart rektangel representerar en upptäckt, och bredden på rektangeln representerar tiden signalen upptäcktes. Det horisontella avståndet mellan rektangel representerar längden av tid mellan upptäckter. Efter varje explosion av 18 upptäckter, detektorn gjorde icke upptäcka något under en ganska lång period, och sedan upptäckt en annan burst. Varje burst representeras i diagrammet av en rad av rektangeln.
Fig2
Dessa mätningar får mig att avgöra framställningen av kommandon i protokollet. Överföringarna består av signal perioder av ungefär samma längd avgränsade med no-signal perioder av varierande längd. Den första nr-signal är alltid den samma längd och mycket längre än alla andra. Detta verkar vara någon form av en start-skick som tyder på att inte förmedlar någon information (med undantag för att tillåta den mottagna att skilja mellan detta protokoll och andra). Efter att varje kort period representerar en nollbit och var lång och en representerar en en bit. Det kunde också ha varit tvärtom, men fullständig analys av den bit sekvenser, beskrivs nedan, stöder denna hypoteser. Alldeles finns det 16 bitar i varje explosion.
Jag genererade histogrammen för de fyra relevanta perioderna i detta protokoll: perioden signal, perioden för första nr-signal i varje brast och de korta och långa nr-signal perioder som representerar bitar. Jag uppskattar genomsnittliga signal perioden att vara ca 60 klocka fästingar (), perioden för första nr-signal för att vara cirka 215 fästingar, noll nr-signalen vara 40 och en nr-signalen vara ca 110. Innan vi går vidare till den faktiska innebörden av bitar, ville jag veta hur utbrott är fördelade. Här är en en annan sekvens av upptäckter, redan översatt till ettor och nollor. Efter varje sprack ut programmet tiden från utgången av den föregående brista. Denna sekvens representerar en längre genom att trycka på den samma key.1000000100010111 130537 1000000100010111 14976 1000000100010111 14839 1000000100010111 23711 1000000100010111 23709 1000000100010111 23786 0000000100001110 29087 0000000100001110 14852 0000000100001110 14923 0000000100001110 23689 0000000100001110 23694We kan se att fjärrkontrollen sänder flera gånger samma kommando. De första 6 kommandona säga mottagaren att en särskild knapp trycks, och de sista 5 säga mottagaren att knapparna trycks inte längre. Varje sekvens börjar med 3 repetitioner cirka 14,900 counter fästingar apart. Efter det, är upprepningar fördelade ytterligare isär. Den första repetitioner kan vara placerade nära för att göra det möjligt för mottagaren att snabbt svara även om de första överföringarna är förlorad eller skadad. De större spaceing efter som sändaren kan utformas för att minska strömförbrukningen. Nu låt oss undersöka de bit sekvenser som sändaren skickar. Det finns fyra knappar inte fjärrkontrollen, och när du släpper dem, fjärrkontrollen skickar ett "ingen knapp trycks" kommando för en kort stund. Här är den enda-press och nr-tryck kommandosekvenser för 4 kanaler. Jag delade bitar i grupper som verkar för att representera olika områden; se nedan vad fälten visas att betyda. kanal 1 röd framåt 1 0 00 0001 0001 011 1 kanal 1 röd omvänd 1 0 00 0001 0010 010 0 kanal 1 blå framåt 1 0 00 0001 0100 001 0 kanal 1 blå vända 1 0 00 0001 1000 111 0 kanal 1 inga knappar 0 0 00 0001 0000 111 0
kanal 2 röda framåt 1 0 01 0001 0001 011 0 kanal 2 röda vända 1 0 01 0001 0010 010 1 kanal 2 blå framåt 1 0 01 0001 0100 001 1 kanal 2 blå baksidan 1 0 01 0001 1000 111 1 kanal 2 nej knappen 0 0 01 0001 0000 111 1
kanal 3 röda skicka 1 0 10 0001 0001 010 1 kanal 3 röda vända 1 0 10 0001 0010 011 0 kanal 3 blå skicka 1 0 10 0001 0100 000 0 kanal 3 blå vända 1 0 10 0001 1000 110 0 kanal 3 inga knappar 0 0 10 0001 0000 110 0
kanal 4 röda framåt 1 0 11 0001 0001 010 0 kanal 4 röda vända 1 0 11 0001 0010 011 1 kanal 4 blå framåt 1 0 11 0001 0100 000 1 kanal 4 blå baksidan 1 0 11 0001 1000 110 1 kanal 4 nej knappen 0 0 11 0001 0000 110 1