Lernmaterial SmartShirt - Hinweise und Lösungen für Lehrpersonen - im Smartfeld
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Lernmaterial SmartShirt Hinweise und Lösungen für Lehrpersonen Idee: Die Schülerinnen und Schüler programmieren verschiedene Funktionen für ein Veloshirt, ähnlich der Emoji-Jacke von Ford (https://www.youtube.com/watch?v=g756nqX-jUU&feature=youtu.be). Zeitbedarf: 2 bis 4 Lektionen Stufe: 7. – 9. Klasse Voraussetzungen: Der Besuch des SmartShirt-Workshops im Smartfeld wird vorausgesetzt. Anknüpfung an Die Aufgabe zum Veloshirt aus dem SmartShirt-Workshop wird aufgegriffen SmartShirt- und weitergeführt. Workshop: Es wird mit den gleichen Materialien aus dem Workshop gearbeitet. Neu kommen der Ultraschallsensor, der Beschleunigungssensor und der Gestensensor dazu. Auch die im Workshop eingeführten Programmierkonzepte werden nochmals behandelt. Lernmöglichkeiten: Ultraschallsensor, Beschleunigungssensor, Gestensensor, Schleifen, Debuggen, Programmierprinzipien: E.V.A., Teile und Herrsche, Don’t Reply Yourself, Keep It Simple and Stupid Materialien: SmartShirt-Kisten, Schülerdossier, Lehrerdossier, Dateien mit den Aufträgen Aufbau: Das Aufgabensetting handelt um das Veloshirt. Alle Aufgaben haben einen direkten Bezug dazu. In verschiedenen Aufgaben sollen neue Funktionen für das Veloshirt programmiert werden. Die Unteraufgaben sind im Schwierigkeitsgrad steigend, ebenso die Aufgaben als Ganzes. Der Auftrag 5* ist eine anspruchsvolle Zusatzaufgabe, welche die schnellen Schülerinnen und Schüler abfangen soll. Wenn die Zeit nicht reicht, soll diese Aufgabe übersprungen und direkt mit Auftrag 6 weitergemacht werden. Im Auftrag 6 wurden alle Funktionen zusammengefasst und als Debug- Aufgabe verpackt. Mit dem Lösen dieser Aufgabe hat man ein Veloshirt, was über fast alle erarbeiteten Funktionen aus den vorangegangenen Aufgaben verfügt. Der Auftrag 6 bildet den Abschluss des Dossiers.
Didaktische Das Dossier für die Schülerinnen und Schüler ist so konzipiert, dass in der Hinweise: Datei einer neuen Aufgabe jeweils die Lösung der vorherigen Aufgabe darin enthalten ist. Es gibt jeweils offen formulierte Zusatzaufgaben. So kann gewährleistet werden, dass schnellere Schülerinnen und Schüler nicht davonziehen. Im Dossier werden verschiedene Prinzipien wie DRY, KISS oder Teile & Herrsche vermittelt, welche beim Programmieren unterstützen. Hinweise zum Das Dossier für die Schülerinnen und Schüler ist so aufgebaut, dass die Schülerdossier: Jugendlichen selbständig daran arbeiten können. Zudem gibt es Tipps, welche die Schülerinnen und Schüler durchlesen können, falls sie Hilfe benötigen. Die Schülerinnen und Schüler lernen nach und nach verschiedene Programmierprinzipien kennen, welche sie beim Programmieren unterstützen. Hinweise zu den Die Lösungen sind als Vorschlag zu verstehen. Häufig gibt es verschiedene Lösungen: Lösungsmöglichkeiten für ein Programm. Verankerung im MI.2.1.i: Die Schülerinnen und Schüler können logische Operatoren Lehrplan: verwenden (und, oder, nicht). MI.2.2.e: Die Schülerinnen und Schüler verstehen, dass ein Computer nur vordefinierte Anweisungen ausführen kann und dass ein Programm eine Abfolge von solchen Anweisungen ist. MI.2.2.f: Die Schülerinnen und Schüler können Programme mit Schleifen, bedingten Anweisungen und Parametern schreiben und testen. MI.2.2.g: Die Schülerinnen und Schüler können selbstentdeckte Lösungswege für einfache Probleme in Form von lauffähigen und korrekten Computerprogrammen mit Schleifen, bedingten Anweisungen und Parametern formulieren. MI.2.2.h: Die Schülerinnen und Schüler können selbstentwickelte Algorithmen in Form von lauffähigen und korrekten Computerprogrammen mit Variablen und Unterprogrammen formulieren. MI.2.3.l: Die Schülerinnen und Schüler kennen die wesentlichen Eingabe-, Verarbeitungs- und Ausgabeelemente von Informatiksystemen und können diese mit den entsprechenden Funktionen von Lebewesen vergleichen (Sensor, Prozessor, Aktor und Speicher). 2
Auftrag 1 Nachricht Prinzip: DRY (Don’t Repeat Yourself): Dieses Prinzip hilft dir darauf zu achten, dass in deinem Programmcode keine Befehle doppelt vorkommen. Benutze dazu Wiederholungsschleifen. Weiter soll es nur einen Ort für Anpassungen geben. Alle Steuerbefehle gehören an den Anfang des Programms. Nutze dazu Funktionen und Variablen. Dadurch können Teile in deinem Programm schneller geändert werden. Gleichzeitig kannst du so die Fehlerrate reduzieren. Ziel: Das Smartshirt soll auf Knopfdruck eine Nachricht anzeigen. 1. Ziehe die Datei microbit-Auftrag-1-Nachricht.hex in den Browser. Schliesse die Matrix an Pin P2 an. Wenn Knopf A gedrückt wird, soll auf der Matrix für drei Sekunden ein Smiley angezeigt werden. Danach soll das Bild gelöscht werden. 2. Wenn Knopf B gedrückt wird, soll auf der Matrix für fünf Sekunden ein Warnsignal angezeigt werden. Danach soll das Bild gelöscht werden. 3. Wenn beide Knöpfe gleichzeitig gedrückt werden, soll die Matrix fünf Mal rot blinken. Nutze für die Pausenzeit die Variable «Pause». Tipps: 1. Kontrolliere, ob du den richtigen Pin ansprichst. 2. Beim Blinken sollen abwechslungsweise die LEDs leuchten und nicht leuchten. Mit «Clear Matrix» gehen alle LED-Lämpchen aus. 3. Auch für das «nicht leuchten» braucht es eine Zeitangabe. Zusatz: Untersuche: Was passiert, wenn du auf Knopf A drückst und dann gleich auf Knopf B? Wie könnte man dieses Problem beheben? Verbessere: Ändere dein Programm so, dass Smiley und Warnsignal nur angezeigt werden, solange der entsprechende Knopf gedrückt bleibt. 3
Lösung 1 Nachricht Lösung: Lösung Die Animation bei Knopf A wird fortgeführt, bis sie fertig ist. Erst dann wird die Zusatz: Animation bei Knopf B angezeigt. Bei der grossen LED-Matrix kann die Animation nicht unterbrochen werden. 4
Auftrag 2a Abstand Prinzip: Teile und Herrsche: Mit Hilfe von diesem Prinzip kannst du ein zu schwierig erscheinendes Problem in kleinere und einfachere Teilprobleme zerlegen. Diese sind dadurch «beherrschbar». Danach kannst du die Teillösungen zusammenfügen und hast somit das Gesamtproblem gelöst. Ziel: Das Smartshirt soll unterschiedliche Warnhinweise anzeigen, je nach dem welchen Abstand das hintere Fahrzeug zu dir hat. Nutze dazu das Prinzip «Teile und Herrsche». 1. Ordne die drei Teilprobleme vom einfachsten zum schwierigsten. Begründe! Teilproblem: Teilproblem: Teilproblem: Warnsignal bei zu kleinem Je nach Abstand werden Abstand messen Abstand anzeigen andere Signale angezeigt. 2. Ziehe die Datei microbit-Auftrag-2a-Abstand.hex in den Browser. Lade die Datei auf den micro:bit. 3. Der micro:bit zeigt dir nun an, welche Reihenfolge die richtige ist. Drücke auf den Knopf, der oben rechts im Bild ist. Die Zahl gibt dir an, an welcher Stelle dieses Problem ist. 1 = einfachstes Problem → soll zuerst gelöst werden 3 = mittleres Problem → soll als Zweites gelöst werden 3 = schwierigstes Problem → soll erst ganz am Schluss gelöst werden 4. Im Programmcode ist die Begründung versteckt. Links neben «Wenn Knopf A+B gedrückt» ist ein kleines Textsymbol. Drücke auf das Symbol und lese die Begründung durch. 5
Lösung 2a Abstand Lösung: Teilproblem: Teilproblem: Teilproblem: Abstand messen Warnsignal bei zu kleinem Je nach Abstand werden Abstand anzeigen andere Signale angezeigt. 1. Abstand messen: Zu Beginn möchten wir nur den Abstand messen. So sehen wir direkt, ob der Sensor auch funktioniert und sich so verhält, wie wir das erwarten. 2. Warnsignal bei zu kleinem Abstand anzeigen: Da wir jetzt wissen, dass der Sensor funktioniert und sich richtig verhält, können wir im nächsten Schritt eine einfache Bedingung einfügen. Hier überprüfen wir wieder, ob das Programm funktioniert. Erscheint das Warnsignal nur dann, wenn der gewählte Abstand unterschritten wird? 3. Je nach Abstand werden andere Signale angezeigt: Wir wissen jetzt, dass der Sensor unsere Bedingung erkennt. Nun können wir weitere Bedingungen hinzufügen. Wenn danach noch ein Fehler auftreten sollte, können wir Probleme mit dem Sensor bereits ausschliessen. Das Prinzip unterstützt uns also nicht nur dabei, ein schwieriges Programm zu meistern, es hilft uns auch bei der Fehlersuche. 6
Auftrag 2b Abstand Ziel: Das Smartshirt soll unterschiedliche Warnhinweise anzeigen, je nach dem welchen Abstand das hintere Fahrzeug zu dir hat. Nutze dazu das Prinzip «Teile und Herrsche». 1. Ziehe die Datei microbit-Auftrag-2b-Abstand.hex in den Browser. Schliesse den Ultraschallsensor an Pin P1 an. Der Ultraschallsensor kann die Entfernung zu einem Hindernis messen. Zeige an, wie gross die Entfernung in cm ist. 2. Auf der Matrix soll ein Warnsignal aufleuchten, wenn der Abstand zu einem Hindernis weniger als 2m ist. 3. Wenn der Abstand genügend gross ist, soll die Matrix grün leuchten. Ist der Abstand gerade noch okay, soll ein Warnsignal angezeigt werden. Wenn der Abstand deutlich zu klein ist, soll die Matrix rot leuchten. Tipps: 1. Kontrolliere, ob du den richtigen Pin ansprichst. 2. Wähle zuerst eine kurze Distanz, damit du dein Programm einfacher überprüfen kannst. Wenn es funktioniert, kannst du den Abstand erhöhen. Zusatz: Untersuche: Wie gross kannst du die Distanz einstellen, damit es noch zuverlässig funktioniert? Überlege: Wie funktioniert ein Ultraschallsensor? 7
Lösung Ein Ultraschallsensor sendet Ultraschallwellen aus. Diese werden an Objekten Zusatz: reflektiert und vom Ultraschallsensor wieder empfangen. Der Sensor misst nicht die Distanz, sondern die Zeit welche die Schallwellen nach dem Aussenden brauchen, bis sie wieder zurückkommen. Anhand der Wellenlänge und der Zeit kann dann der Abstand berechnet werden. Abbildung 1: Ultraschallsensor (Bildquelle: https://codingworld.io/project/der-ultraschallsensor) 9
Auftrag 3 Bremsen Prinzip: KISS (Keep It Simple and Stupid): Dieses Prinzip fordert dich dazu auf, dein Programm möglichst einfach zu halten. Komplizierte Elemente sollen durch einfachere ersetzt werden. Dadurch lässt sich das Programm besser testen. Ziel: Das Smartshirt soll beim Bremsen ein Warnsignal anzeigen. Nach dem Prinzip «KISS» soll das Programm so einfach wie möglich gestaltet werden. Stecke deshalb die grosse LED-Matrix aus und programmieren das Signal auf der kleinen Matrix direkt auf dem micro:bit. Wenn du beim Auftrag 2b die dritte Teilaufgabe lösen konntest, wähle hier die schwierige Variante. Einfach: Ziehe die Datei microbit-Auftrag-3_einfach-Bremsen.hex in den Browser. Schwierig: Ziehe die Datei microbit-Auftrag-3_schwierig-Bremsen.hex in den Browser. Beim Bremsen erfährt der micro:bit eine Beschleunigung. Während die Beschleunigung einen bestimmten Wert überschreitet, soll ein Warnhinweis angezeigt werden. Lade das Programm herunter und schliesse den micro:bit an den Akku an. Nun kannst du das Programm ausprobieren, in dem du den micro:bit mit dem Akku in deiner Hand schnell oder langsam in verschiedene Richtungen bewegst. Tipps: 1. Der micro:bit hat ein Koordinatensystem mit x-Achse, y-Achse und z-Achse. Welche Achse zeigt in welche Richtung? Teste! 2. Wenn du die Beschleunigung zu klein wählst, kommt der Warnhinweis bereits bei einer leichten Bewegung. Wenn du sie zu gross wählst, kommt der Warnhinweis nie. Teste! 3. Überlege, ob die Beschleunigung beim Bremsen ein positives oder negatives Vorzeichen hat. Zusatz: Verbessere: Verändere dein Programm so, dass bei leichtem Bremsen ein Bremslicht angezeigt wird und bei starkem Bremsen das Warnsignal. Überlege: Wie funktioniert ein Beschleunigungssensor? 10
Lösung 3 Bremsen Lösung: Lösung Zusatz: Beschleunigungssensoren machen sich die Trägheitskraft zu Nutze. Eine Masse wird beweglich aufgehängt, zum Beispiel an einer Feder. Bewegt man nun den Sensor (das Gehäuse), bleibt die frei bewegliche Masse aufgrund ihrer Trägheit an ihrer ursprünglichen Position. Weil das Gehäuse bewegt wird, die Masse aber nicht, wird die Feder gespannt. Es wirkt eine Kraft, woraus dann die Beschleunigung berechnet werden kann. 11
Abbildung 2: Beschleunigungssensor (Bildquelle: https://www.leifiphysik.de/elektrizitaetslehre/elektromagnetische- schwingungen/aufgabe/beschleunigungssensor-abitur-2015-ph11-a2-3) 12
Auftrag 4 Blinken Prinzip: E.V.A.: EVA steh für Eingabe, Verarbeitung und Ausgabe. Es beschreibt das Grundprinzip der Datenverarbeitung. Zuerst erfolgt die Eingabe durch ein Eingabegerät (z.B. Tastatur, Knopfdruck) beziehungsweise einen Sensor. Danach werden die Daten gemäss deinem Programm im Prozessor verarbeitet. Anschliessend erfolgt eine Ausgabe, beispielsweise durch einen Lautsprecher oder das Leuchten von LED- Lämpchen. Ziel: Wenn du mit dem Fahrrad abbiegen möchtest, gibst du ein Handzeichen. Dieses Handzeichen soll nun zusätzlich durch einen blinkenden Pfeil auf deinem SmartShirt unterstützt werden. Da die Knöpfe aber schon mit den Nachrichten belegt sind (Auftrag 1), brauchst du eine andere Eingabemöglichkeit. 1. Ziehe die Datei microbit-Auftrag-4-Blinken.hex in den Browser. Schliesse den Gestensensor an Pin I2C an. Probiere verschiedene Gesten aus. 2. Auf der kleinen LED-Matrix auf dem micro:bit soll nun ein Pfeil nach links blinken, wenn du nach links wischst und nach rechts, wenn du nach rechts wischst. 3. Zusätzlich soll noch eine Fahrradklingel mit dem Gestensensor gesteuert werden. Schliesse den Lautsprecher an Pin P0 an. Programmiere eine laute Klingel, die aber nur kurz läutet. Tipps: Kontrolliere, ob du die richtigen Pins ansprichst. Zusatz: Ergänze: Wenn man auf einem Weg mit vielen Fussgängerinnen und Fussgängern unterwegs ist, muss man sehr oft läuten. Programmiere eine weitere Klingel, die leiser, aber dafür die ganze Zeit läutet. Die Klingel soll mit einer Geste eingeschaltet und mit einer anderen Geste wieder ausgeschaltet werden können. Überlege: Wie funktioniert ein Gestensensor? 13
Lösung 4 Blinken Lösung: Lösung Zusatz: Bei der Gestenerkennung werden in der Regel kameragestützte Systeme verwendet. Der Sensor sendet für uns unsichtbare infrarote Lichtstrahlen, welche zum Beispiel von der Hand vor dem Sensor reflektiert werden. Wenn sich die Hand bewegt, ändert sich die Intensität des reflektierten Lichts. Dadurch kann der Sensor Bewegungen erkennen. 14
Auftrag 5 Helligkeit* Ziel: Die Helligkeit der LEDs soll automatisch an die Helligkeit der Umgebung angepasst werden – ähnlich wie bei einem Smartphone Display. 1. Ziehe die Datei microbit-Auftrag-5-Helligkeit.hex in den Browser. Schliesse den Lichtsensor an Pin P0 an. Schliesse das 4-Ziffern-Display an Pin P1 an. Schliesse die LED-Matrix an Pin P2 an. Setze die Variable «Licht» auf die Werte von deinem Lichtsensor. Zeige diese Werte mit dem 4-Ziffern-Display an. Schaue, wie sich die Werte verändern, wenn du den Raum abdunkelst, oder mit der Hand den Sensor zuhältst. 2. Setze nun die Helligkeit deiner Matrix auf die Werte, die der Lichtsensor misst und zeige mit der Matrix ein Bild an. 3. Wir wollen sicherstellen, dass die Matrix auch leuchtet, wenn es draussen sehr dunkel ist. Füge eine Bedingung ein, sodass die Matrix ab einem bestimmten Wert nicht mehr dunkler wird. Ansonsten soll sie Helligkeit weiterhin der Umgebung angepasst werden. Tipps: Kontrolliere, ob du die richtigen Pins ansprichst. Zusatz: Aufgepasst: Vielleicht ist dir beim Testen aufgefallen, dass die Matrix plötzlich wieder dunkler wird, obwohl die Helligkeit draussen zunimmt. Dies liegt daran, dass wir für die Helligkeit der Matrix nur Werte zwischen 0 und 255 einsetzen können, der Lichtsensor aber höhere Werte aufnehmen kann. Ist das der Fall, beginnt der micro:bit einfach wieder von vorne an zu zählen. Das heisst, geben wir bei der Helligkeit einen Wert von 256 ein, wird diese automatisch zur 0 und die Matrix bleibt dunkel. Geben wir beispielsweise den Wert 260 ein, wird diese Zahl zu einer 5 und somit zwar sichtbar, aber relativ dunkel. Probiere es aus! Verbessere: Verändere dein Programm so, dass dieses Problem umgangen wird. Schaffst du es, dass die Matrix zum Beispiel bei einem Wert 400 trotzdem noch nicht mit voller Helligkeit leuchtet? 15
Lösung 5 Helligkeit* Lösung: 16
Lösung Zusatz: 17
Auftrag 6 Debuggen Ziel: Wow, du hast es bis hierhin geschafft. Super! Jetzt hast du ein Veloshirt, dass viele verschiedene Funktionen hat. Aber halt! Damit du alle Funktionen gleichzeitig benutzen kannst, müssen ja alle Programme in einer Datei sein. Oh nein! Kein Problem! Wir haben das für dich gemacht. Leider sind uns dabei ein paar Fehler unterlaufen. Finde die Fehler und mache das Programm komplett. Wenn du beim Auftrag 5 die dritte Teilaufgabe lösen konntest, wähle hier die schwierige Variante. Einfach: Ziehe die Datei microbit-Auftrag-6_einfach-Debuggen.hex in den Browser. Schliesse den Ultraschallsensor an Pin P1, den Lichtsensor an Pin P0 und die Matrix an Pin P2 an. Debugge das Programm, bis alle Funktionen aus den vorherigen Aufgaben funktionieren. Es haben sich fünf kleine Fehler eingeschlichen. Schwierig: Ziehe die Datei microbit-Auftrag-6_schwierig-Debuggen.hex in den Browser. Schliesse den Ultraschallsensor an Pin P1, den Lichtsensor an Pin P0 und die Matrix an Pin P2 an. Debugge das Programm, bis alle Funktionen aus den vorherigen Aufgaben funktionieren. Es haben sich acht kleine Fehler eingeschlichen. Tipps: 1. Bevor du grosse Änderungen machst, überprüfe zuerst, ob kleine Sachen wie die Pins oder die Variablennamen korrekt sind. Häufig sind es nämlich genau diese kleinen Flüchtigkeitsfehler die einem unterlaufen. 2. Verändere immer nur etwas aufs Mal in deinem Programm und teste es wieder. Wenn du zwei Sachen änderst und beim Testen eine Veränderung feststellst, kannst du dir nicht sicher sein, welche Änderung das bewirkt hat. Zusatz: Ergänze: Überlege dir, wie du dein Veloshirt noch mit zusätzlichen Funktionen erweitern kannst und versuche diese zu programmieren. 18
Lösung 6 Debuggen Lösung einfach: 19
Lösung schwierig: 20
21
Sie können auch lesen