Skip to main content

De klauw programmeren - C++

Icoon Toolbox voor docenten Activiteitenoverzicht de Toolbox voor leerkrachten

  • Tijdens dit onderzoek maken leerlingen kennis met de basisprogrammering van de klauwmotor van de V5 Clawbot.

  • Door te leren programmeren met de Claw Motor kunnen leerlingen goed bepalen hoe de V5 Clawbot objecten in zijn omgeving vastpakt.

De V5 Clawbot is klaar om te grijpen!

Met deze verkenning kunt u een aantal coole projecten maken waarbij u de klauw van de V5 Clawbot gebruikt om objecten vast te pakken.

  • VEXcode V5-instructies die in deze verkenning worden gebruikt, zijn onder andere:
    • ClawMotor.setPosition(0, graden);
    • ClawMotor.spinFor(vooruit, 90, graden);
    • ClawMotor.setTimeout (2, seconden);
  • Voor meer informatie over de instructie selecteert u Help en vervolgens het vraagtekenpictogram naast een opdracht om meer informatie te bekijken.

    VEXcode V5 met een drive voor de opdracht die in de werkruimte is getypt, en de Help voor die opdracht is rechts geopend. De Help definieert de opdracht en geeft informatie over hoe deze wordt gebruikt.

  • 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

1

Aluminium blikje

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 item in het menu onder Nieuw blokkenproject, Nieuw tekstproject en Openen.

Volg de volgende stappen:

  • Open het menu Bestand.
  • SelecteerOpenVoorbeelden.

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

  • Selecteer en open het voorbeeldproject Clawbot en Advanced TrainingBot (aandrijflijn 2-motor, geen gyro).
  • Omdat we de klauw gaan programmeren, hernoem je je projectClawControl.
  • Slaproject op.
  • Controleer of de projectnaam ClawControl nu in het venster in het midden van de werkbalk staat.

In het dialoogvenster Projectnaam in de VEXcode V5-werkbalk staat Claw Control en is Slot 1 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 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 voorbeeldproject Clawbot en Advanced TrainingBot (aandrijflijn 2 motoren, geen gyro) hebben geselecteerd.

    U kunt de studenten erop wijzen dat er op de paginaVoorbeeldenverschillende 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 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: Programmeer de V5-klauw om te openen

We gaan nu beginnen met het programmeren van de klauw om te openen!

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

  ClawMotor.setPosition(0, graden);

}
  • Schrijf de instructieClawMotor.setPosition();zoals hierboven weergegeven in het programmeergebied om de startpositie voor de klauw in te stellen.
  ClawMotor.setPosition(0, graden);
  ClawMotor.setTimeout(2, seconden);
  • Voeg de instructieClawMotor.setTimeout();toe zoals hierboven weergegeven.
    • Merk op dat deze instructie vóór de instructieClawMotor.spinFor();verschijnt. Het doel hiervan is om in te stellen hoe lang de klauwmotor mag draaien en deze na die tijd te stoppen. Zelfs als de motor niet de volledige 60 graden draait, stopt het project de klauwmotor na twee seconden.
    • Zorg ervoor dat de Set Timeout is ingesprongen, zodat deze overeenkomt met de Set Position -opdracht en dat alle opdrachten tussen de accolades staan.
  ClawMotor.setPosition(0, graden);
  ClawMotor.setTimeout(2, seconden);
  ClawMotor.spinFor(omgekeerd, 60, graden);
  • Schrijf de instructieClawMotor.spinFor();zoals hierboven weergegeven om de klauw 60 graden te openen.

De sleufselectie is geopend met sleuf 1 gemarkeerd in een rood vak naast het dialoogvenster met de projectnaam in de VEXcode V5-werkbalk. De projectnaam is Claw Control.

  • Selecteer de sleuf waarnaar het project gedownload moet worden op de V5 Robot Brain door op het vakje 1-icoon te klikken. Zo worden alle beschikbare projectslots geopend en kunt u de gewenste sleuf selecteren.

VEXcode V5-werkbalk met een rood kader rond het groene breinpictogram. Het Brain-pictogram bevindt zich rechts van het Controller-pictogram en links van het Download-pictogram.

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

VEXcode V5-werkbalk met een rood kader rond het downloadpictogram. De pictogrammen worden van links naar rechts weergegeven: Controller, Hersenen, Downloaden, Uitvoeren en Stoppen.

  • Klik op het Download-pictogram naast het pictogram Apparaatinfo om het project te downloaden naar V5 Robot Brain.

V5 Brain Home Screen met het Claw Control-project in slot 1 in de linker benedenhoek. De rij pictogrammen hierboven luidt Drive, Apparaten, Instellingen en VEX.

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

Icoon Toolbox voor docenten Toolbox voor docenten - Optie om eerst te modelleren

Laat het project eerst aan de klas zien voordat je het aan alle studenten tegelijk laat proberen. Verzamel de studenten op één plek en plaats de Clawbot zo dat iedereen de klauw ervan kan zien. Als u van plan bent om de demonstratie meer dan één keer uit te voeren, kunt u de Klauw voorzichtig sluiten tussen de uitvoeringen door.
Vertel de leerlingen dat zij nu aan de beurt zijn om hun projecten uit te voeren.

  • Voer (inC++ofPython) het project uit op de Clawbot. Zorg ervoor dat het project is geselecteerd en druk vervolgens op de knop Uitvoeren. Gefeliciteerd met het maken van je eerste project voor het verplaatsen van de Claw!

