Workshop 3. Niveau B. Programmeren. klassikaal

Robotica Niveau B
Workshop 3: Programmeren
1 / 16
volgende
Slide 1: Tekstslide
TechniekBasisschoolGroep 7,8

In deze les zitten 16 slides, met interactieve quizzen en tekstslides.

time-iconLesduur is: 120 min

Onderdelen in deze les

Robotica Niveau B
Workshop 3: Programmeren

Slide 1 - Tekstslide

Welkom bij deze les waarin we aan de slag gaan met programmeren.
Programmeren
Wat is programmeren? 

Het schrijven van een computerprogramma,
zodat de robot weet wat zijn taak is 
en hoe hij deze taak moet uitvoeren.

Slide 2 - Tekstslide

Deze workshop gaat over programmeren.
Wat is programmeren?
Als een robot niet is geprogrammeerd kan de robot helemaal niets doen.
Dus: Door de robot te programmeren weet de robot welke taak hij moet uitvoeren.

Aan het eind van de les heb jij je eigen manybot geprogrammeerd.

-------
In het geval de leerlingen ook niveau A hebben gevolgd:

Bij de Anybot zagen we dat we de robot een taak kunnen laten uitvoeren, bijvoorbeeld volg het licht. Wil je de taak van de robot veranderen bijvoorbeeld ga weg van het licht, dan moet je de draden van de robot anders aansluiten.
Dat is natuurlijk niet zo handig.
Als je de robot programmeert dan kan je een verandering van de taak vooraf aan de robot doorgeven.
Op deze manier kan je de robot veel meer verschillede dingen laten doen en ben je veel flexibeler.
Handig dat programmeren!

Raspberry pi pico
Met de computer kan je de
microcontroller programmeren.
De informatie van de sensor
gaat de microcontroller in.
De microcontroller geeft
informatie aan de motor.

Slide 3 - Tekstslide

De microcontroller is de verbinder tussen verschillende apparaten.
De microcontroller moet eerst geprogrammeerd worden. Dat doen we door middel van de computer. We vertellen de microcontroller dan wat hij moet doen met informatie die de microcontroller ontvangt.
De microcontroller kan informatie ontvangen van bijvoorbeeld een sensor. Op basis van deze informatie weet de microcontroller of hij iets moet doen, bijvoorbeeld de motor aan of uit zetten. 

Pinout
Pin#
GP#
sensor / motor + richting
4
2
rechter sensor
5
3
linker sensor
14
10
B (rechts)achteruit
15
11
B (rechts) vooruit
16
12
A (links) vooruit
17
13
A (links) achteruit

Slide 4 - Tekstslide

Bij het programmeren is het belangrijk om te weten op welke plek, met welke pin, de sensoren en de motoren gekoppeld zijn aan de raspberry pi pico.
Deze gegevens vind je op de pinout.

Als we dit weten kunnen we de raspberry pi pico opdracht geven om bijvoorbeeld te lezen wat de pin zegt waaraan de sensor is gekoppeld.

Het GP# (General Purpose nummer) gebruiken we bij het programmeren van de raspberry pi pico.

Dus welk GP# moeten we uitlezen om te weten of de rechtersensor iets 'ziet'? Inderdaad: GP2.

Dus welk GP# moeten we aan-zetten om te zorgen dat de linkermotor vooruit gaat draaien? Inderdaad: GP13.





Stel mijn sensor is verbonden met pin 5. 
Welk GP# moet ik gebruiken bij het programmeren?
A
7
B
0
C
GND
D
3

Slide 5 - Quizvraag

Deze slide heeft geen instructies

Sturen van de robot
Als ik linksaf wil:

Wat is de opdracht voor:

Motor A? 

en Motor B?

Slide 6 - Tekstslide

Wat met de robot doen als hij aan de rechterkant een object ziet en deze wil ontwijken?
Antw: naar links draaien.

Hoe kunnen we zorgen dat de robot naar links gaat? (de robot heeft immers geen stuur)

Wat moeten we dan als opdracht geven aan het linkerwiel (A)? en aan het rechterwiel (B)? Antw: De snelheid van het wiel B moet groter zijn dan de snelheid van wiel A.

Je zou het bijvoorbeeld zo kunnen programmeren:
Wat moeten we dan als opdracht geven aan het linkerwiel (A)?  stop (achteruit kan ook, maar we gaan nu verder met stop)

Wat moeten we dan als opdracht geven aan het rechter wiel (B)? Vooruit
Sturen van de motoren
Linksaf: motor B vooruit. motor A stop
pin#
GP#
motor + richting
waarde
14
10
B (rechts) achteruit
0
15
11
B (rechts) vooruit
65000
16
12
A (links) achteruit
0
17
13
A (links) vooruit
0

Slide 7 - Tekstslide

Nu moeten we deze opdracht doorgeven aan de robot.

Om motor B vooruit te laten gaan moet GP10 op 0 en GP11 op 65000

Om motor A te laten stoppen moet GP12 op 0 en GP13 op 0

Stel ik wil rechtsaf met de robot. Welke opdracht moet ik geven aan Motor A en Motor B?
A
A:stop en B:vooruit
B
A: achteruit en B: achteruit
C
A:vooruit en B:stop
D
A: achteruit en B: vooruit

Slide 8 - Quizvraag

Deze slide heeft geen instructies

Programmeertalen
Hoe geven we opdrachten door aan de robot?
Met een programmeertaal. Er zijn bloktalen en teksttalen.

Bloktaal
Teksttaal

Slide 9 - Tekstslide

Wij gaan de bloktaal gebruiken, want dan maak je minder gemakkelijk een typefoutje.
Mirte.org/ide
1
2
3
4

Slide 10 - Tekstslide

Wij gaan gebruik maken van mirte.org/ide.
Laten we kijken hoe dat eruit ziet.

Er zijn 4 velden:
1) balk met knoppen:
Hier kan je: verbinding maken met de robot, je bestanden opslaan en het script uitvoeren.
2) Midden veld: Hier plaats je de blokken. Zij vormen samen je script.
3) kolom aan de linker kant: hier vind je al de blokken die je kunt gebruiken om je script te maken.
4) kolom aan de rechter kant: De output: Hier komt de informatie die de sensor geeft.
Mirte.org/ide blokken

Slide 11 - Tekstslide

Deze slide heeft geen instructies

Blokvormen

Slide 12 - Tekstslide

Deze slide heeft geen instructies

Analoog
Sleep naar het juiste vak
Digitaal
1 of 0
tekst
waar of onwaar
65000

Slide 13 - Sleepvraag

Deze slide heeft geen instructies

Werkblad: Stappenplan
  • Stap 1: Mirte.org/ide openen en de Manybot verbinden
  • Stap 2 & 3: Wielen: vooruit, achteruit, stop + Testen
  • Stap 4 & 5: Robot: linksaf, rechtsaf, vooruit, achteruit, stop + Testen
  • Stap 6 & 7: Sensoren uitlezen en koppelen aan een actie
  • Stap 8: Het hoek-probleem oplossen
  • Extra: De Manybot een show laten opvoeren

Slide 14 - Tekstslide

Deze slide heeft geen instructies

Tot slot
Vind je het programmeren van robots tof! Doe dan eens mee aan een Robocup Junior Wedstrijd!


www.robocupjunior.nl

Slide 15 - Tekstslide

Deze slide heeft geen instructies

Deze workshop was
ūüėíūüôĀūüėźūüôāūüėÉ

Slide 16 - Poll

Deze slide heeft geen instructies