2. Sensoren

Sensoren

In deze oefening zullen we kennis maken met de drie sensoren die jouw mBot heeft. We zullen zien hoe jij deze sensoren kan gebruiken.

Je leert:

  • De werking van de afstandssensor van je mBot.
  • Hoe je de afstandssensor kan gebruiken in een programma.
  • Hoe je de mBot obstakels kan doen vermijden.
  • Hoe de lijnsensor van je mBot werkt.
  • Programmeren dat de mBot automatisch een parcours volgt.
  • Hoe je de lichtsensor van mBot kan gebruiken in een programma.

Open het programma mBlock op je computer, zet je mBot aan en maak verbinding.

VOORBEREIDEN

Bekijk de stapjes bij 'uitvoeren'. Beantwoord nadien de volgende vragen:

  • Welke stappen moet ik volgen?
  • Welke stappen mag ik volgen?
  • Hoeveel tijd heb ik nodig?
  • Welke hulpmiddelen heb ik nodig?

UITVOEREN

Voer de stappen één voor één uit. Weet je even niet meer hoe het moet? Bekijk de hints of download de oplossing.

STAP 1

Afstand meten

ultrasonische sensor

De uitdaging is onze mBot net voor een obstakel te laten stoppen en draaien.  Hiervoor moeten we de ultrasone sensor gebruiken, die er bij onze mBot wat uitziet als zijn oogjes. 

De ene sensor zendt een (voor ons) onhoorbaar geluid uit, de andere ontvangt het terug. Het tijdsverschil tussen zenden en ontvangen is afhankelijk van de afstand dat het geluid moest afleggen. Zo kan je mBot afstanden inschatten.

Voor deze activiteit zal je dus je mBot moeten programmeren zodat hij zelfstandig door de kamer rijdt. Uiteraard zal hij voor een obstakel moeten stoppen, een draai nemen en daarna verder rijden.

Je zal al zeker een nieuw blokje nodig hebben die de afstand in de kamer meet met de ultrasonische sensor.

Kijk je eens of je dit blokje kan vinden?

blocks

Kijk zeker in welke aansluiting je kabel van je sensor (de oogjes van de robot) zit. Dit noemt een ‘poort’. Normaal gezien zitten de oogjes op poort 3.

Welke blokken ga je zeker nodig hebben.

  • Gebruik een commando “als…dan… anders...”. Wanneer moet de mBot een bocht nemen?
  • De mBot mag nergens tegen rijden, dus wanneer afstand < 15 cm dan ...
  • Hij moet altijd nakijken of er obstakels zijn.

Nu hebben we een werkend programma!

uitdaging

a) Misschien vind jij het jammer dat de mBot bij een obstakel altijd naar dezelfde kant draait. Als je wilt dat hij afwisselt tussen en links en rechts, kan je mBot een willekeurig getal laten kiezen. Afhankelijk van de waarde van dit getal, kies je tussen en linkse of rechtse bocht.

b) Kan je je mBot een geluid laten spelen altijd als hij een obstakel ziet?

c) Kan je je mBot recht achteruit laten rijden als hij een obstakel ziet en dan pas hem laten draaien?

STAP 2

Licht meten

Zou het niet logisch zijn dat we de LED’s laten branden als het donker wordt? Net zoals in sommige auto’s, of bij de straatverlichting... Daarvoor kunnen we gebruik maken van de lichtsensor op de mBot.

lichtsensor op bord

Deze geeft een waarde tussen 0 (heel donker) en 1023 (heel veel licht).

blocks

Zorg je nu dat de LED-lichtjes van mBot gaan branden als het te donker is?

Je zal een variabele moeten gebruiken. Als je alle oefeningen in Scratch al gemaakt hebt, weet je al wat een variabele juist is. Een variabele is een steeds veranderende waarde. Deze waarde moeten we een gepaste naam geven zodat we weten naar waar die verwijst.

Weet je niet hoe je een variabele aanmaakt?

Koppel de variabele aan de waarde van de lichtsensor

Wanneer moeten de lichten aan gaan?

Nu kunnen we met de “Als…dan…”-toets zeggen dat de lichten aan moeten gaan als het licht onder een bepaalde waarde komt. Anders moet het licht uit…

uitdaging

Kan je er voor zorgen dat je lichten harder gaan branden als het donkerder wordt?

STAP 3

Lijn volgen

Onderaan je mBot, net aan het bolletje dat dienst doet als voorste wieltje, zit een lijnsensor.

lijnvolg sensorwerking lijnvolg sensor
Aan de hand van de tekening begrijp je direct de werking van de sensor. In geval 0 zit je mBot volledig op de lijn, in situatie 1 en 2 zit die rechts of links van de lijn. In situatie 3 is hij de lijn kwijt.

Schrijf nu een programma die je mBot een lijn laat volgen. Is hij de lijn kwijt? Dan laat je hem automatisch stoppen.

Als “lijn” gelijk is aan 0, dan moet je robot naar voor. Als “lijn” gelijk is aan 1, dan moet je mBot naar links. Als “lijn” gelijk is aan 2, dan moet je mBot naar rechts. Gebruik de “als … dan … anders …”-blokken.

uitdaging

Probeer je de limieten van je mBot uit door te spelen met gekleurde lijnen, dikke lijnen, splitsingen,…? Ideeën vind je met deze pdf.

REFLECTEREN

Blik terug op het project dat je net maakte. Stel jezelf de volgende vragen:

  • Werkt het programma zoals ik had verwacht? Waarom wel/niet?
  • Wat werkt goed?
  • Wat werkt minder goed?
  • Hoe kan ik het anders aanpakken?