RC sändare till USB-spelkontroll med Arduino
Varför ska jag göra detta?
När det gäller att flyga RC flygplan med hjälp av en simulator kan vara ett bra sätt att finslipa dina färdigheter under lågsäsongen eller ens förbereda för din första flygning. Den stora nackdelen att med hjälp av simulator är att använda en mus, tangentbord, pekskärm enhet, eller standard spel controller, kan vara ganska en annorlunda upplevelse än skrymmande sändaren med Kardansk upphängning. Det finns kommersiella lösningar, beroende på din gränssnittstyp, men om du har en arduino (och vem gör inte?) kan du enkelt ansluta en sändare som stöder PPM tränare / kompis box anslutningar.
Jag kan inte säga att det fungerar med alla sändare, men jag kan säga att det är förenligt med Spektrum DX6
Men vilka program kan jag använda den med?
Jag ville öva i min favorit simulator RC-AirSim av påhittade verklighet. Det är en otroligt enkel och exakt simulering (inte spelet!) för elektriska RC flygplan. Det är mycket billigt och om du är nöjd med ett plan som tränare, har en obegränsad användning gratis demo. Du kan låsa upp alla plan modeller för mindre än $10 (priset varierar från 5-9 US dollar under hela året). De var flyga olika och realist, så kan du lära dig grunderna i en annan typ av plan innan du försöker det i verkliga livet. Denna handledning skapar en spelenhet kompatibel med RC-AirSim med ingen konfiguration i spelet. Det fungerar bara.
Hur fungerar det?
Många RC sändare kan du dela kontrollen av ett plan med en andra sändare, så att en oerfaren pilot kan försöka ta över flyg utan att behöva lämna över sändaren ifall de förlorar kontrollen över planet. Detta är en stor funktion som stöds av många sändare. Inställningarna kan vara komplicerat men det beror på sändaren.
I grund och botten med några sändare är data som skickas dock kompis kabeln (denna tutorial ska show dig hur till gränssnittet för en 2 ledarkabel som en mono 3,5 mm ljudkabel) identisk med de data som mottagare i planet tar emot. De kallar detta PPM, det är en serie av pulser som kan omvandlas till numeriska värden för andel rörelse av servon. I sändare som Spektrum DX6. Data kan lätt dechiffreras genom att använda en arduino avbryta pin. Mike McCauley släppt en arduino bibliotek som kallas RcTrainer som låter för att fånga Spektrum PPM tränare kommunikation på just detta sätt. Jag har använt detta bibliotek för signal avkodningen.
Att skapa HID-USB-enheter på arduino kan åstadkommas på servern olika sätt. De nyare arduinos har denna möjlighet inbyggd i den seriella adapter flisa, och några av de äldre arduinos kan använda en firmware hacka på deras seriella adaptrar för att göra detsamma. Men jag ville ha en lösning som inte var beroende på arduino formfaktor och skulle arbeta med bara en atmega (så småningom göra det till en anpassad styrelse) lösningen här är den VUSB biblioteken för Atmel avr mikrokontrollanter. Det är ett mjukvarubibliotek USB HID 1.1 emulering. Det har anpassats till arduino som ett bibliotek flera gånger av flera personer. Jag skapade en HID gamepad deskriptor som visas i systemet som en standard gamepad, fungerar på windows, linux och mac med inga extra drivrutiner behövs och matcher standardmönster för två joystick styrenheter till lilla konfiguration är vanligtvis behövs.