Programmeren van vooruit en achteruit rijden - Python
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 in de Automed Challenge aan het einde van dit STEM Lab, waarbij ze met behulp van de Speedbot door een ziekenhuisafdeling moeten navigeren.
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 vertrek!
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.
Toolbox voor leraren
Hier is een overzicht van de gebruikersinterface van VEXcode V5. Studenten maken kennis met deze tabbladen/knoppen tijdens de activiteiten in dit Medbot STEM Lab. Er zijn ook links beschikbaar in het STEM Lab met meer informatie over deze tabbladen/knoppen.

- VEXcode V5-instructies die in deze verkenning zullen worden gebruikt:
- aandrijflijn.drive_for(VOORUIT, 200, MM)
- 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.

- Zorg ervoor dat u de benodigde hardware, uw technische notebook en VEXcode V5 hebt gedownload en gereed hebt.
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. De tutorials bevinden zich in de werkbalk. 
| 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
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:
- Zijn de motoren aangesloten op de juistepoorten?
- Zijn de slimme kabelsvolledig in alle motorengestoken?
- Staat Brainop?
- Is de batterijopgeladen?
Stap 2: Start een nieuw project
Voer de volgende stappen uit om het project te starten:
-
Open het menu Bestand en selecteer Voorbeelden 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.

- Omdat u de Speedbot vooruit en achteruit gaat laten bewegen, noemt u uw projectDrive. Klik op de projectnaam, typ Drive en selecteer Opslaan.

Tips voor leraren
-
Projectnamen kunnen spaties tussen of na de woorden bevatten.

- 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.

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 Drive en opgeslagen, werd de weergave 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 het gedeelte Python van de VEX-bibliotheek worden de opslagmethoden in VEXcode V5 uitgelegd.
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 over de kleuring van code in VEXcode V5 Python, zie dit artikel

-
Voeg de instructie toe aan het project, zodat je project er als volgt uitziet:
# Bibliotheekimporten van VEX-import * # Begin projectcode driveetrain.drive_for (VOORUIT, 100, MM)
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 Python.

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

-
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.

-
SelecteerDownloadom het project naar de Brain te downloaden.

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.
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 uw project is gedownload (Python) door naar het scherm van Robot Brain te kijken. De projectnaam Drive moet worden vermeld in sleuf 1.

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 (Python) 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!

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 naar REVERSEin plaats van FORWARD, , zodat uw project er als volgt uitziet:
# Bibliotheek importeert van VEX-import * # Begin projectcode driveetrain.drive_for (REVERSE, 100, MM) -
Selecteer de projectnaam om deze te wijzigen van Drive naar Reverse.

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

-
Download (Python) het project.

-
Controleer of uw project is gedownload (Python) door naar het scherm van Robot Brain te kijken. De projectnaam Reverse moet worden vermeld in sleuf 2.

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

Toolbox voor docenten
-
Stap 4 voltooien
-
Om de opdrachtdrive_forte wijzigen vanforwardnaarreverse, wijzigt u eenvoudigweg de eerste parameter in REVERSE. 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. In het gedeelte Pythonvan de VEX-bibliotheek worden de opslagmethoden in VEXcode V5 uitgelegd.
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 het wachten is ingesprongen om overeen te komen met de opdracht drive_for en dat alle opdrachten zich onder de opmerking "Begin projectcode" bevinden. Dit vertelt de robot om drie seconden te wachten voordat hij achteruit rijdt.
-
wacht(3, SECONDEN) aandrijflijn.drive_for(ACHTERUIT, 100, MM) -
Selecteer de projectnaam om deze te wijzigen van Reverse naar WaitReverse.

-
Selecteer het Slot-pictogram om een nieuw slot te kiezen. Selecteer sleuf 3.
-
Download (Python) het project.

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

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

Toolbox voor docenten
-
Stap 5 voltooien
- Als u de opdracht wait gebruikt, wordt het project niet beëindigd. De robotbeweging wordt alleen 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. In het gedeelte Python van de VEX-bibliotheek worden de opslagmethoden in VEXcode V5 uitgelegd.
Stap 6: Voltooi de basketbaloefeningenuitdaging!

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 40 cm vooruit naar de derde lijn, wacht 1 seconde en keert dan terug naar de startlijn om de uitdaging te voltooien.
Plan het pad en het gedrag van de robot in je technische notitieboekje voordat je de robot programmeert.
Nadat je de basketbaluitdaging hebt voltooid, kun je voorwaartse en achterwaartse bewegingen combineren met extra robotgedragingen om nog geavanceerdere uitdagingen te voltooien.
Houd er rekening mee bij het programmeren dat 1 cm = 10 mm.
Teacher Toolbox
-
Oplossing
Bekijk hieronder een voorbeeldoplossing:
# Bibliotheek importeert
van vex import *
# Begin projectcode
# Rijd 10 cm vooruit
drivetrain.drive_for(FORWARD, 100, MM)
# Wacht 1 seconde
wait(1, SECONDS)
# Rijd terug naar de startlijn
drivetrain.drive_for(REVERSE, 100, MM)
# Rijd 20 cm vooruit
drivetrain.drive_for(FORWARD, 200, MM)
# Wacht 1 seconde
wait(1, SECONDS)
# Rijd terug naar de startlijn
drivetrain.drive_for(REVERSE, 200, MM)
# Rijd 40 cm vooruit
drivetrain.drive_for(FORWARD, 400, MM)
# Wacht 1 seconde
wait(1, SECONDS)
# Rijd terug naar de startlijn
drivetrain.drive_for(REVERSE, 400, MM)
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?