Stap 4: Schrijven de voor het PC-programma
Eerste plaats moeten wij een textbox voor de GMB http link die we gonna get van het GMB IDE. Dit is anders voor elke HTTP IN module, dat is waarom we moeten ervoor zorgen dat een variabele.
Vervolgens, moeten we alle soort besturingselementen, hebben volledige controle over onze motoren. Verschillende tanks kunnen verschillende motoren hebben in hen, dus ik uitleggen hoe dit forum kan worden gebruikt om te rijden drie types.
Servo 's
We moeten invoer besturingselementen toevoegen om te veranderen van schacht hoek van onze C#-app. Ik voegde een schuifbalk, begin, einde en stop knop. De startknop neemt de servo naar 0 graden, het uiteinde op 180 graden (of servo maximale), de stop knop maakt de servo uitgang drop op '0', effectief stoppen, welk standpunt de schacht is in. De schuifbalk geeft de hoek willen wij de servo om aan te draaien. Dit vormt een tekenreeks van de controle, die wordt verzonden naar de HTTP-koppeling die we al hebben. Het GMB ontleedt het, en neemt actie door het verzenden van gegevens via seriële interface naar het servo controller circuit.
Stepper
Opdat een stappenmotor, moet een selecteren "Stepper A" tegen "Servo 0 -> 3" naar beneden in de Stepper motor groupbox. Selecteer de drive-modus kan hij vervolgens in de drie mogelijkheden.
Afhankelijk van wat we koos hier, de servo-uitgangen schakelen precies zoals de tekening in de Raad van bestuur ziet de beschrijving stap. Ik zal niet ingaan op details over hoe de motoras wordt omgezet, dat zou buiten het bestek van dit instructable. Ik testte alle drie, ze werken allemaal.
Het moment dat we overgaan tot "Stepper A", de motor zal beginnen draaien. De twee-gepositioneerd richting schuifbalk wijzigt, zal de turn richting.
De hoek en stappen textboxes zijn niet behandeld nog, dat is iets wat dat ik besefte dat het zou kunnen blijken nuttig. Om dat werk, stap-hoek en enkele andere parameters zou moeten worden opgenomen, ook.
DC
Beheersing van gelijkstroommotoren met de C#-app is eenvoudig. Heb je een snelheid schuifbalk, Hiermee wijzigt u de plicht-cycli van 0 tot 100% met een resolutie van 0,1%. Dan, heb je een richting schuifbalk met twee posities, links en rechts. De rem-knop is er om de motor onmiddellijk stoppen.
Nadat ik klaar tests met dit, realiseerde ik me, moest ik een soort joystick voor een betere controle. Ik voegde een "panel"-besturingselement en een muisgebeurtenis beweging, om te weten waar ik met de muis over de regio van het deelvenster. In het midden zette ik 0, 0 voor de twee chaintrack-rijden uitgangen, als ik mijn muis links-rechts en de voorkant-achterkant, bewegen de tank reageert met wijzigingen in de snelheid van elke motoren.
Ik voegde ook sommige tekstvakken voor foutopsporing.
Houd er rekening mee dat het punt, waar de toepassing bij start opduikt, heeft effect op de positie op het scherm van dit paneel. Dus, als u besluit om het gebruik van dit paneel ding om te bepalen uw tank, je moet aanpassen om te werken met uw X & Y offsets. Of simpelweg snap het naar een hoek van uw scherm, zodat het paneel altijd hetzelfde op het scherm heeft positie.
Zo'n window maken is simpel, Sleep enkel samen alles wat die je wilt uit de "Gereedschapskist" bar, ze uitlijnen, en "draad" hen samen in de code. Als u iets op een knop-drukt wilt, dubbel klik op de knop. Als u wilt dat iets gebeurt op een schuifbalk, of tekstvak wijzigen: een gebeurtenis-handler toevoegen. Het is zeer-zeer eenvoudig, vindt u voorbeelden voor om het even wat op het web.
De manier waarop u uw parameters communiceren is naar uw keuze. Ik controle string die sommige variabelen daarin heeft opgebouwd. Ik doe iets in de C#-app, en stuur de tekenreeks die overeenkomt met die iets op de URL die ik kreeg van de IMP-site. IMP aan wordt de tekenreeks ontvangen op een invoerpoort. Ik parseren uit de variabelen, en verzenden van gegevens naar mijn I2C apparaten de opdrachten uitvoeren. heel eenvoudig. Mits ik een knipsel van de code die ik heb geschreven om data te versturen.
Met de parameter "gegevens" heeft de tekenreeks met de variabelen in het heeft de parameter 'http' als de koppeling van IMP site.