Skip to main content

Programmeren van vooruit en achteruit rijden - C++

Icoon Toolbox voor docenten Activiteitenoverzicht de Toolbox voor leerkrachten

Tijdens deze verkenning maken leerlingen kennis met de basisprogrammeergedragingen voor vooruit rijden, achteruit rijden en wachten. Deze basisvaardigheden zullen hen helpen om te slagen bij de volgende activiteit en bij de Strike Challenge aan het einde van dit STEM Lab, waarbij ze gaan bowlen met behulp van de Speedbot.

Met behulp van het sjabloonproject V5 Speedbot (aandrijflijn 2 motoren, geen gyro) kunnen de studenten de Speedbot programmeren om vooruit te rijden met slechts één instructie.

De Speedbot is klaar voor gebruik!

Deze verkenning geeft je de tools om je Speedbot te kunnen programmeren voor eenvoudige bewegingen. Aan het einde van deze activiteit neem je deel aan de Basketball Drills Challenge met behulp van vooruit-, achteruit- en wachtgedrag.

Icoon Toolbox voor docenten Toolbox voor leraren

Hier is een overzicht van de gebruikersinterface van VEXcode V5. Tijdens de activiteiten in dit Momentum Alley STEM Lab maken studenten kennis met deze tabbladen/knoppen. Er zijn ook links beschikbaar in het STEM Lab met meer informatie over deze tabbladen/knoppen.

Afbeelding van de VEXcode V5-werkruimte met de Help-notities geopend voor de Drivetrain-drive voor de opdracht

  • VEXcode V5-instructies die in deze verkenning zullen worden gebruikt:
    • Drivetrain.driveFor(1, inches);
    • wacht(1, seconden);
  • Voor meer informatie over de instructie selecteert u Help en selecteert u vervolgens het vraagtekenpictogram naast een opdracht om meer informatie te zien.

    Afbeelding van de VEXcode V5-werkruimte met hulpnotities geopend voor de opdracht Drivetrain Drive For

     

  • Zorg ervoor dat u de benodigde hardware, uw technische notebook en VEXcode V5 hebt gedownload en gereed hebt.

Tips voor leraren-pictogram Tips voor leraren

Als dit de eerste keer is dat de student VEXcode V5 gebruikt, kan hij/zij de tutorials op elk gewenst moment tijdens de verkenning raadplegen.

VEXcode V5-werkbalk met tutorials gemarkeerd in een rood vak. De werkbalk toont van links naar rechts het V5-logo, een wereldbolpictogram, Bestand en Tutorials. Rechts van Tutorials staan extra pictogrammen en functionaliteiten.

Benodigde materialen:
Aantal Benodigde materialen
1

Speedbot-robot

1

Opgeladen robotbatterij

1

VEXcode V5

1

USB-kabel (bij gebruik van een computer)

1

Technisch notitieboekje

Tips voor leraren-pictogram Tips voor leraren

Geef de studenten een voorbeeld van elke stap in het probleemoplossen.

Stap 1: Voorbereiding op de verkenning

Heb je elk van deze items klaar voordat je met de activiteit begint? Controleer elk van de volgende zaken:

Stap 2: Start een nieuw project

Voer de volgende stappen uit om het project te starten:

  • Open het menu Bestand en selecteer Voorbeelden openen.

    Werkbalk VEXcode V5 met het menu Bestand geopend en Open Voorbeelden gemarkeerd in een rood vak. Open Voorbeelden is het vierde menu-item onder Nieuw blokkenproject, Nieuw tekstproject en Openen.

     

  • Selecteer en open het Speedbot (Drivetrain 2-motor, No Gyro) -sjabloonproject. Het sjabloonproject bevat demotorconfiguratievan de Speedbot. Als de sjabloon niet wordt gebruikt, zal uw robot het project niet correct uitvoeren.

    Afbeelding met de voorbeeldprojecten met een rood vak rond het Speedbot (Drivetrain 2-motor, No Gyro) -sjabloonproject

     

  • Omdat u de Speedbot vooruit en achteruit gaat laten bewegen, noemt u uw projectDrive. Selecteer de projectnaam, typ 'Drive'en selecteer vervolgens 'Opslaan'.

 

