Puzzlebox bana: Med en Arduino att styra en infraröd helikopter (4 / 9 steg)

Steg 4: Avkodning styrsignalen



Sedan vi behöver att avkoda kommandot som i princip innebär att förstå hur comand fungerar och vad varje bit av signalen står för. Denna process ganska utmanande, med mycket gissningar inblandade. En bra grund av aritmetik, logik och ibland fantasi krävs.

Våra resultat för avkodning i Puzzlebox omloppet signal har placerats i till en kalkylbladsfil som Open Office (i zip). En skärmdump av dokumentet ingår också i det här steget.

Medan testning vi flyttade spjäll och riktningsvisare joysticken i olika positioner och spelade in alla med logik analysatorn. Vi försökte sedan att avkoda kommandot från inspelade signalen.

I kolumn A, T1 ~ T5: gas nivå 1 ~ 5, L2 innebär vänster max R2 innebär rätt max, F2 betyder framåt max, B2 betyder tillbaka max. En B och C hänvisar till tre olika "kanaler" (olika kanaler kan användas till att styra flera olika helikoptrar på samma plats samtidigt utan deras signaler som blandar sig med varandra).

Innebörden av signalen börjar bli tydligt en gång organiserade och visas på detta sätt. 7 bitar i gula blocket definierar gas nivå, 7 bitar i det gröna blocket definierar till vänster och höger vrida hastighet, 6 bitar i röda definierar lutar framåt och bakåt och två bitar i blå definierar vilken kanal att använda. (igen, kanaler används när du har mer än en helikopter på samma ställe och vill styra dem separat. Med tre kanaler innebär att det är högst tre helikoptrar kan vara i samma rum och fortfarande flyga självständigt).

Vad är affären med cyan block?

Detta avser en kontrollsumma. En kontrollsumma är en gemensam mekanism i någon kommunikationssystem där du måste se till att den information som mottagits matchar vad skickades ut. En kontrollsumma är ett tal som beräknas från resten av koden, med en fördefinierad algoritm. När enheten tar emot koden, kommer det först försök att beräkna kontrollsumman av sig själv och sedan jämföra det med kontrollsumman bifogas i meddelandet. Om de lika sedan är meddelandet korrekt, annars något mycket har gått fel under överföringen till exempel belysningssystemet i ett ljust rum kan störa IR-sensorn. Om kontrollsummor inte matchar, frågar den mottagande enheten normalt sändaren för samma meddelande igen. Om enheten inte klarar för dubbelriktad kommunikation (som i fallet med de flesta IR-enheter) sedan har meddelandet att ignoreras.

Den algoritm som används för att generera kontrollsumman kan vara enkla eller komplexa. Vissa gemensamma metoden innehåller bitvis summan och Bitvis XOR.

Följande algoritm som används av Puzzlebox bana:

Start från den 3: e lite (inkluderar de ledande 2 bitarna och tilldela dem till 0)
Lägg upp varje 4 bitar
Få de senaste 4 bitarna från resultatet
Använda 0B10000 (10000 i binär motsvarar 16 i decimal) och subtrahera de senaste fyra bitarna

Ta T1 till exempel:

0B0100 + 0B0111 + 0B0100 + 0B1100 + 0B1001 + 0B1111 = 0B110011

De sista 4 bitarna är 0B0011.

0B10000-0B0011 = 0B1101, som matchar kontrollsumman finns i slutet av styrsignalen.

Se Steg
Relaterade Ämnen

Med MikroTik Router styrelsen 433 & Arduino att styra två lysdioder

I denna tutorial kommer jag förklara hur man styr två lysdioder med MikroTik router styrelsen och Arduino.MikroTik 433 är en router styrelsen baserat på Linux-kärnan, det innehåller 3 Ethernetport och 3 mini PCI-port som används för att ansluta trådl...

Med relä styrelser att styra linjära manöverdon

I detta Instructable kommer vi att lära hur man använder relay styrelser för att styra linjära manöverdon. Alla reläer agera likadant, den enda skillnaden är hur många är på bordet.Fyra relär kan kombineras med styrelsen MegaMoto kontrollen så att st...

Hur man gör tangentbordet lösenord använder arduino att styra servo och ledde

I detta projekt jag kommer att berätta hur man gör tangentbordet lösenord genom att använda arduino och styra servo och ledde.först för att göra enkel knappsats med 4 knappen besök ellerför alla projekt och andra projekt gå till http://arduinoo.tk/Pr...

