Modding en tank för trådlös kontroll (4 / 9 steg)
Steg 4: Skriva den för PC-programmet
Först behöver vi en textbox för imp http länken vi kommer att få från den integrerade havspolitiken IDE. Detta är olika för varje HTTP i modul, det är därför vi måste göra det en variabel.
Sedan behöver vi alla slags kontroller, att ha full kontroll på våra motorer. Olika tankar kan ha olika motorer i dem, så jag förklara hur denna styrelse kunde användas för att köra tre typer.
Servon
Vi måste lägga till input kontroller för att ändra axelvinkel från vår C# app. Jag la en slidebar, start, slut och stopp-knappen. Start-knappen tar servo till 0 grader, slutet till 180 grader (eller servo högsta), stop-knappen gör servo utgång drop till '0', effektivt stoppa det, oavsett vilken position axeln är i. Justerhandtaget ger vinkeln vi vill servo att vända sig till. Detta bildar en kontroll sträng, som skickas till HTTP länken vi redan har. Försöksläkemedlet analyserar det och vidtar åtgärder genom att skicka data via seriella gränssnitt till servo controller krets.
Steppers
För att aktivera en stegmotor, måste man välja "Stepper A" mot "Servo 0 -> 3" ner i Stepper motor groupbox. Då kan han välja drive-läget från tre möjligheter.
Beroende på vad vi valde här, servo utgångarna att växla exakt som ritningen i styrelsen skildrar beskrivning steg. Jag tänker inte gå in på Detaljer om hur motoraxeln blir aktiverad, som skulle ligga utanför räckvidden för detta instructable. Jag har testat alla tre, alla fungerar.
Snart vi slår till "Stepper A", motorn börjar vända. Ändra två positionerade riktning justerhandtaget ändrar tur riktning.
De vinkel och steg textrutorna är inte behandlas ännu, det är något jag insåg precis det kan visa sig användbart. För att göra detta arbete, Stegvinkel och några andra parametrar skulle behöva ingå, alltför.
DC
Styra DC motorer med C# app är okomplicerat. Du har en hastighet slidebar, detta ändrar driftcykler från 0 till 100% med en 0,1% lösning. Så, har du en riktning slidebar med två positioner, vänster och höger. Knappen broms är det att stoppa motorn omedelbart.
Efter att jag avslutat test med dessa, insåg jag att behövde jag någon form av joystick för bättre kontroll. Jag lagt till en "panel" kontroll och en mushändelse rörelse, att veta var jag med musen över regionen panel. I mitten jag sätta 0, 0 för de två chaintrack-köra utgångarna, när jag flyttar min mus vänster-höger och fram-bak, tanken reagerar med förändringar i hastigheten på varje motors.
Jag lade också till några textrutor för felsökning.
Notera, att den punkt, där programmet dyker upp i början, har effekt den här panelen placering på skärmen. Så, om du väljer att använda denna panel sak för att kontrollera din tank, du måste justera det att fungera med din X & Y motkrav. Eller helt enkelt fast den till ett hörn på skärmen, så att panelen har alltid samma på skärmen position.
Att göra sådant fönster är enkel, dra bara ihop allt du vill i "Verktygslådan" baren, justera dem, och "tråd" dem tillsammans i koden. Om du vill ha något på en knapptryckning, dubbel klick på knappen. Om du vill att något ska hända på en slidebar, eller textrutan ändra: lägga till en händelsehanterare. Det är mycket, mycket enkelt, du kan hitta exempel på för något på webben.
Hur du kommunicerar dina parametrar är på ditt val. Jag byggde upp en sträng kontroll, som har vissa variabler i den. Jag göra något i C# app, och skicka den sträng som speglar som något på den webbadress som jag fick från webbplatsen IMP. IMP sidan tas strängen emot på en indataport. Jag tolka ut variablerna och skicka data till min I2C enheter kommandon. mycket enkel. Jag gav ett skärmklipp av koden jag skrev att skicka data.
Parametern "data" har strängen med variablerna i den, parametern "http" måste vara länken från IMP webbplats.