Afbeelding met de projectnaam die wordt gewijzigd in Drive

 

 

 

Tips voor leraren-pictogram Tips voor leraren

  • Projectnamen kunnen spaties tussen of na de woorden bevatten.

    De V5 VEXcode-werkbalk met de knop Projectnaam gemarkeerd met een rood vak. De projectnaam is 'Drive Forward'.

  • U kunt leerlingen vragen hun initialen of de naam van hun groep aan de projectnaam toe te voegen. Hiermee kunt u de projecten differentiëren als u de studenten vraagt deze in te leveren.
  • Omdat dit de eerste programmeeractiviteit is die uw leerlingen proberen, moet u de stappen modelleren en de leerlingen vervolgens vragen dezelfde handelingen uit te voeren. Vervolgens moet de docent toezicht houden op de leerlingen om er zeker van te zijn dat zij de stappen correct volgen.
  • Zorg ervoor dat de studenten 'Voorbeelden openen' hebben geselecteerd in het menu 'Bestand'.
  • Zorg ervoor dat de studenten het sjabloonproject Speedbot (aandrijflijn 2 motoren, geen gyro) hebben geselecteerd.
  • U kunt de studenten erop wijzen dat er op de pagina met voorbeelden verschillende opties zijn waaruit ze kunnen kiezen. Naarmate ze andere robots bouwen en gebruiken, krijgen ze de kans om verschillende sjablonen te gebruiken.
  • Controleer of de projectnaamDrivenu in het venster in het midden van de werkbalk staat.

    Projectnaam gewijzigd naar station in de werkbalk.

     

Icoon Toolbox voor docenten Toolbox voor docenten - Projecten opslaan

  • Wijs erop dat toen ze VEXcode V5 voor het eerst openden, het venster de naam VEXcode Project had. VEXcode Project is de standaardprojectnaam wanneer VEXcode V5 voor het eerst wordt geopend. Nadat het project was hernoemd naar Schijf en was opgeslagen, werd het scherm bijgewerkt met de nieuwe projectnaam. Met behulp van dit venster in de werkbalk kunt u eenvoudig controleren of de studenten het juiste project gebruiken.

  • Vertel de leerlingen dat ze nu klaar zijn om met hun eerste project te beginnen. Leg de leerlingen uit dat ze met behulp van een paar eenvoudige stappen een project kunnen maken en uitvoeren om de Speedbot verder te laten groeien.

  • Herinner leerlingen eraan dat ze hun projecten moeten opslaan terwijl ze eraan werken. In de C++ secties van de VEX-bibliotheek worden de opslagmethoden in VEXcode V5 uitgelegd.

Icoon Toolbox voor docenten Toolbox voor leerkrachten - Stop en bespreek

Dit is een goed moment om even stil te staan en de studenten de zojuist voltooide stappen voor het starten van een nieuw project in VEXcode V5 individueel of in groepen te laten doornemen. Vraag de studenten om individueel te reflecteren voordat ze hun bevindingen met de groep of de hele klas delen.

Stap 3: Rijd vooruit

