Braitenberg Vehikel: Unterschied zwischen den Versionen

Aus microbit - Das Schulbuch
Zur Navigation springen Zur Suche springen
Die Seite wurde neu angelegt: „== 20px|Icon Wie intelligent müssen Insekten sein? == Datei:pic1.jpg|right|500px|border|Ein Braitenberg Vehikel mit dem BBC micro:…“
 
Keine Bearbeitungszusammenfassung
Zeile 13: Zeile 13:
== [[Datei:icon_material.png|20px|Icon]] Materialien ==
== [[Datei:icon_material.png|20px|Icon]] Materialien ==


[[Datei:materialpflanzenwächter.jpg|right|500px|border|Material Pflanzenwächter]]
[[Datei:pic2.jpg|right|500px|border|Braitenberg Vehikel von vorne]]
* BBC micro:bit
* BBC micro:bit
* 1 Fahrzeug für den BBC micro:bit mit 2 Motoren, zB von [https://kitronik.co.uk/products/5638-line-following-buggy-for-the-bbc-microbit-v20 Kitronik]
* 1 Fahrzeug für den BBC micro:bit mit 2 Motoren, zB von [https://kitronik.co.uk/products/5638-line-following-buggy-for-the-bbc-microbit-v20 Kitronik]
Zeile 38: Zeile 38:


== [[Datei:Icon_hilfe.png|20px|Icon]] Tipps und Hilfestellung ==
== [[Datei:Icon_hilfe.png|20px|Icon]] Tipps und Hilfestellung ==
* Biege den langen Draht in eine herausfordernde, aber dennoch schaffbare Form für die spätere Geschicklichkeitsübung. Die beiden Enden sollten dann parallen und gerade nach unten zeigen.
* Die Lichtsensoren sollten am besten nicht beide gerade nach vorne schauen. Wie bei den meisten Insekten ist es besser, diese nach außen zeigen zu lassen. Befestige sie gut, aber so, dass man sie später auch wieder leicht entfernen kann, zB mit einem Stück Klebestreifen.
* Damit das Drahtlabyrinth nicht in der Luft schwebt sollte es auf einem passenden Brettchen befestigt werden - 2 kleine Löcher darin sorgen dafür, dass das Drahtlabyrinth einfach hineingesteckt werden kann.
* Je nach Modell des LDR muss du diese noch mit dem BBC micro:bit korrekt verbinden. Die meisten Sensoren benötigen eine Spannungsversorgung (3V und GND) und haben eine Ausgang für den Messwert, den du mit einem passende Eingang des BBC micro:bit verbinden musst (hier haben wir P1 und P2 verwendet).
* Ein Berühren des Drahtes in der Hand mit dem Labyrinth kann der BBC micro:bit durch das Fließen von elektrischen Strom feststellen. Dazu müsste ein vollständig geschlossener Stromkreis entstehen, der vom 3 Volt Ausgang über ein Kabel mit Krokoklemme zum Labyrinth und von der Drahtschleife in der Hand zum Eingang P0 vom BBC micro:bit zurückgeht. Keine Angst – eine Spannung von 3 Volt ist für den menschlichen Körper nicht gefährlich!
* Du musst darauf achten, dass die Motorgeschwindigkeit in einem für die jeweilige Motoren erlaubten Bereich bleibt. Du musst also bevor du die Sensorwerte an die Motoren schickst, diese noch eventuell „zurechtstutzen“.
* Das Programm braucht eine Variable durch die mitgezählt werden kann, wie oft es zu Berührungen gekommen ist. Diese muss beim Start des Programms auf Null gesetzt werden. Bei jedem „Ereignis“ am Eingang P0 soll sie um eins erhöht werden. Überlege Dir vielleicht auch ein Symbol das bei einer Berührung angezeigt werden soll und/oder einen Ton der ausgegeben werden soll (beim BBC micro:bit v2).
* Je nachdem wo du bei deinem Gefährt vorne und hinten definierst, musst du auch noch die Drehrichtung der Motoren festlegen.
* Am Ende des Labyrinths soll durch Drücken einer Taste (such Dir eine aus!) das Ergebnis angezeigt werden.
* Damit der Roboter nicht sofort losdüst, solltest du am besten noch so etwas wie eine Start- und Stoppfunktion einbauen, wie zB bei A fährt er los und bei B bleibt er wieder stehen. Das kann man elegant über eine Variable lösen, die man beim Drücken von A auf einen bestimmten Wert setzt und bei B auf einen anderen, und dann dauerhaft nur dann die Motoren auf eine gewünschte Geschwindigkeit setzt, wenn die Variable den richtigen Wert hat und sonst die Motoren ausschaltet.
 


===Erforderliche Programmierblöcke===
===Erforderliche Programmierblöcke===
Zeile 51: Zeile 50:
*[[Schleifen|beim Start]] <spoiler text="Block"> [[Datei:Beimstart.png|500px|Icon|border|]]</spoiler>
*[[Schleifen|beim Start]] <spoiler text="Block"> [[Datei:Beimstart.png|500px|Icon|border|]]</spoiler>
*schreibe analogen Pin <spoiler text="Block"> [[Datei:Schreibepin.png|500px|Icon|border|]]</spoiler>
*schreibe analogen Pin <spoiler text="Block"> [[Datei:Schreibepin.png|500px|Icon|border|]]</spoiler>
*zeichne Balkendiagramm <spoiler text="Block"> [[Datei:Balkendiagramm.PNG|500px|Icon|border|]]</spoiler>


===Eckpfeiler zur Programmierung===
===Eckpfeiler zur Programmierung===
Zeile 66: Zeile 63:
# Erläutere, wie dein Programm aussieht!
# Erläutere, wie dein Programm aussieht!
# Welches Verhalten erzeugt dein spezielles „Insekt“ und was hast du dafür gemacht?
# Welches Verhalten erzeugt dein spezielles „Insekt“ und was hast du dafür gemacht?


== [[Datei:icon_plus.png|20px|Icon]] Weiterentwicklung ==
== [[Datei:icon_plus.png|20px|Icon]] Weiterentwicklung ==

Version vom 3. Januar 2022, 16:38 Uhr

Icon Wie intelligent müssen Insekten sein?

Ein Braitenberg Vehikel mit dem BBC micro:bit
Ein Braitenberg Vehikel mit dem BBC micro:bit
Jakob staunt über Käfer, der vor seiner Taschenlampe wegläuft „Boah!. Wer sagt, dass Insekten dumm sind! Das ist ja gar nicht so leicht mit den Augen und Fühlern Dinge wahrzunehmen und dann überlegen, wohin man läuft! Einen Roboter so zu programmieren, stelle ich mir mega-schwierig vor!“
Lea: „ez …“

Icon Aufgabenstellung

Diese „Wesen“ wurden vom Südtiroler Valentin Braitenberg erdacht und zeigen, dass schon einfache Mechanismen recht komplexe Verhaltensmuster erzeugen können. Er konzipierte insgesamt 14 Fahrzeugtypen deren Verhalten bewusst teilweise mit tierischen Verhaltensmustern verglichen wurden. Je nachdem wie Sensoren mit zwei Motoren verschaltet werden, ergeben sich Verhaltsmuster wie zB die Flucht vor Geräuschen oder Licht, oder ein aggressives darauf zusteuern.

Der BBC micro:bit soll auf einem Fahrzeug mit 2 unabhängigen Rädern angebracht werden und mit 2 Sensoren für zB Licht ausgestattet werden („LDR“ – Light Dependent Resistor“). Dafür gibt es entweder fertige Bausätze, wie zB von Kitronik und Sensoren wie zB von AZ-Delivery.


Icon Materialien

Braitenberg Vehikel von vorne
Braitenberg Vehikel von vorne
  • BBC micro:bit
  • 1 Fahrzeug für den BBC micro:bit mit 2 Motoren, zB von Kitronik
  • 2 lichtabhängige Widerstände (LDR) und 2 passende Widerstände (je nach Modell des LDR) oder fertige Module wie zB von AZ-Delivery


Icon Zeitaufwand

  • etwa 2 Schulstunden (eine Stunde für das Entwickeln des allgemeinen Codes und eine Stunde für Experimente mit verschiedenen Verhaltensmustern)

Icon Schwierigkeitsgrad

borderlessborderlessborderless

Icon Kompetenzen

Du lernst

  • vernetztes und fachübergreifendes Denken
  • das Formulieren und Kodieren von einfachen Abläufen in formalen Algorithmen
  • Verständnis für einfache Mess- und Steueraufgaben
  • dass scheinbares komplexes Verhalten schon durch einfache Strukturen und Regel erzeugt werden können

Icon Unterrichtsfächer

INF, BU, PH

Icon Tipps und Hilfestellung

  • Die Lichtsensoren sollten am besten nicht beide gerade nach vorne schauen. Wie bei den meisten Insekten ist es besser, diese nach außen zeigen zu lassen. Befestige sie gut, aber so, dass man sie später auch wieder leicht entfernen kann, zB mit einem Stück Klebestreifen.
  • Je nach Modell des LDR muss du diese noch mit dem BBC micro:bit korrekt verbinden. Die meisten Sensoren benötigen eine Spannungsversorgung (3V und GND) und haben eine Ausgang für den Messwert, den du mit einem passende Eingang des BBC micro:bit verbinden musst (hier haben wir P1 und P2 verwendet).
  • Du musst darauf achten, dass die Motorgeschwindigkeit in einem für die jeweilige Motoren erlaubten Bereich bleibt. Du musst also bevor du die Sensorwerte an die Motoren schickst, diese noch eventuell „zurechtstutzen“.
  • Je nachdem wo du bei deinem Gefährt vorne und hinten definierst, musst du auch noch die Drehrichtung der Motoren festlegen.
  • Damit der Roboter nicht sofort losdüst, solltest du am besten noch so etwas wie eine Start- und Stoppfunktion einbauen, wie zB bei A fährt er los und bei B bleibt er wieder stehen. Das kann man elegant über eine Variable lösen, die man beim Drücken von A auf einen bestimmten Wert setzt und bei B auf einen anderen, und dann dauerhaft nur dann die Motoren auf eine gewünschte Geschwindigkeit setzt, wenn die Variable den richtigen Wert hat und sonst die Motoren ausschaltet.

Erforderliche Programmierblöcke

  • Variable <spoiler text="Block"> Icon</spoiler>
  • Verschachtelte bedingte Anweisungen <spoiler text="Block"> Bedingte Anweisung verschachtelt</spoiler>
  • dauerhaft <spoiler text="Block"> </spoiler>
  • beim Start <spoiler text="Block"> </spoiler>
  • schreibe analogen Pin <spoiler text="Block"> </spoiler>

Eckpfeiler zur Programmierung

Schritt für Schritt zur Lösung

Hinweise zur Lösungsfindung und die Lösung findest du auf der Lösungsseite zu diesem Beispiel.

Icon Präsentation und Reflexion

  1. Stelle dein Ergebnis vor! Was kann dein Projekt?
  2. Was hat dir bei der Entwicklung deines Produkts gefallen?
  3. Welche Schwierigkeiten hast du gehabt? Wie konntest du sie lösen?
  4. Erläutere, wie dein Programm aussieht!
  5. Welches Verhalten erzeugt dein spezielles „Insekt“ und was hast du dafür gemacht?

Icon Weiterentwicklung

  • Recherchiere im Internet nach den „Braitenberg Vehikel“ und schaue dir genau an, welche unterschiedlichen Verhaltensmuster diese zeigen
  • Versuche einige dieser unterschiedlichen Kreaturen nachzubauen, indem du die eingelesenen Messwerte der Sensoren auf unterschiedliche Art und Weise in Kommandos für die beiden Motoren umrechnest!