RobotC voor VEX Cortex (6 / 9 stap)

Stap 6: Het schrijven van een bestuurder-besturingselement


* Klik op afbeelding om te vergroten *

Bij het schrijven van een controle van de bestuurder, u hebt een paar opties, afhankelijk van welke chassis die u hebt ingesteld. Als u een standaard 4 motor rijden, met regelmatige rubberen wielen uitvoert, hebt u twee opties, een tank type station of een aandrijving van de stijl arcade.

Programmeren van een Tank Type station:

Een tank type station gebruikt beide joysticks, links om te bepalen uw twee linker wielen en het recht om controle van uw juiste tweewielers. Dit is waarschijnlijk het meest eenvoudige programma van de schijf te schrijven, maar het is niet erg goed als het gaat om wedstrijden, omdat u wellicht een joystick voor iets anders. Draai de robot naar links, zou u de linker joystick terug, en de juiste joystick vooruit verplaatsen. Dit zou een plek-draai aan waar u het nodig om te doen. U zou het tegenovergestelde doen om rechtsaf. Rijden naar voren heeft beide joysticks vooruit en achteruit beide joysticks achteruit.

Hier is een voorbeeldcode van een tank type station, houd in gedachten dat waarden zou moeten worden veranderd om te passen uw robot.

 motor[FrontL] = vexRT[Ch3]; motor[BackL] = vexRT[Ch3]; motor[FrontR] = vexRT[Ch2]; motor[BackR] = vexRT[Ch2]; 

In deze code zijn we de "motor []" toewijzen aan een joystick op de controller. "vexRT [];" is simpelweg het commando voor de controller, "Ch2" toegewezen welk kanaal van de controller te gebruiken, "Ch2" is de Y-as op de juiste joystick van de controller. Een afbeelding vindt u in de galerie waarin de controller met de kanalen van de joystick. Als u deze code gebruikt, controleert u of u vervangen wat is tussen de "[]", met de naam van uw eigen motoren, maar zorg ervoor dat beide links motoren op hetzelfde kanaal zijn, en dat de juiste motoren zijn beide op hun kanaal.

Programmeren van een aandrijving van de Arcade-stijl:

Een aandrijving van de stijl arcade kan worden ingewikkelder te programmeren, als u alleen een joystick gebruikt om te controleren de volledige beweging van de robot chassis. Hieronder is een arcade-stijl code, met uitleg.

 motor[FrontL] = vexRT[Ch2] + vexRT[Ch1]; motor[BackL] = vexRT[Ch2] + vexRT[Ch1]; motor[FrontR] = vexRT[Ch2] - vexRT[Ch1]; motor[BackR] = vexRT[Ch2] - vexRT[Ch1]; 

In deze code, we zijn nog steeds de motor op het juiste kanaal toewijzen, maar nu zijn we toe te voegen of af te trekken een ander kanaal, zodat de robot om te zetten als u de joystick naar de kant verplaatst. Dit is gemaakt en getest om alleen gebruik maken van een joystick, en deze code gebruikt de juiste joystick, waardoor de links een open voor een lift!

Programmeren van een lift:

Bij het programmeren van een motor aangedreven lift, schrijft u in wezen hetzelfde is als een chassis-station. Hier is een voorbeeld van een eenvoudige lift-programma, voor een zes-bar ontwerp:

 motor[BackL] = vexRT[Ch3]; motor[TopR] = vexRT[Ch3]; motor[BackR] = vexRT[Ch3]; motor[TopL] = vexRT[Ch3]; 

In deze code zijn alle motoren door kanaal 3, ook wel bekend als de Y-as van de linker joystick wordt gecontroleerd. Nu met deze code, en een aandrijving van de stijl arcade kunt u de lift zowel het station op hetzelfde moment!

Programmering Pneumatica:

