Programmeren van de robotarm - Python
Activiteitenoverzicht
de Toolbox voor leerkrachten
- Tijdens deze verkenning maken studenten kennis met de basisprogrammering van de Arm Motor van de V5 Clawbot.
- Door te leren hoe je de Arm Motor programmeert, kunnen leerlingen de armbewegingen van de V5 Clawbot goed aansturen. Voor meer informatie over de instructies die in een Python-project worden gebruikt, gaat u naar de helpinformatie voor VEXcode V5 Python.
Tips voor docenten
-
Automatisch aanvullen gebruiken
Autocomplete is een functie in VEXcode V5 die de rest van de opdracht die u typt voorspelt. Terwijl studenten met VEXcode V5 werken, moedig je ze aan om de functie Automatisch aanvullen te gebruiken als hulpmiddel bij de Python-syntaxis. 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 Python-artikel. 
De V5 Clawbot is klaar voor actie!
Met deze verkenning krijgt u de tools in handen waarmee u een aantal coole projecten kunt maken die gebruikmaken van de arm van de V5 Clawbot.
- VEXcode V5 Python-instructies die in deze verkenning worden gebruikt:
- arm_motor.spin_for(VOORUIT, 90, GRADEN)
- arm_motor.set_position(0, GRADEN)
- wacht(2, SECONDEN)
-
Voor meer informatie over de instructie selecteert u het vraagtekenpictogram naast een opdracht. U ziet dan meer informatie.

- Zorg ervoor dat u de vereiste hardware, uw engineering notebook en VEXcode V5 gedownload en gereed hebt.
| Hoeveelheid | Benodigde materialen |
|---|---|
| 1 |
VEX V5 Classroom Starter Kit (met up-to-date firmware) |
| 1 |
VEXcode V5 |
| 1 |
Technisch notitieboekje |
| 1 |
Clawbot en Advanced TrainingBot (aandrijflijn 2-motor, geen gyro) voorbeeldproject |
Stap 1: Voorbereiding op de verkenning
Zorgt u ervoor dat de volgende items klaarliggen voordat u met de activiteit begint? Controleer elk van de volgende punten:
-
Zijn de motoren op de juiste poorten aangesloten?
-
Zijn de slimme kabelsvolledig in alle motorengestoken?
-
Staat Brainop?
-
Is de batterijopgeladen?
Tips voor leraren
Geef de studenten een voorbeeld van elke stap in het probleemoplossen.
Stap 2: Start een nieuw project
Selecteer het juiste sjabloonproject voordat u met uw project begint. Het voorbeeldproject Clawbot en Advanced TrainingBot (aandrijflijn 2 motoren, geen gyro) bevat de motorconfiguratie van Clawbot. Als de sjabloon niet wordt gebruikt, kan uw robot het project niet correct uitvoeren.
Volg de volgende stappen:
- Open het menu Bestand.
- SelecteerOpenVoorbeelden.
- Selecteer en open het voorbeeldproject Clawbot en Advanced TrainingBot (aandrijflijn 2-motor, geen gyro).
- Omdat we de arm gaan programmeren om te besturen, hernoem je je projectArmControl.
- Slaproject op.
- Controleer of de projectnaam ArmControl nu in het venster in het midden van de werkbalk staat.

Tips voor leraren
- Omdat dit een beginnersactiviteit is met programmeren, moet de docent de stappen modelleren en vervolgens de leerlingen vragen dezelfde acties 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 voorbeeldproject Clawbot en Advanced TrainingBot (aandrijflijn 2 motoren, geen gyro) hebben geselecteerd.
U kunt de studenten erop wijzen dat er op de pagina Voorbeelden verschillende opties zijn waaruit ze kunnen kiezen. Naarmate ze andere robots bouwen en gebruiken, krijgen ze de kans om verschillende sjablonen te gebruiken.
- 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.
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 een nieuwe naam had gekregen en was 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 waarmee ze de arm van de Clawbot kunnen optillen en laten zakken.
- Herinner leerlingen eraan dat ze hun projecten moeten opslaan terwijl ze eraan werken. De artikelen in de Python-sectie van de VEX-bibliotheek leggen de opslagmethoden uit in VEXcode V5.
Toolbox voor leerkrachten
-
Stop en bespreek
Dit is een goed moment om even stil te staan en de studentengroepen de stappen te laten doornemen die zojuist zijn voltooid bij het starten van een nieuw project in VEXcode V5.
Stap 3: Beweeg de arm omhoog
We gaan nu beginnen met het programmeren van de arm om omhoog te gaan!
# Bibliotheek importeert
van vex import *
# Begin projectcode
arm_motor.set_position(0, DEGREES)- Schrijf de opdracht arm_motor.set_position()zoals hierboven weergegeven in het programmeergebied om de startpositie voor de arm in te stellen.
arm_motor.set_position(0, GRADEN)
arm_motor.spin_for(VOORUIT, 90, GRADEN)- Voeg de opdracht arm_motor.spin_for()toe onder de opdracht arm_motor.set_position() zoals hierboven weergegeven om de arm omhoog te bewegen.
- Selecteer het Slot-pictogram. U kunt uw project downloaden naar een van de beschikbare slots in Robot Brain. Selecteer Slot 1.
- Sluit de robot aan op uw computer of tablet. Het Brein-icoontje in de werkbalkwordt groenzodra er een succesvolle verbinding tot stand is gebracht.
- Klik op de knopDownloadop de werkbalk om het ArmControl-project naar Robot Brain te downloaden.
Toolbox voor leraren
Als de leerlingen een computer gebruiken, vraag ze dan om nu de USB-kabel uit de Robot Brain te 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.