SPELA med parallell PORT (gör din egen GUI med TURBO C att styra din ROBOT

Detta instructable är en del av min bok leka med parallellporten. på detta instructable kommer vi kommer att lära sig om Turbo c kommunikation med parallellporten. låter start...del krävs1. LED (lysdiod)2. hoppare ledningar3. bröd styrelse4. parallel...

Med en RPi att styra en RGB LED

Som rahulkar nämnde i sin handledning, verkar LED kontroll vara den "Hello World" av elektronik. Det är lätt att ställa in, du lär dig mycket om hur elektronik fungerar, och till slut har du en tjusig liten bit av hårdvara för att visa upp för d...

Hur: Skapa en Android App med Android studion att styra LED

Detta är en steg för steg handledning för att göra en android apk via bluetooth.Innan start kodning,Ladda ner Android Studio IDE och uppdatera Java. Java och C kunskaper i programmering hjälper. Denna ska tutorial förklarar inte Java programmering. O...

Gränsyta en M74HC238 3-8 Line dekoder med en Arduino (exempel)

detta är en grundläggande handledning för att ge dig en grundläggande förståelse för hur man använder en M74HC238 3-8 Line dekoder.Som namnet antyder, behöver du bara 3 digitala pins på din Arduino att styra alla 8 utgångar.Projektet gör att du kan b...

En guide för att styra saker med varierande input (via arduino)

hjärtat i detta projekt är en) koppla upp en sensor till arduino analog ingång och b) programmering med if... else-sats.Detta projekt visar en dator kylsystemet för att behålla viss temperatur inom ett dator torn.Jag använde följande produkter och sj...

Hur att styra TV fungerar med Analog ingång och Arduino

har du någonsin velat använda en god gammal ratt för att styra din TV volym i stället för upprepade knappen trycka? Eller göra det kontrolleras av ljus? Vill du ha din fjärrkontroll att ersättas med en awesome arduino och låt den göra det hårda arbet...

Styra en kamera med en Arduino och RS232 sköld

Denna handledning visar dig hur du kan styra många olika aspekter av en kameror drift med en Arduino. Dessa operation kan vara pan och tilt kamera, zoom och fokus lins, och RGB egenskaper. Arduinoen kommer att utnyttja en RS232 sköld och skicka hexad...

Styra Hand borr med Roboduino / Arduino Spool löda

detta kommer att förklara hur vi åter utlovat en hand borr att buffra åter löda med hjälp av en roboduino (arduino kompatibel), två servon och en DIY-kodare. Medan man kan använda TRIACs för att spela med nätströmmen gå in på borren, bara använda ett...

Hur man bygger en 8 x 8 x 8 LED cube och styra med en Arduino

det finns en hel del LED kuber på Instructables, så varför göra en annan? De flesta är för små kuber som består av 27 eller 64 lysdioder, sällan större eftersom de är begränsade till antalet utgångar på mikrokontroller. Denna kub blir 512 lysdioder,...

Styra en Schlage elektroniska deadbolt med en arduino!

Detta instructable kommer att gå igenom processen för nedmontering och hacka en Schlage elektroniska deadbolt för att styra med en arduino.Steg 1: Köpa låset och packa upp den jag fick min till försäljning för $99 på Lowe's.Ta det ur kartongen och ta...

Hur du styr din TV med en Arduino!

So. Detta Instructable visar dig hur man styr allt kontrollerbar av IR eller infrarött ljus.Detta inkluderar kameror, TV, DVD-spelare, videobandspelare, du fattar poängen.Jag kommer att visa dig hur man tar emot koderna och sedan hur man överföra dem...

Med Raspberry Pi för att styra en ATX nätaggregat

Jag njuter verkligen min nya 3d-skrivare, men jag kan inte bara lämna min laptop ansluten till skrivaren hela tiden. Jag vet att jag bara kunde använda SD-kort eller använda en annan värddator, men det finns bättre alternativ. Jag använder en Raspber...

Android skjutreglaget för att styra Arduino RGB LED

Detta är verkligen ett roligt projekt istället för att kontrollera RGB ledde från potentiometern kan du styra den från android app, android app för detta projekt skapades med MIT app inventor, där du kan flytta varje reglage som har tilldelats till R...

LinkIt med Blynk att styra en Servo

Det finns många användningsområden för servo är nu för tiden! Det finns ännu fler användningsområden för WiFi Servo! Detta projekt kommer att visa hur man använder en LinkIt en styrelse att styra ett Servo med BlynkSteg 1: Ladda upp kodenOm du inte v...

Hur man styr en RGB ledde med en Arduino

I detta Instructable, kommer jag att visa dig hur man styr en RGB LED med en Arduino.För att slutföra detta projekt, behöver du:1 x Arduino (jag använder Arduino Uno R3)1 x RGB LED3 x 150-220 ohm motstånd4 x hoppare ledningar1 x skärbräda1 x dator me...

Hur man styr en elektromagnet med en Arduino

elektromagneter är roliga att leka med, men att göra något mer än att bara plocka upp Gem, behöver du bättre kontroll. Detta är en enkel handledning om hur du använder en med Arduino, men byggnaden av detta (och med hjälp av några fler magneter), kan...