-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Deze bibliotheek biedt een makkelijke en leuke manier om de basis van het programmeren van forks en loops in Python te leren. Je kan een robotarm programmeren die dozen van één stapel naar een andere stapel kan verplaatsen. Daarnaast kun je ook diverse instructies aan je robotarm geven om bijvoorbeeld de kleur van een doos te achterhalen, hiermee zou je dus dozen kunnen stapelen op basis van kleur. Je kunt de robotarm ook zelf besturen met jouw toetsenbord, om uit te vogelen hoe je dozen het beste kan verplaatsen. Maar daarna gaan automatiseren!
- Begin met het maken van een python programma met de volgende inhoud:
# Robotarm bibliotheek inladen
from RobotArm import RobotArm
# Een of meer challenges importeren. Er zijn challenges beschikbaar voor beginners en gevorderen
from robotArmChallenges import challenge_example
# De robotarm opstarten met de challenge en op een bepaald level: 0, 1, 2 of 3
robotArm = RobotArm(challenge_example, 0)
# Jouw python instructies zet je vanaf hier:
# Na jouw code een raport opvragen en wachten tot het sluiten van de window:
robotArm.report()
- Installeer de laatste versie Python op jouw computer
- Installeer de pygame module in de terminal met: pip install pygame
- Plaats de RobotArm.py en de robotArmChallenges.py in dezelfde map als jouw python programma, bijvoorbeeld example.py
- Test of je code werkt door het in de terminal op te starten met: python example.py
- Check in de terminal welke fouten er worden gegeven bij de uitvoering van jouw programma
- Voor meer info over de vele mogelijkheden van de robotarm lees ook de documentatie in RobotArm.py
- Als de robotarm jouw code niet goed kan uitvoeren, dan krijg je een melding. Bijvoorbeeld hit right border! wanneer de robotarm te ver naar rechts moet.
- Als de robotarm onnodige acties uitvoert, dan krijg je waarschuwingen
- Het level bepaalt de criteria waaraan de code moet voldoen:
- 0: geen criteria, er wordt nergens op gelet
- 1: de code moet de dozen volgens de challenge verplaatsen; errors zijn niet toegestaan.
- 2: als level 1 en bovendien mag het aantal coderegels het opgegeven maximum van de challenge niet overschrijden
- 3: als level 2 en bovendien mag het aantal robotarm-acties het opgegeven maximum van de challenge niet overschrijden; waarschuwingen niet toegestaan
Verplaats de robotarm één stapel naar rechts.
robotArm.moveRight();
Verplaats de robotarm één stapel naar links.
robotArm.moveLeft()
Grijp het bovenste blok van een stapel. Dat werkt natuurlijk alleen als de robotarm nog geen blok vast heeft.
robotArm.grab()
Plaats het blok wat de robotarm vast heeft boven op de stapel waar de robotarm zich boven begeeft. Dit werkt natuurlijk alleen als de robotarm een blok vast heeft.
robotArm.drop()
Geeft de kleur van het blok dat de robotarm op dat moment vast heeft. Indien de robotarm geen blok vast heeft geeft hij als kleur de waarde '', dus een lege string.
color = robotArm.scan()
Geeft True als de stack onder de robotarm leeg is, anders False. Dit kan je gebruiken om te voorkomen dat de robotarm onnodig moet grijpen waar geen doos meer is.
if not robotArm.stackEmpty(): robotArm.grab()
Geeft de stackpositie van de robotarm. Dit kan je gebruiken om te bepalen hoeveel je de arm moet verplaatsen.
while robotArm.stackIndex() < 9: robotArm.moveRight()
Toon het rapport van de mission. In een mission doe je de challenge op een bepaald level. Heb je de dozen op de juiste manier verplaatst? Is het aantal coderegels minimaal? Is het aantal acties beperkt? Heb je geen errors? Heb je geen waarschuwingen?
robotArm.report()
Wacht met verdere uitvoering van het programma.
robotArm.wait()
Ga de robotarm bedienen met jouw pijltjes toetsen. Maar het is leuker om bepaalde ingewikkelde opdrachten te automatiseren met jouw programma.
robotArm.operate()
Toont de solution, dus hoe de dozen verplaatst moeten zijn. Als je niet weet wat de bedoeling van de challenge is gebruik je deze methode. Na showSolution() stopt de verdere werking van de robotarm.
robotArm.showSolution()
Bepaalt de snelheid waarmee de robotarm beweegt. Standaard staat deze op 1. De minimale waarde is 0 (echt sloom) en de maximale waarde die je kunt opgeven is 5. Je kunt de snelheid ook verhogen en verlagen tijdens het runnen van de code met de pijltjestoetsen: omhoog en omlaag!
robotArm.speed = 5