U bent nu klaar om te beginnen met het programmeren van de robot om vooruit te rijden!

  • Voordat we beginnen met programmeren, moeten we begrijpen wat een instructie is. Een instructie bestaat uit drie delen. Voor meer informatie over wat een instructie is, kunt dit artikel bekijken.

    Een C++ -opdracht opgesplitst in componenten. Aandrijving is gelabeld als het apparaat; Aandrijving voor is gelabeld als de opdrachten; en vooruit, 100 en mm worden gezamenlijk gelabeld als parameters.

  • Voeg de instructie toe aan het project, zodat je project er als volgt uitziet:

    int main() {
      //Robotconfiguratie initialiseren. NIET VERWIJDEREN!
      vexcodeInit();
      
      // Begin projectcode
      Drivetrain.driveFor(vooruit, 100, mm);

Tips voor leraren-pictogram Tips voor leraren

Zodra u begint met typen, ziet u mogelijk een functie voor automatisch aanvullen. Gebruik de toetsen ‘Omhoog’ en ‘Omlaag’ om de gewenste naam te selecteren en druk vervolgens op ‘Tab’ of (Enter/Return) op uw toetsenbord om uw selectie te maken. Voor meer informatie over deze functie, zie het artikel C++.

VEXcode V5 met het Drivetrain-gedeelte van een opdracht getypt aan de linkerkant. Aan de rechterkant wordt een scrollende lijst met autoaanvulopties voor die opdracht weergegeven.

  • Selecteer het Slot-pictogram om een van de acht beschikbare slots op de Robot Brain te kiezen en selecteer sleuf 1.

    VEXcode V5-werkbalk met het sleufmenu geopend aan de linkerkant van de projectnaam. Het vervolgkeuzemenu toont alle beschikbare slots, van 1 tot 8. De eerste sleuf wordt gemarkeerd met een rood vak.

     

  • Sluit de V5 Robot Brain aan op de computer met behulp van een micro-USB-kabel en schakel de V5 Robot Brain in. Het Brein-icoontje in de werkbalkwordt groenzodra er een succesvolle verbinding tot stand is gebracht.

    Werkbalk in VEXcode V5 met een rood vak rond het groene Brain-pictogram, gelegen tussen de Controller- en Download-pictogrammen.

     

  • SelecteerDownloadom het project naar de Brain te downloaden.

    Werkbalk in VEXcode EXP met een rood vak rond het downloadpictogram, gelegen tussen een greed Brain-pictogram en de knoppen Run en Stop.

Icoon Toolbox voor docenten Toolbox voor leraren

  • Herinner de leerlingen eraan dat ze de USB-kabel uit de Robot Brain moeten halen. Als de robot tijdens het uitvoeren van een project verbinding maakt met een computer, kan het zijn dat de robot aan de verbindingskabel trekt.

Icoon Toolbox voor docenten Toolbox voor leerkrachten - Stop en bespreek

Vraag de leerlingen te voorspellen wat er volgens hen zal gebeuren als dit project wordt gedownload en uitgevoerd op de Speedbot. Vraag de leerlingen om hun voorspellingen in hun technische notitieboekjes te schrijven. Als de tijd het toelaat, vraag dan elke groep om hun voorspelling te delen

  • Controleer of er zijn gedownload voor uw project door naar het scherm van Robot Brain te kijken. De projectnaam Drive moet worden vermeld in sleuf 1.

    V5 Brain Home Screen toont het Drive-programma in sleuf 1 in de linkerbenedenhoek direct onder het Drive-pictogram.

Icoon Toolbox voor docenten Toolbox voor docenten - Model Eerst

  • Laat het project eerst door de klas uitvoeren, voordat alle leerlingen er tegelijk mee aan de slag gaan. Verzamel de studenten op één plek en laat voldoende ruimte over voor de Speedbot om te bewegen als deze op de grond wordt geplaatst.

  • Vertel de studenten dat zij nu aan de beurt zijn om hun project uit te voeren. Zorg ervoor dat ze een vrije doorgang hebben en dat de Speedbots elkaar niet kunnen raken.

  • Voer (C++) het project uit op de robot door ervoor te zorgen dat het project is geselecteerd en druk vervolgens op de knopRunop de Robot Brain. Gefeliciteerd met het maken van je eerste project!

    V5 Brain-scherm met het Drive-programma geopend en een rood vak rond de Run-knop aan de linkerkant. Rechts van Run staan knoppen voor Timed Run, Match en Bedrading.

Stap 4: Rijd achteruit

Nu u uw robot hebt geprogrammeerd om vooruit te rijden, laten we hem programmeren om nu achteruit te rijden.

  • Wijzig de parameter in de aandrijfinstructie om achteruit te rijden, zodat uw project er als volgt uitziet:

    int main() {
      //Robotconfiguratie initialiseren. NIET VERWIJDEREN!
      vexcodeInit();
      
      // Begin projectcode
      Drivetrain.driveFor(vooruit, 100, mm);
    
    }
  • Selecteer de projectnaam om deze te wijzigen vanDrivenaarReverse.

    De projectnaam in de werkbalk luidt Achteruit en sleuf 1 is geselecteerd.

  • Selecteer het Slot-pictogram om een nieuw slot te kiezen. Selecteer sleuf 2.

    Slotselectie in VEXcode V5 open met sleuf 2 geselecteerd en gemarkeerd met een rood vak.

  • Download (inC++) het project.

    VEXcode V5-werkbalk met de knop Downloaden gemarkeerd door een rood vak aan de rechterkant. De knop Downloaden bevindt zich rechts van een groen Brain-pictogram en links van de knoppen Uitvoeren en Stoppen.

  • Controleer of uw project is gedownload (inC++) door naar het scherm van Robot Brain te kijken. De projectnaamReversemoet in Slot 2 worden vermeld.

    Het startscherm van V5 Brain toont het omgekeerde project in sleuf 2, het tweede pictogram van links op de onderste rij, naast het Drive-project in sleuf 1.

  • Voer (inC++) het project uit op de robot door ervoor te zorgen dat het project is geselecteerd en druk vervolgens op de knopRunop de Robot Brain.

    V5 Hersenscherm met het omgekeerde project geopend en de knop Uitvoeren gemarkeerd in een rood vak helemaal links. Rechts van Run staan knoppen voor Timed Run, Match en Bedrading.

Icoon Toolbox voor docenten Toolbox voor docenten - Stap 4 voltooien

  • Om de opdrachtdriveForte wijzigen vanforwardnaarreverse, wijzigt u eenvoudigweg de eerste parameter in -100. Hierdoor gaan de motoren in de aandrijflijn in de tegenovergestelde richting bewegen.

  • U kunt het aantal mm wijzigen, maar voor dit voorbeeld laten we het op 100 mm staan, zoals ingesteld in de vorige stap.

  • Herinner hen eraan de USB-kabel los te koppelen van Robot Brain voordat ze het project uitvoeren.

  • Herinner leerlingen eraan dat ze hun projecten moeten opslaan terwijl ze eraan werken. De VEX-bibliotheek heeft secties voor C++ die de opslagmethoden in VEXcode V5 uitleggen.

Stap 5: Wacht en rijd dan achteruit

Nu we de robot hebben geprogrammeerd om vooruit en vervolgens achteruit te rijden, kunnen we nu een wachtinstructie toevoegen, zodat de robot een bepaalde tijd wacht voordat hij achteruit rijdt.

  • Voeg een Wachtinstructie toe voor de opdracht Drive for. Zorg ervoor dat de Wait is ingesprongen om overeen te komen met de Drive for commando, en dat alle commando's zich binnen de gekrulde accolades bevinden. Dit vertelt de robot om drie seconden te wachten voordat hij achteruit rijdt.

        wacht(3, seconden);
    
        Drivetrain.driveFor(vooruit, 100, mm);
  • Selecteer de projectnaam om deze te wijzigen van Reverse naar WaitReverse.

    De projectnaam is gewijzigd in Wait Reverse in de werkbalk en sleuf 2 is geselecteerd.

  • Selecteer het Slot-pictogram om een nieuw slot te kiezen. Selecteer sleuf 3.

    Slotselectie in VEXcode V5 met een rood vak rond Slot 3 van 8.

  • Download (inC++) het project.

    Downloadknop in de VEXcode V5-werkbalk gemarkeerd met een rood vak eromheen, tussen het groene Brain-pictogram en de knoppen Run en Stop.

  • Controleer of uw project is gedownload (inC++) door naar het scherm van Robot Brain te kijken. De projectnaam WaitReverse moet worden vermeld in sleuf 3.

    Het startscherm van V5 Brain toont het Wait Reverse-project in sleuf 3, het derde pictogram op de onderste rij.

  • Voer (inC++) het project uit op de robot door ervoor te zorgen dat het project is geselecteerd en druk vervolgens op de knopRun.

    V5 Brain-scherm met het Wait Reverse-project geopend en de knop Run gemarkeerd in een rood vak helemaal links. Rechts van Run staan knoppen voor Timed Run, Match en Bedrading.

Icoon Toolbox voor docenten Toolbox voor docenten - Stap 5 voltooien

  • Met de wait-opdracht wordt het project niet beëindigd, maar wordt alleen de robotbeweging gepauzeerd.

  • Als de leerlingen een computer gebruiken, herinner hen er dan aan de USB-kabel uit Robot Brain te halen voordat ze het project uitvoeren.

  • Herinner leerlingen eraan dat ze hun projecten moeten opslaan terwijl ze eraan werken. De VEX-bibliotheek heeft secties voor C++ die de opslagmethoden in VEXcode V5 uitleggen.

Stap 6: Voltooi de basketbaloefeningenuitdaging!

Opstelling voor basketbalboren toont vier lijnen op afstand met een startlijn aan de linkerkant en lijnen op 10 cm, 20 cm en 40 cm afstand. Een V5 Robot zit klaar om te beginnen met zijn voorwielen op de startlijn.

Uitdagingslay-out basketbalboren

In de Basketball Drills Challenge moet de robot op verschillende afstanden door een reeks lijnen kunnen navigeren. De robot zal voorwaarts reizen naar de eerste lijn die zich 10 cm van de startpositie bevindt, 1 seconde wachten en dan achteruit reizen om terug te keren naar diezelfde lijn. De robot zal dan de actie herhalen door 20 cm vooruit te rijden naar de tweede lijn, 1 seconde te wachten en vervolgens terug te rijden naar de oorspronkelijke startlijn. De robot rijdt naar voren naar de derde lijn met een afstand van 40 cm, wacht 1 seconde en keert dan uiteindelijk terug naar de startlijn om de uitdaging te voltooien.

Voordat u de robot programmeert, moet u het pad en gedrag van de robot in uw technische notebook plannen.

Nadat je de basketbaluitdaging hebt voltooid, kun je voorwaartse en achterwaartse bewegingen combineren met extra robotgedragingen om nog geavanceerdere uitdagingen tot een goed einde te brengen.
Houd er bij het programmeren rekening mee dat 1 cm = 10 mm.

Icoon Toolbox voor docenten Toolbox voor leerkrachten - Stop en bespreek

Vraag de studenten om hun oplossingen in tweetallen te delen voordat ze deze met de hele klas bespreken. Faciliteer de discussie door de volgende vragen te stellen:

  • Heb je problemen ondervonden tijdens het programmeren van deze uitdaging?

  • Gedroeg uw robot zich zoals u op basis van uw project verwachtte? Waarom wel of waarom niet?

  • Als je de uitdaging opnieuw zou kunnen doen, is er dan iets dat je anders zou hebben gedaan?

Icoon Toolbox voor docenten Teacher Toolbox - Oplossing

int main() {
  // Robotconfiguratie initialiseren. NIET VERWIJDEREN!
  vexcodeInit();
  // Begin projectcode

  // Rijd 10 cm vooruit
  Drivetrain.driveFor(forward, 100, mm);
  // Wacht 1 seconde
  wait(1, seconds);
  // Rijd terug naar de startlijn
  Drivetrain.driveFor(reverse, 100, mm);

  // Rijd 20 cm vooruit
  Drivetrain.driveFor(forward, 200, mm);
  // Wacht 1 seconde
  wait(1, seconds);
  // Rijd terug naar de startlijn
  Drivetrain.driveFor(reverse, 200, mm);

  // Rijd 40 cm vooruit
  Drivetrain.driveFor(forward, 400, mm);
  // Wacht 1 seconde
  wait(1, seconds);
  // Rijd terug naar de startlijn
  Drivetrain.driveFor(reverse, 400, mm);

}