Skip to main content
Docentenportaal

Programmeren van de robotarm - Python

Icoon Toolbox voor docenten 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 leraren-pictogram 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. VEXcode V5 Python-werkruimte met het begin van een Drivetrain-opdracht getypt en het venster voor automatisch aanvullen geopend met de opties voor de rest van de opdracht.

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. 

    VEXcode V5 toont een Drive voor de opdracht die in de werkruimte is getypt en de Help voor die opdracht wordt rechts geopend. In de Help wordt Drive for gedefinieerd als het verplaatsen van de aandrijflijn over een bepaalde afstand. Ook wordt uitgelegd hoe u de opdracht in een project kunt gebruiken.

  • Zorg ervoor dat u de vereiste hardware, uw engineering notebook en VEXcode V5 gedownload en gereed hebt.
Benodigde materialen:
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:

Tips voor leraren-pictogram 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.

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

Volg de volgende stappen:

  • Open het menu Bestand.
  • SelecteerOpenVoorbeelden.

Pictogram met de tekst Clawbot en Advanced Training Bot met een grijze robot boven de tekst.

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

In het dialoogvenster met de projectnaam in de VEXcode V5-werkbalk staat Arm Control en wordt aangegeven dat Slot 1 is geselecteerd.

Tips voor leraren-pictogram 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.

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

Icoon Toolbox voor docenten 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.

VEXcode V5-werkbalk met de sleufselectie geopend naast de projectnaam. Slot 1 is geselecteerd en gemarkeerd met een rood vak en de projectnaam is Arm Control.

  • Selecteer het Slot-pictogram. U kunt uw project downloaden naar een van de beschikbare slots in Robot Brain. Selecteer Slot 1.

Afbeelding van de werkbalk in VEXcode V5 met een rood vak rond het groene armpictogram

  • Sluit de robot aan op uw computer of tablet. Het Brein-icoontje in de werkbalkwordt groenzodra er een succesvolle verbinding tot stand is gebracht.

Werkbalk in VEXcode V5 met een rood kader rond de downloadknop. De pictogrammen die van links naar rechts worden weergegeven zijn: Controller, Hersenen, Downloaden, Uitvoeren en Stoppen.

  • Klik op de knopDownloadop de werkbalk om het ArmControl-project naar Robot Brain te downloaden.

Icoon Toolbox voor docenten 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.

Op het startscherm van V5 Brain wordt het Arm Control-project weergegeven in slot 1 in de linkerbenedenhoek. In de rij hierboven ziet u de pictogrammen Drive, Apparaten, Instellingen en VEX.

  • Controleer of het ArmControl-project is gedownload naar de hersenen in het door u gekozen slot.

Icoon Toolbox voor docenten 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.

Zijaanzicht van de V5 Clawbot met zijn arm naar beneden

Afbeelding van de VEX V5 Clawbot met zijn arm naar beneden

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

Icoon Toolbox voor docenten 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

Zijaanzicht van een V5 Clawbot met de arm omhoog en pijlen eronder die de op- en neergaande beweging aangeven.

Afbeelding van de V5 Clawbot met zijn arm omhoog en rode pijlen die omhoog en omlaag wijzen, om te laten zien hoe de Clawbot zijn arm omhoog en omlaag kan brengen 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.

Icoon Toolbox voor docenten 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.VEXcode V5 Python-project in de werkruimte met twee spins voor blokken gemarkeerd en het contextmenu rechts geopend. De optie Kopiëren in het contextmenu is gemarkeerd. Tussen Knippen en Plakken staat Kopiëren.

  • 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)