Stap 4: Probeer dit: sluit de V5-klauw

Nu u de klauw zo geprogrammeerd hebt dat deze opengaat, kunt u hem ook programmeren om te sluiten.

Close-up van bovenaf van de V5-klauw die volledig gesloten is.

Afbeelding van de V5-klauw gesloten Nu u de klauw kunt openen, wilt u hem waarschijnlijk ook sluiten.

  • Ga terug naar je ClawControl-project en voeg een extraClawMotor.spinFor();instructietoe om de Claw Motor 30 graden gesloten te laten draaien. De klauw zou halverwege moeten sluiten, omdat hij oorspronkelijk 60 graden open is gedraaid.
  • Test of uw herziene project de klauw 60 graden open heeft en vervolgens 30 graden dicht heeft door uw ClawControl-project te downloaden en uit te voeren.

Icoon Toolbox voor docenten Teacher Toolbox - Oplossing

Voorheen opende de Claw 60 graden. In dat project was een instructie voor het instellen van een time-out voor de motor opgenomen, omdat het belangrijk is om een time-out in te stellen bij het aanzetten van een manipulator waarvan de beweging op een of andere manier beperkt kan worden. Door een time-out in te stellen voorkomt u onnodige slijtage van de motor.
Hieronder volgt de oplossing voor deze stap:

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

  ClawMotor.setPosition(0, graden);
  ClawMotor.setTimeout(2, seconden);
  ClawMotor.spinFor(achteruit, 60, graden);
  ClawMotor.spinFor(vooruit, 30, graden);

}

Stap 5: Probeer dit: Meerdere bewegingen achter elkaar uitvoeren

Close-up van bovenaf van een open V5-klauw met pijlen die naar binnen en naar buiten wijzen en de beweging van de klauw aangeven.

Afbeelding van de V5-klauw open met rode pijlen onderaan de afbeelding die de richtingen aangeven waarin de klauw kan openen en sluiten, horizontaal bewegend om objecten vast te pakken of los te latenNiet alles wat je met de klauw oppakt, zal even groot zijn. Probeer de klauw in verschillende posities binnen het bewegingsbereik te openen.

  • Laat de motor draaien om:
    • Open voor 70 graden
    • 20 graden dicht
    • Open voor 10 graden
    • Sluiten voor 30 graden
    • Dicht voor 25 graden
  • Als de klauwmotor op 0 graden start, hoeveel graden staat de klauwmotor dan open aan het einde van het project?
  • Begin met de klauwmotor gesloten.

Icoon Toolbox voor docenten Teacher Toolbox - Oplossing

De oplossing voor deze stap wordt hieronder weergegeven.
De klauwmotor staat aan het einde van het project nog steeds open op 5 graden: 70 - 20 = 50 --> 50 + 10 = 60 --> 60 - 30 = 30 --> 30 - 25 = 5 graden.

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

  // Neem de huidige positie van de Claw als nul
  ClawMotor.setPosition(0, graden);

  // Stel de time-out van de Claw
  ClawMotor.setTimeout(2, seconden);

  ClawMotor.spinFor(reverse, 70, graden);
  ClawMotor.spinFor(forward, 20, graden);
  ClawMotor.spinFor(reverse, 10, graden);
  ClawMotor.spinFor(forward, 30, graden);
  ClawMotor.spinFor(forward, 25, graden);

}

Stap 6: De Lock Tight Challenge voltooien

Close-up van de zijkant van de V5 Claw die een aluminium blikje frisdrank vasthoudt.

Close-upfoto van de V5-klauw die een blikje aluminium vasthoudt De Lock Tight-uitdaging

  • Programmeer de Clawbot om de klauw stevig op een leeg aluminium blikje van 355 ml te sluiten, zonder de zijkanten te pletten.
  • Laat de Clawbot het blikje vasthouden terwijl hij zijn arm 45 graden omhoog en omlaag beweegt.
  • De Clawbot moet het blikje vervolgens loslaten en er afstand van nemen.
  • Begin de uitdaging met een geopende klauw en een leeg blikje erin.

Tips voor leraren-pictogram Tips voor leraren

  • Laat de leerlingen de uitdaging beginnen met een geopende klauw en een leeg blikje erin.

  • Als het blik geplet wordt of uit de klauw valt, moet de uitdaging opnieuw worden gestart nadat het project is aangepast.

Icoon Toolbox voor docenten Teacher Toolbox - Oplossing

Hier is een voorbeeldoplossing:

int main() {
  // Robotconfiguratie initialiseren. NIET VERWIJDEREN!
  vexcodeInit();
  
  // Neem de huidige positie van de klauw als nul
  ClawMotor.setPosition(0, graden);
  
  // Stel de time-out van de klauw
  ClawMotor.setTimeout(2, seconden);
  
  ClawMotor.spinFor(vooruit, 170, graden);
  ArmMotor.spinFor(vooruit, 45, graden);
  ArmMotor.spinFor(achteruit, 45, graden);
  ClawMotor.spinFor(achteruit, 150, graden);
  Drivetrain.driveFor(achteruit, 150, mm);
  
}
  • Het project stelt de time-out in, sluit de klauw om het blik, tilt het blik op en laat het zakken, laat het los en rijdt vervolgens achteruit.
  • Programmeerrubriek(Google Doc / .docx / .pdf)