Workshop 3. Niveau B. Programmeren. klassikaal

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

This lesson contains 16 slides, with interactive quizzes and text slides.

time-iconLesson duration is: 120 min

Items in this lesson

Robotica Niveau B
Workshop 3: Programmeren

Slide 1 - Slide

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

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

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

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

This item has no instructions

Sturen van de robot
Als ik linksaf wil:

Wat is de opdracht voor:

Motor A? 

en Motor B?

Slide 6 - Slide

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

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

This item has no instructions

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

Bloktaal
Teksttaal

Slide 9 - Slide

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

Slide 10 - Slide

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

This item has no instructions

Blokvormen

Slide 12 - Slide

This item has no instructions

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

Slide 13 - Drag question

This item has no instructions

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

This item has no instructions

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


www.robocupjunior.nl

Slide 15 - Slide

This item has no instructions

Deze workshop was
😒🙁😐🙂😃

Slide 16 - Poll

This item has no instructions