Voor de leerkracht
Leerdoelen
Na deze les kunnen de leerlingen:
- De leerling gebruikt pseudocode en schema's om complexe programmeerinstructies te plannen.
- De leerling leert een gespecialiseerd programma te ontleden om te begrijpen hoe infraroodcommunicatie tussen Ozobot-robots werkt.
- De leerling voegt afzonderlijke stukken code samen en herstructureert ze om een nieuw programma te maken.
Voorbereiding
Benodigdheden
- Mars Challenge Mat
- Tablet/computer
Materialen voor de leerkracht
Materialen voor de leerlingen
- 1 Mars-uitdagingsmat per groep
- 1 Ozobot Evo per groep
- 1 apparaat voor OzoBlockly per groep
- 8 Mars-kloofwanden per groep
Lesverloop
-
Lesverloop
Stap 1: Stap 1 – Een cruciale missie
Marsdag na Marsdag heeft onze onverschrokken Ozobot alle eerdere uitdagingen overwonnen. Nu neemt het avontuur op Mars een onverwachte wending. Ozobot kan zijn belangrijkste taak niet voltooien: een basiskamp op Mars bouwen voor toekomstige missies. Er ontbreekt een onmisbare voorraadkist. Die moet nog ergens in de zee van rood stof liggen. Zonder die kist staat onze droom van een basis op Mars op het spel. Ozobot moet op pad. Als eenzame ontdekkingsreiziger rijdt hij over het buitenaardse terrein, op een missie van het grootste belang.
Tijdens zijn zoektocht vangt Ozobot een onbekend, geheimzinnig signaal op: een fluistering in de uitgestrekte stilte van Mars. Het signaal lokt hem. Nieuwsgierig als altijd rijdt onze dappere Marsrover naar de bron. Maar Mars geeft zijn geheimen niet zomaar prijs. Zodra Ozobot dichterbij komt, gebeurt er iets onverklaarbaars: systemen haperen, lampjes flikkeren en dan valt hij uit! Elke poging put Ozobot uit. Hij moet zich terugtrekken en opladen, wat kostbare brandstof en tijd verbruikt.
- Wek de belangstelling van de leerlingen met korte video's en een klassengesprek over hoe vroegere en huidige Marsrovers van NASA met de aarde communiceren.
-
Lesverloop
Stap 2: Stap 2 – Zelfstandig door de kloof
We hebben nieuws ontvangen van onze dappere Ozobot op Mars. In een wending die net zo kenmerkend is voor Mars als het rode stof zelf, heeft Ozobot belangrijke informatie doorgestuurd: de vermiste voorraadkist is daar nog ergens. Het bakensignaal komt uit de diepte van een indrukwekkende Marskloof, een doolhof vol schaduwen en verraderlijk terrein.
De knappe koppen in het vluchtleidingscentrum staan voor een uitdaging: bedenk een programma waarmee Ozobot zelfstandig kan rijden. Dit is geen doorsnee programmeeropdracht. Ozobot moet blind door een Marskloof rijden, met onbekende bochten en wendingen. Jullie programma moet botsingen voorkomen, reageren op onverwachte obstakels en Ozobot probleemloos naar het baken leiden. Alleen jullie logica en de sensoren van Ozobot wijzen de weg.
Voorbereiding
- Geef de leerlingen de volgende voorbeeldcode: ozo.bot/b/uqg8oy
- Laat hen de code uitvoeren en met Ozobot experimenteren.
- Leg uit dat de teams met de programmeerconcepten uit de voorbeeldcode een programma moeten maken. Daarmee moet Ozobot blind door de kloof kunnen rijden, uitsluitend met behulp van zijn sensoren.
Uitdaging
- Elk team bouwt het kloofdoolhof zoals op het schema ‘Rit door de kloof’.
- Gebruik de meegeleverde kloofwanden om het doolhof te bouwen.
- Maak een programma met de meegeleverde voorbeeldcode als uitgangspunt.
- Het programma moet Ozobot door het doolhof leiden, uitsluitend met behulp van zijn nabijheidssensoren.
Laat de teams pseudocode en/of tekeningen gebruiken om te bedenken hoe ze de code gaan schrijven.
Moedig de teams aan zich voor te stellen hoe Ozobot door het doolhof rijdt en wat hij moet doen zodra hij een wand tegenkomt.
Je kunt de teams de volgende deelcode geven als uitgangspunt: ozo.bot/b/zd4pgg
De teams hoeven deze uitdaging niet op de uitdagingsmat uit te voeren. Ze kunnen het doolhof op hun tafels of op een andere vrije plek bouwen.
- Laat de teams dit programma opslaan als ‘Rit door de kloof’ en de deelcode noteren voor later gebruik.
- Hier staat een mogelijke oplossing voor een programma waarmee Ozobot zelfstandig door het doolhof rijdt: ozo.bot/b/fkw4nq
Ondersteuning
- Laat leerlingen een aangepast doolhof met minder wanden oplossen.
- Laat leerlingen een programma met bewegingsblokken maken om Ozobot door het doolhof te sturen.
- Laat leerlingen tekenen hoe Ozobot door het doolhof moet rijden, in plaats van zelf een programma te maken. Laat hen ook tekenen hoe hij beweegt wanneer hij een wand tegenkomt.
Verdieping
- Laat leerlingen een moeilijker doolhof voor Ozobot maken, met bochten van 45°.
- Laat de teams licht en geluid gebruiken om aan te geven wat Ozobot in elke fase van het doolhof doet.
-
Lesverloop
Stap 3: Stap 3 – Onzichtbaar licht
Gebruik het schema bij het bespreken van dit onderdeel.
De nabijheidssensoren aan de voor- en achterkant van Ozobot gebruiken infraroodlicht om voorwerpen te detecteren. Infraroodlicht (IR) wordt ook infraroodstraling genoemd en is een vorm van elektromagnetische straling. IR is veilig en kan als warmte worden gevoeld, maar is niet zichtbaar voor het menselijk oog. Als je bijvoorbeeld in de zon staat, is de warmte die je voelt infraroodstraling. IR maakt deel uit van het elektromagnetisch spectrum, net als radiogolven, gammastraling, microgolven, röntgenstraling, ultraviolet licht en zichtbaar licht.
De sensoren van Ozobot bestaan uit twee onderdelen:
- Een zender die een infraroodsignaal uitzendt.
- Een fotodiode die het teruggekaatste signaal ontvangt en meet. Je kunt Ozobot zo programmeren dat hij reageert op wat hij wel of niet ontvangt.
- Open het voorbeeldprogramma uit het begin van de stap ‘Zelfstandig door de kloof’.
Vraag de klas uit te leggen wat er in dit programma gebeurt.
Hoe zou je deze code stap voor stap aan iemand voorlezen?
Ken je het groene blok met ‘als/doe’?
Wat doet dit blok?
- Leg uit dat het groene blok een als-instructie is, een eenvoudige voorwaardelijke instructie: ‘Als … gebeurt, doe ….’
- Om een als-instructie te gebruiken, moet je:
- Eerst een voorwaarde vastleggen waaraan moet worden voldaan.
- Daarna binnen de als-instructie code toevoegen die het programma uitvoert wanneer aan de voorwaarde is voldaan.
- Je kunt het blok met de als-instructie aanpassen. Klik op het tandwieltje linksboven in het blok. Je ziet dat je ‘anders als’ en ‘anders’ aan de als-instructie kunt toevoegen door het gewenste blok van links naar rechts te slepen.
Met ‘anders als’ voeg je binnen de oorspronkelijke als-instructie een extra voorwaarde toe. Het programma controleert deze voorwaarde en voert de bijbehorende code uit als eraan is voldaan.
Met ‘anders’ leg je vast welke actie wordt uitgevoerd als niet aan de voorwaarde van de als-instructie is voldaan, in plaats van niets te doen. - Geef de leerlingen tijd om de sensorblokken van niveau 3 en niveau 4 te verkennen, samen met de bijbehorende als-instructies die de voorwaarden en de acties vastleggen.
Hier staat voorbeeldcode die leerlingen kunnen onderzoeken en ontleden om beter te begrijpen hoe sensorblokken en als-instructies samenwerken. Daarmee kan Ozobot zijn omgeving waarnemen en erop reageren. Laat de leerlingen hun handen voor en achter Ozobot houden terwijl het programma wordt uitgevoerd. Deelcode: ozo.bot/b/zmpksj
-
Lesverloop
Stap 4: Stap 4 – Te ver gegaan
Terwijl Ozobot dieper de Marskloof in rijdt, leidt een zwak maar aanhoudend geheimzinnig signaal hem door een doolhof van buitenaards terrein. Onze trouwe Marsrover wordt onweerstaanbaar naar de bron getrokken. Maar met elke meter gebeurt er iets vreemds: lampjes knipperen onregelmatig, systemen haperen en plotseling wordt alles donker. Getroffen door een onbekende kracht op Mars valt onze rover uit. In het rode Marsstof blijven meer vragen dan antwoorden achter.
Voorbereiding
- Koppel voor dit deel van de les steeds twee teams aan elkaar en noem ze team 1 en team 2. Elk team krijgt een werkend programma. De teams zetten hun Ozobots tegenover elkaar, op enkele centimeters afstand van elkaar. Daarna starten ze de twee programma's tegelijk.
Team 1 voert programma 1 uit: Ozobot draait langzaam rond en zendt voortdurend het geheimzinnige signaal uit. Deelcode: ozo.bot/b/dj8236
Team 2 voert programma 2 uit: Ozobot rijdt naar Ozobot 1, probeert het geheimzinnige signaal te ontcijferen en schakelt uiteindelijk uit. Deelcode: ozo.bot/b/h3nmqf - Laat de teams de twee programma's meerdere keren uitvoeren. Ze observeren wat de robots doen en proberen de gekregen code te begrijpen. Let op: de robot die programma 2 uitvoert, verbreekt de verbinding met het apparaat zodra hij het signaal heeft ontvangen. Dat komt door het blok dat het programma beëindigt.
Stel de volgende vragen om de klas op weg te helpen:
- Welke blokken verzenden het IR-bericht?
Het blok ‘Bericht starten’ in programma 1. - Welke blokken ontvangen het IR-bericht?
Het blok ‘Bericht ophalen’ in programma 2. - Welke blokken controleren of het juiste bericht is opgehaald?
Het blok met de als-instructie (voorwaarde) helpt bepalen of het juiste bericht is ontvangen en voert de instructies uit als aan de voorwaarde is voldaan. - Wat betekent het getal 10 in beide programma's?
10 is het ‘bericht’ dat wordt uitgezonden en opgehaald. Het is een 8-bits getal, met een bereik van -128 tot 127.
Het getal van het opgehaalde bericht moet overeenkomen met het getal van het uitgezonden bericht om de programma's te laten samenwerken. - Wat gebeurt er wanneer Ozobot 2 het bericht van Ozobot 1 ophaalt?
- Welke blokken zorgen ervoor dat Ozobot 2 uitschakelt?
Zodra aan de voorwaarde van de als-instructie is voldaan (bericht 10 is opgehaald), zorgt de code ervoor dat Ozobot 2 de herhaling verlaat. Daardoor gaat hij verder met het volgende deel van het programma. Dat geeft Ozobot 2 de opdracht het programma te beëindigen en uit te schakelen.
Uitdaging
- De teams combineren nu het programma ‘Rit door de kloof’ met programma 2 tot één eindprogramma.
Ozobot moet opnieuw door het doolhof rijden, uitsluitend met behulp van zijn nabijheidssensoren. Maar deze keer komt Ozobot het geheimzinnige signaal tegen.
Zodra Ozobot het signaal ontvangt, moet hij uitschakelen.
Laat de teams dit programma opslaan als ‘Ontmoeting’ en de deelcode noteren voor later gebruik. - De teams werken opnieuw samen met een ander team om hun eindprogramma's te testen.
Het ene team zet Ozobot in het doolhof en voert programma 1 uit. Ozobot draait langzaam rond en zendt het IR-bericht uit.
Het andere team zet Ozobot aan het andere uiteinde van het doolhof en voert de samengevoegde code uit. Daarmee rijdt Ozobot door het kloofdoolhof en schakelt hij uit zodra hij het IR-bericht ontvangt.
Net als bij de stap ‘Zelfstandig door de kloof’ helpt het als de teams pseudocode en/of tekeningen gebruiken om te bedenken hoe ze de code gaan schrijven.
Bekijk beide programma's. Waar moet programma 2 in het programma voor zelfstandig rijden worden ingevoegd? Welke onderdelen horen waar?
Als teams vastlopen, kun je hun deze deelcode geven: ozo.bot/b/dppa66
De teams hoeven deze uitdaging niet op de uitdagingsmat uit te voeren. Ze kunnen het doolhof op hun tafels of op een andere vrije plek bouwen waar genoeg ruimte is voor twee teams.
Hier staat een mogelijke oplossing voor een programma waarmee Ozobot zelfstandig door het doolhof rijdt en op het geheimzinnige signaal reageert: ozo.bot/b/av494b
Ondersteuning
- Geef de leerlingen de benodigde start- en voorbeeldcode.
Verdieping
- Laat de teams lichteffecten, geluiden en bewegingen toevoegen om het uitschakelen van Ozobot levendig en overdreven uit te beelden.
- Laat de teams code toevoegen waardoor Ozobot zich omdraait en wegrijdt van het geheimzinnige signaal voordat hij uiteindelijk uitschakelt.
- Koppel voor dit deel van de les steeds twee teams aan elkaar en noem ze team 1 en team 2. Elk team krijgt een werkend programma. De teams zetten hun Ozobots tegenover elkaar, op enkele centimeters afstand van elkaar. Daarna starten ze de twee programma's tegelijk.
-
Lesverloop
Stap 5: Stap 5
- Je kunt de denkroutine ‘Denken, vragen stellen, verkennen’ (opent in een nieuw tabblad) van Project Zero gebruiken om een klassengesprek te begeleiden. Moedig de teams aan terug te kijken op wat ze hebben geleerd, te benoemen wat ze nog niet weten en te bedenken wat ze verder willen leren.
Voor de leerlingen
Door de kloof
Help Ozobot de vermiste voorraadkist te vinden. Programmeer hem om zelfstandig door een Marskloof te rijden en op een geheimzinnig signaal te reageren.
Je hebt nodig
- Mars-uitdagingsmat
- Ozobot Evo
- Apparaat met OzoBlockly
- 8 Mars-kloofwanden
- Voorbeeldcode voor de opdrachten
Zo ga je te werk
Stap 1: Ontdek de missie
Bekijk de video’s over communicatie met Marsrovers. Bespreek hoe een rover contact houdt met de aarde.
Stap 2: Bouw het kloofdoolhof
Bouw het doolhof met de Mars-kloofwanden volgens het schema ‘Rit door de kloof’. Open de voorbeeldcode: https://ozo.bot/b/uqg8oy. Voer de code uit en kijk wat Ozobot doet. Bedenk met pseudocode of een tekening hoe Ozobot met zijn nabijheidssensoren door het doolhof kan rijden. Maak en test je programma. Sla het op als ‘Rit door de kloof’ en noteer de deelcode.
Stap 3: Onderzoek de sensoren
Open de voorbeeldcode opnieuw. Bekijk hoe de sensorblokken en als-instructies samenwerken. Voer het programma uit en houd je handen voor en achter Ozobot. Bespreek wat er gebeurt.
Stap 4: Ontmoet het signaal
Werk samen met een ander team. Je leerkracht geeft elk team het juiste voorbeeldprogramma. Voer samen de twee voorbeeldprogramma’s uit en kijk wat de Ozobots doen. Combineer daarna ‘Rit door de kloof’ met het programma dat het signaal ontvangt. Zorg dat Ozobot door het doolhof rijdt en uitschakelt zodra hij het signaal ontvangt. Sla je programma op als ‘Ontmoeting’ en noteer de deelcode. Test het programma samen met het andere team.
Stap 5: Kijk terug
Bespreek met je team wat je hebt geleerd, wat je nog wilt weten en wat je verder wilt onderzoeken.
Werkkaarten
De werkkaarten zitten in de PDF van deze les. Print ze op 100% (werkelijke grootte), niet op “passend maken”: dan rijdt Ozobot precies over de lijnen.
Download de les met alle werkkaarten (PDF) (opent in een nieuw tabblad)
Video’s
SLO-leerdoelen
Met deze les werk je aan de volgende leerdoelen voor digitale geletterdheid (computational thinking) van SLO:
- 5.1 Opdelen van een eenvoudige taak in deeltaken. Probleemdecompositie
- 7.9 Representeren en communiceren van een algoritme door middel van codes en symbolen. Algoritmes en procedures
- 7.11 Ontdekken van fouten in algoritmes door logisch redeneren en verbeteren hiervan (debugging). Algoritmes en procedures
- 7.12 Opdoen van praktische ervaring met een programmeeromgeving (software). Algoritmes en procedures