- Controleer of het ArmControl-project is gedownload naar de hersenen in het door u gekozen slot.
Toolbox voor docenten
-
Model Eerst
Laat het project eerst aan de klas zien voordat je het aan alle studenten tegelijk laat proberen. Verzamel de studenten op één plek en laat genoeg ruimte over zodat de Clawbot zijn arm kan bewegen. Laat zien hoe je het project beëindigt en de arm van de Clawbot terug laat zakken naar de rustpositie.
Vertel de studenten dat zij nu aan de beurt zijn om hun projecten uit te voeren. Zorg ervoor dat ze voldoende ruimte hebben om de arm van de Clawbot veilig omhoog te kunnen brengen.
- Voer het project uit op de Clawbot door ervoor te zorgen dat het project is geselecteerd en druk vervolgens op de knop Uitvoeren. Gefeliciteerd met het maken van je eerste Claw Arm-project!
Stap 4: Probeer dit: Programmeer de arm omlaag
Nu u de arm zo geprogrammeerd hebt dat deze omhoog beweegt, kunt u de arm ook programmeren om omlaag of omlaag te bewegen.

- Voeg een tweede arm_motor.spin_for()opdracht toe aan uw ArmControl-project, zodat de arm tot 90 graden omhoog gaat, 2 seconden wacht en vervolgens weer omlaag gaat.
- Tip:U moet de richting binnen de opdracht wijzigen.
- Merk op dat de arm zijn positie behoudt terwijl de opdrachtwaitwordt uitgevoerd. De motor haalt zijn energie uit de accu om de arm omhoog te houden, ondanks de zwaartekracht. Dat komt doordat de standaardinstelling voor het stoppen. Er zijn twee andere instellingen voor het stoppen:remmenenuitrollen. Daarover leert u meer in een ander lab.
Teacher Toolbox
-
Oplossing
De oplossing voor de uitdaging vindt u hieronder. Om de arm te laten zakken, moesten de studenten de parameter “FORWARD” in de toegevoegde opdracht arm_motor.spin_for()wijzigen in “REVERSE”.
# Begin projectcode
arm_motor.set_position(0, GRADEN)
arm_motor.spin_for(VOORUIT, 90, GRADEN)
wait(2, SECONDEN)
arm_motor.spin_for(ACHTERUIT, 90, GRADEN)
Stap 5: Voltooi de Flight Traffic Controller Challenge

In de Flight Traffic Controller Challenge moet de Clawbot zijn arm één keer 90 graden omhoog en omlaag bewegen, 3 seconden wachten, de arm twee keer 45 graden omhoog en omlaag bewegen, 5 seconden wachten en de arm vervolgens drie keer 90 graden omhoog en omlaag bewegen.
Hier is een lijst met de gedragingen van de Clawbot:
- Beweeg uw arm 90 graden omhoog en vervolgens omlaag.
- Wacht 3 seconden.
- Beweeg uw arm 45 graden omhoog en vervolgens omlaag.
- Beweeg uw arm 45 graden omhoog en vervolgens omlaag.
- Wacht 5 seconden.
- Beweeg uw arm 90 graden omhoog en vervolgens omlaag.
- Beweeg uw arm 90 graden omhoog en vervolgens omlaag.
- Beweeg uw arm 90 graden omhoog en vervolgens omlaag.
Teacher Toolbox
-
Oplossing
De meeste opdrachten in deze uitdaging zijn arm_motor.spin_for(). Nadat u een opdracht voor het omhoog bewegen van de arm en een opdracht voor het omlaag bewegen van de arm hebt toegevoegd, kunt u beide opdrachten markeren, met de rechtermuisknop klikken en ze vervolgens zo vaak als nodig kopiëren en plakken. Vervolgens kunnen de parameters worden gewijzigd om aan de uitdaging te voldoen en kunnen er opdrachten van waitworden toegevoegd.
- Bekijk hier een voorbeeld van een oplossing voor een Flight Traffic Controller Challenge:
# Begin projectcode
arm_motor.set_position(0, GRADEN)
arm_motor.spin_for(VOORUIT, 90, GRADEN)
arm_motor.spin_for(ACHTERUIT, 90, GRADEN)
wait(3, SECONDEN)
arm_motor.spin_for(VOORUIT, 45, GRADEN)
arm_motor.spin_for(ACHTERUIT, 45, GRADEN)
arm_motor.spin_for(VOORUIT, 45, GRADEN)
arm_motor.spin_for(ACHTERUIT, 45, GRADEN)
wait(5, SECONDEN)
arm_motor.spin_for(VOORUIT, 90, GRADEN)
arm_motor.spin_for(ACHTERUIT, 90, GRADEN)
arm_motor.spin_for(VOORUIT, 90, GRADEN)
arm_motor.spin_for(ACHTERUIT, 90, GRADEN)
arm_motor.spin_for(VOORUIT, 90, GRADEN)
arm_motor.spin_for(ACHTERUIT, 90, GRADEN)Meer gevorderde studenten kunnen lussen gebruiken om de oplossing te vereenvoudigen.
# Begin projectcode
arm_motor.set_position(0, GRADEN)
arm_motor.spin_for(VOORUIT, 90, GRADEN)
arm_motor.spin_for(ACHTERUIT, 90, GRADEN)
wacht(3, SECONDEN)
voor herhaal_aantal in bereik(2):
arm_motor.spin_for(VOORUIT, 45, GRADEN)
arm_motor.spin_for(ACHTERUIT, 45, GRADEN)
wacht(5, SECONDEN)
voor herhaal_aantal in bereik(3):
arm_motor.spin_for(VOORUIT, 90, GRADEN)
arm_motor.spin_for(ACHTERUIT, 90, GRADEN)- Programmeerrubriek(Google Doc / .docx / .pdf)