Pneumatiek zijn een beetje anders als het gaat om programmeren, onthoud wanneer waren we het opzetten van de sensoren in de vooraf autonome? We zijn in wezen hetzelfde doen, maar nu we zijn alleen het verstrekken van een waarde van "0" of "1", en het is binnen een if / else als / anders loop!

Als / anders als / anders lussen:

Als / anders als / anders lussen doen precies wat ze klinken zoals ze doen zou, "Als" Dit is gebeurt, iets doen, als het niet gedaan, dan iets doen "Anders". Hier is een voorbeeldcode:

 if (x = 2) { //If x is equal to 2... print("x is equal to 2!"); } else if (x = 3) { //If x is equal to 3... print("x is equal to 3!"); } else { //If x is not equal to either of those print("I don't know what x is!"); } 

Deze code is een eenvoudige manier aan te tonen van een if / else als / anders loop. Nu, hier is de code voor de pneumatica, houd er rekening mee dat we de opdracht Pneumatiek en de controller in de dezelfde als command / anders voeren als / anders loop.

 if (vexRT[Btn6U] == 1) { //If the controller button "6 UP" is pressed, extend the pneumatics SensorValue[Pneumatics] = 1; } else if (vexRT[Btn6D] == 1) { //If the controller button "6 DOWN" is pressed, retract the pneumatics SensorValue[Pneumatics] = 0; } else { // If nothing is pressed // Do nothing at all } 

In deze lus hierboven, het is te zeggen als de knop van de controller "6 UP" wordt ingedrukt, breiden de pneumatiek, maar als de knop van de controller "6 DOWN" is ingedrukt, de pneumatiek intrekken, en als niets wordt gedrukt, vervolgens niets doen!

Wanneer u met knoppen werkt, is het bijna dezelfde code als de joystick, maar in plaats van alleen de joystick toe te wijzen aan een motor, we moeten de cortex vertellen dat wanneer de knop wordt gedrukt, iets doen. De status van de knop "1" betekent dat de knop wordt ingedrukt, terwijl de status van de knop '0', betekent dat de knop niet wordt ingedrukt. Bij het programmeren van de knoppen, zorg ervoor dat u twee gelijktekens (==).

Gerelateerde Artikelen

3D gedrukte Raspberry Pi Tablet en wieg voor VEX praktijk velden

3D gedrukte Raspberry Pi Tablet en wieg voor VEX praktijk velden

Ik ben een middelbare school senior in McLean, VA Ik koos voor het ontwerpen en monteren van een 3D afdruk Raspberry Pi tablet samen met een aangepaste VEX toren bijlage voor gebruik in mijn school robotica-lab.Mijn school is onderdeel van het progra
De baas vak Bot

De baas vak Bot

welkom aan de baas vak Bot instructable, of als we willen noemen, de Bo-Bo-Bot. De Bot Bo-Bo is ontworpen om het gebruik van extreem lage kosten materiaal om mensen om te bouwen van een robot zonder dure kits. Onze Bot Bo-Bo geschiedt met behulp van
Vex Robotics Tractor Pull kampioen

Vex Robotics Tractor Pull kampioen

De trekker trek project voor Vex Robotics daagt de student op zoek naar manieren om het verhogen van de robot werk zonder kracht te verhogen. Studenten zijn vrij om te veranderen van hun robot op enigerlei wijze behalve het hebben van meer dan 2 moto
Snelheid wagon (drifting robot)

Snelheid wagon (drifting robot)

Video van het eindproduct invoegenDeze robot is ontworpen rond het concept van het drijven. Het is een leuke project als je je verveelt en willen iets wat lijkt op een RC auto. Deze robot werd gebouwd met behulp van VEX Robotics onderdelen, hoewel al
Wii Nunchuk Controller

Wii Nunchuk Controller

Deze tutorial leert u hoe u kunt besturen VEX motoren met een Wii Nunchuk.Het kan erg handig zijn als u wilt controleren uw robot met een Arduino en niet een VEX cortex en controller.Stap 1: materialen Arduino UNOWii NunchukLaptop/ComputerDraadloze M
32 x 32 RGB LED Plasma w / STM32F4.

32 x 32 RGB LED Plasma w / STM32F4.

Er zijn al een paar tutorials daar tonen hoe een 32 x 32 RGB LED weergave bepalen.Dit project heeft enkele lichte variaties met de volgende functies:Op basis van een STM32F401RE eval PensionSoftware gegenereerd door STM32CubeMX BSP (v1.4.0 gebruikt h
Sparky - DIY Web-Based Telepresence Robot

Sparky - DIY Web-Based Telepresence Robot

de naam Sparky is gebaseerd op een acroniem voor zelf portret artefact Roving Chassis ik een lastige titel voor een kunstproject begonnen in de vroege jaren 90. Sinds die tijd Sparky geëvolueerd van een oversized RC speelgoed met een paar baby monito
VersaBot - materiaal Custimaziton Robot

VersaBot - materiaal Custimaziton Robot

deze robot werd ontworpen met behulp van Invetor 2012 en 2013. De instructies die alleen zijn een hulpmiddel om mensen een plek om te beginnen uit, maar blijven krijgen te laten hun eigen unieke persoonlijke functies toe te voegen. De robot wordt kee
Bouwen van een robotachtig wapen voor de wetenschap Olympiade

Bouwen van een robotachtig wapen voor de wetenschap Olympiade

voor degenen die om te worstelen de juiste onderdelen vinden, proberen te achterhalen hoe samen te stellen hen, of moeite hebt met code, dit de juiste plaats is! Dit instructable is een volledige documentatie van Newton South High School Science Team
90 graden Adapter voor VexPro VersaPlanetary versnellingsbak voor eerste Robotics

90 graden Adapter voor VexPro VersaPlanetary versnellingsbak voor eerste Robotics

Het team van Killer Bees Robotics ontwikkeld deze oplossing in 2015 en nu zouden wij graag delen met allen van de eerste roboticagemeenschap.Het VexPro VersaPlanetary versnellingsbak systeem is een van de meest veelzijdige en flexibele onderdelen ooi
REST gebaseerde Web Services toe te voegen aan IoT apparaat voor het toezicht op IO

REST gebaseerde Web Services toe te voegen aan IoT apparaat voor het toezicht op IO

Dit project is om een eenvoudige RESTful Web service bibliotheek voor IoT-apparaten. De bibliotheek is geschreven met C taalcode en WIZwiki-W7500ECO platform Raad van WIZnet. Met het, gebruikers kunnen een RESTful Web service implementeren op IoT app
Bouwen van uw Android Apps voor de controle van IoT-apparaten met behulp van REST API

Bouwen van uw Android Apps voor de controle van IoT-apparaten met behulp van REST API

Een paar weken geleden, heb ik uitgevoerd REST web service bibliotheek voor WIZwiki-W7500ECO board. Ik heb gepost op Instructables, (Featured content!)Heb ik besloten om mijn eigen Apps voor de controle op mijn bord met REST API's. Mijn Apps gemaakt
Hoe krijg ik de Mythoclast Vex in Destiny

Hoe krijg ik de Mythoclast Vex in Destiny

De Mythoclast Vex is een krachtig wapen gevonden in Bungie de eerste-persoonsschutter lot. Het is dat de spelers wapen belt "oneerlijke", "gebroken" en "overpowered".Dus hoe krijg je het?Stap 1: Een Level omhoogU gaat moeten
Hoe te kiezen voor een MicroController

Hoe te kiezen voor een MicroController

het gebruikt om te worden dat het aantal verschillende microcontroller chips beschikbaar voor de hobbyist vrij beperkt is. Je moet gebruiken wat je zou kunnen beheren van de postorder chip-dealer te kopen, en dat de keuze voor een klein aantal chips