4. die schalter - hauserurs.ch schalter.pdf · lösung 1 1. wir beginnen mit ... 6. bleibt nur noch...

15
4. Die Schalter 1 4-LEGO Schalter 1 14.05.2012 4. Die Schalter Inhaltsverzeichnis 4.1. Die Sensor-Schalter ................................................................................................... 2 4.1.1. Der Ultraschall-Schalter ...................................................................................... 2 4.1.2. Der Licht-Schalter................................................................................................ 5 4.1.3. Der Berührungs-Schalter .................................................................................... 7 4.1.4. Der Geräusch-Schalter ........................................................................................ 9 4.2. Der Wert-Schalter ..................................................................................................... 9 4.2.1. Der Zahl-Schalter............................................................................................... 10 4.2.2. Der Logik-Schalter............................................................................................. 12

Upload: vuongkhanh

Post on 18-Sep-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

4. Die Schalter 1

4-LEGO Schalter 1 14.05.2012

4. Die Schalter

Inhaltsverzeichnis

4.1. Die Sensor-Schalter ................................................................................................... 2

4.1.1. Der Ultraschall-Schalter ...................................................................................... 2

4.1.2. Der Licht-Schalter ................................................................................................ 5

4.1.3. Der Berührungs-Schalter .................................................................................... 7

4.1.4. Der Geräusch-Schalter ........................................................................................ 9

4.2. Der Wert-Schalter ..................................................................................................... 9

4.2.1. Der Zahl-Schalter ............................................................................................... 10

4.2.2. Der Logik-Schalter ............................................................................................. 12

4. Die Schalter: Die Sensor-Schalter 2

4-LEGO Schalter 2 14.05.2012

4.1. Die Sensor-Schalter

Ohne Schalter lassen sich keine komplexen und intelligenten Programme schreiben.

Sie dienen dazu dem Roboter eine Entscheidungsmöglichkeit anzubieten. Du kannst

dir den Schalter als Weiche einer Eisenbahn vorstellen: Je nachdem wie die Weiche

gestellt ist, führt der Roboter einen anderen Programmteil aus. Wovon die Weichen-

stellung abhängt, das können wir festlegen: Entweder von einem Sensor, der reagiert,

von einem Zahlen- oder einem Logikwert.

4.1.1. Der Ultraschall-Schalter

Beispiel 1

Der Roboter soll so lange geradeaus fahren, bis er ein Hindernis auf 30cm erkennt.

Solange das Hindernis immer noch in Sichtweite (30cm) ist, soll er sich nach rechts

drehen.

Lösung 1

1. Wir beginnen mit einem neuen Arbeitsblatt «1_Bsp_4_1_1».

2. Da der Roboter ständig fährt oder dreht, beginnen wir mit einer ∞-Schleife.

3. Nun muss der Roboter ständig den Ultraschallsensor abfragen: Ist ein Hindernis

in Sichtweite oder nicht? Dazu verwenden wir aus der «Allgemeinen Palette» den

untersten «Schalterbaustein» und setzen ihn in die Schleife hinein .

1 2

2 1

Schalter sind Ent-scheidungsbaustei-

ne: Der Roboter

kann je nach Situa-

tion auf eine Bege-

benheit anders

reagieren.

4. Die Schalter: Die Sensor-Schalter 3

4-LEGO Schalter 3 14.05.2012

4. Ändere die «Sensor»-Eigenschaft des Schalters und stell den «Ultraschallsensor»

neu ein . Pass die Parameter des Sensors an, damit die Sichtweite auf 30cm re-

agiert Experimentiere mit der «Offenen Ansicht» bzw. der «Geschlossenen

Ansicht» . Achte dabei auf den Schalter: In der «Geschlossenen Ansicht» sind

die beiden Programmstränge hintereinander auf zwei Reitern (Karteikarten) sor-

tiert, wobei der vordere den hinteren verdeckt. Du kannst durch Klicken auf die

beiden Symbole die Reiter wechseln. Wähle die Ansicht, die dir besser ge-

fällt.

5. Der obere Schalterpfad ist mit einer Nahaufnahme einer Blume markiert.

D.h. dieser Ast des Programms wird ausgeführt, wenn der Roboter die eingestell-

te 30cm-Grenze unterschreitet. Füge in diesen Ast einen Motorbaustein ein,

der langsam nach rechts dreht. Damit wir eine kontinuierliche Drehung errei-

chen, wähle die Dauer «unbegrenzt». Der untere Ast des Programms ist mit einer

Bergsilhouette markiert. D.h. der Roboter ist weit weg vom Objekt. Füge in

diesen Ast ebenfalls einen Motorbaustein ein. Dieser soll langsam geradeaus

fahren und die Dauer sollte ebenfalls auf «unbegrenzt» gestellt sein.

1

2

2

1

1 2

3

3

2

1

Schalter bilden

Verzweigungen wie

bei Zugweichen.

Die Verzweigungen

kannst du gleichzei-

tig oder wie Reiter (Karteikarten)

hintereinander

darstellen lassen.

Ein Motorblock,

dessen Laufdauer

auf «unbegrenzt»

gesetzt wird, hört erst dann auf, wenn

ein anderer Motor-

block die Bewe-

gung unterbricht

oder das Programm

beendet ist.

4. Die Schalter: Die Sensor-Schalter 4

4-LEGO Schalter 4 14.05.2012

6. Überlege dir, was das Programm genau macht, bevor du es probierst. Wird der

Roboter die Vorgaben erfüllen? Wieso sind die Motorbausteine auf «unbegrenzt»

eingestellt?

Aufgabe 1

Erweitere das letzte Beispiel so, dass der Roboter eine kurze Strecke rückwärts fährt,

wenn er zu nahe am Hindernis ist. Danach soll er eine 90°-Drehung machen und

weiterfahren.

Aufgabe 2

Konntest du Aufgabe 1 selbst lösen und programmieren? Um die Lösung solcher

Probleme zu finden, ist es oft hilfreich ein schematisches Diagramm der Abläufe

aufzuzeichnen. Danach ist der Schritt zur Umsetzung in ein korrekt laufendes Pro-

gramm nicht mehr so gross. Drei mögliche Schemata für Aufgabe 1 sind unten abge-

bildet. Das linke nennt man «Flussdiagramm», das rechte ist ein «Struktogramm» und

das dritte ein Übergangsdiagramm zwischen den beiden. Studiere die drei Diagram-

me, ergänze sie wenn nötig und erkläre, wo die wesentlichen Unterschiede liegen.

Flussdiagramm Struktogramm

Start

Distanz x

x<30cm? J

�R �V

90°

N

Wiederhole

Bis ∞

Start

Distanz x

x<30cm? J

�R

N

�V

90°

Start

Distanz x

x<30cm? J

N

90°

Diagramme helfen

die schematischen

Abläufe zu ordnen,

zu verstehen und in eine zeitliche Rei-

henfolge zu setzen.

Aus einem korrek-

ten Diagramm kann

man dann ein Pro-gramm umsetzen.

4. Die Schalter: Die Sensor-Schalter 5

4-LEGO Schalter 5 14.05.2012

Aufgabe 3

Übersetze das folgende Diagramm in ein lauffähiges

Programm und erkläre in Worten, was es machen

wird!

Aufgabe 4

Das letzte Programm soll folgendermassen erweitert

werden:

Sollte die 20cm-Grenze unterschritten werden, hält der Roboter kurz an.

Er fährt anschliessend rückwärts, bis die 30cm-Grenze erreicht ist. Dabei ertönt

ein Warnsignal.

Er dreht sich so lange nach links, bis er eine frei Sicht von mindestens 50cm hat.

Erst dann fährt er geradeaus weiter.

Skizziere für dieses Problem ein Struktogramm bevor du anfängst zu programmieren!

4.1.2. Der Licht-Schalter

Beispiel 2

Der Roboter soll einer schwarzen Linie folgen: Er soll gera-

deaus fahren so lange der Lichtsensor einen tiefen (= dun-

kel) Wert meldet. Wenn es heller wird, soll der Roboter eine

Korrektur des Fahrtweges vornehmen. Da der Helligkeits-

wert sehr von den Lichtverhältnissen des Raumes abhängt,

soll der NXT-Bildschirm den momentan gemessenen Hel-

ligkeitswert anzeigen.

Lösung 2

1. Wir beginnen mit einem neuen Arbeitsblatt «2_Bsp_4_1_2».

2. Da der Roboter ständig die gleichen Schritte wiederholen muss, beginnen wir mit

einer ∞-Schleife.

Start

Helligkeit h

h<35? J

∞� ∞

N

Wiederhole

Zeige h an

Bis ∞

Start

Distanz x

x>30cm? N

�V

J

Wiederhole

1s �R

Wiederhole

Bis ∞

Bis x>50

Der Lichtschalter

regiert auf Hellig-

keit bzw. Dunkel-

heit.

4. Die Schalter: Die Sensor-Schalter 6

4-LEGO Schalter 6 14.05.2012

3. Um den Helligkeitswert anzugeben, müssen wir ihn zuerst separat messen: Auf

der «Vollständigen Palette » findest du unter den «Sensoren » den

«Lichtsensor»-Baustein . Füge ihn in die Schleife ein.

4. Konvertiere die Helligkeitsintensität (das ist eine Zahl) mit Hilfe des Konvertie-

rungsbausteins in einen Text und gib das Ergebnis auf den NXT-

Bildschirm aus.

5. Als nächstes folgt die Entscheidung: Ist es hell genug oder nicht? Setze einen

Schalter nach dem Anzeigebaustein. Ändere die Sensor-Eigenschaft in

«Lichtsensor» und stell den Schwellwert auf « >39 » ein .

1 2

2 1

1 2

2

1

1

2 3

3

2 1

Du kannst jeden

einzelnen Sensor

abfragen: Du fin-dest die Bausteine

auf der «vollständi-

gen Palette» unter

den Sensoren.

4. Die Schalter: Die Sensor-Schalter 7

4-LEGO Schalter 7 14.05.2012

6. Bleibt nur noch die richtige Reaktion des Roboters je nach Helligkeit zu pro-

grammieren: Wenn es hell ist, soll er drehen, wenn nicht, dann geradeaus fahren.

Aufgabe 5

Der Roboter soll sich langsam um seine eigene Achse drehen und den Helligkeits-

wert anzeigen, wenn es «dunkel» ist. Sobald es heller wird, fährt er in dieser Richtung

los! Skizziere zuerst ein Struktogramm und setze das Programm erst danach um. Tes-

te dein Programm: Folgt der Roboter einem Taschenlampenlicht?

4.1.3. Der Berührungs-Schalter

Beispiel 3

Der Ultraschallsensor arbeitet nicht immer zuverläs-

sig: Sind kleine oder nur tiefe Objekte im Weg, er-

kennt der Sensor sie nur schlecht oder gar nicht.

Um die Kollision mit Objekten abzufangen bzw.

abzufedern, soll der Roboter:

1. Kurz stehen bleiben, wenn der Berührungs-

sensor gedrückt wird.

2. Danach soll er so lange langsam rückwärts fah-

ren bis der Sensor keine Berührung mehr meldet.

3. Danach soll er nach links abdrehen bis er eine freie Sicht von mindestens 50cm

hat.

1

2

Start

Gedrückt? J

�V

N

Wiederhole

Wiederhole

�R

Bis los

Wiederhole

Bis x>50

Distanz x

Bis ∞

Der Berührungs-

schalter reagiert auf

«Druck», «Freigabe» oder auf einen

«Stoss».

4. Die Schalter: Die Sensor-Schalter 8

4-LEGO Schalter 8 14.05.2012

Lösung 3

1. Wir beginnen mit einem neuen Arbeitsblatt «3_Bsp_4_1_3».

2. Da der Roboter ständig die gleichen Schritte wiederholen muss, beginnen wir mit

einer ∞-Schleife und setzen einen Berührungsschalter in die Schleife hinein.

Achte darauf, dass er am Port 1 angeschlossen ist und auf Druck reagiert .

3. Setze in den unteren «kein Druck»-Ast einen Motorbaustein für das Geradeaus-

fahren.

4. In den oberen «Druck»-Ast kannst du eine Berührungssensor-Schleif mit

Druckfreigabe hineinsetzen.

5. In dieser Schleife soll der Roboter lediglich rückwärts fahren.

1

2 1

2

1

2

1

2

1

4. Die Schalter: Die Sensor-Schalter 9

4-LEGO Schalter 9 14.05.2012

6. Im Anschluss an diese Schleife brauchen wir eine Ultraschallsensor-Schleife ,

die so lange eine Linksdrehung ausführt, bis die gemessene Distanz grösser

als 50cm ist.

Aufgabe 6

Für diese Aufgabe brauchst du einen Roboter mit einem Greifarm und das Spielfeld

3. Platziere den Ball mit dem Sockel irgendwo auf der schwarzen Linie. Der Roboter

soll vom Startpunkt aus der schwarzen Linie folgen bis er mit dem Berührungssensor

den Ball findet. Er soll den Ball aufnehmen und zum Startfeld zurückbringen. Am

Startfeld sollte ein gösseres Hindernis aufgestellt werden. Wenn es der Roboter er-

kennt, soll er anhalten und den Ball wieder freigeben.

4.1.4. Der Geräusch-Schalter

Aufgabe 7

Experimentiere mit der Funktionsweise des Geräuschschalters. Du könntest den

Roboter auf den ersten lauten Ton fahren lassen, beim zweiten nach links drehen

und beim dritten wieder geradeaus fahren lassen.

4.2. Der Wert-Schalter

Beim Programmieren kommt es häufig vor, dass der Roboter mit Hilfe eines Schal-

ters Entscheidungen treffen muss. Diese hängen aber nicht unbedingt von einem

Sensor ab, sondern von einer Zahl oder einem anderen Wert. Um solche Verzwei-

gungen zu realisieren, braucht es die Wert-Schalter. Davon gibt es drei verschiedene:

den Logik-, den Zahlen- und den Text-Schalter. (Der Text-Schalter funktioniert ge-

nau gleich wie der Zahl-Schalter und wird hier deshalb nicht speziell behandelt.)

1

2

2

1

Der Geräuschschal-

ter reagiert ab einer

bzw. unter einer gewissen Lautstär-

ke.

Der Wert-Schalter reagiert nicht auf

Sensoren, sondern

auf Zahlen-, Text-

oder Logikwerte.

Damit hat der Roboter eine viel

grössere Entschei-

dungsfreiheit und

kann auf verschie-

dene Einflüsse

reagieren.

4. Die Schalter: Die Wert-Schalter 10

4-LEGO Schalter 10 14.05.2012

Mit ihnen kann der Programmierer nicht nur zwei Zustände programmieren, sondern

beliebig viele:

Mit dem Zahl-Schalter kannst du beliebig viele Bedingungen setzen. Sensor- und Logikschalter haben nur zwei Zustände.

4.2.1. Der Zahl-Schalter

Beispiel 4

Erweitere das Beispiel 3 so, dass der Roboter beim Schritt Nummer 3 zufällig nach

links oder rechts abdrehen soll – und nicht immer nach links.

Lösung 4

1. Der erste Teil des Programms ändert sich natür-

lich nicht. Erst im letzten Teil, wo es darum

geht nach links oder rechts abzudrehen, musst

du das Programm anpassen.

2. Vor der Drehung muss eine Münze geworfen

werden: Zeigt sie «Kopf» bzw. «0», dann soll der

Roboter nach links drehen. Wenn sie «Zahl»

bzw. «1» zeigt, dann nach rechts. In der «voll-

ständigen Palette» findest du unter «Daten»

den «Zufalls»-Baustein . Setze ihn vor die

letzte Schlaufe.

1 2

2

1

Zahl-Schalter

0 1 2 … x

Logik-Schalter

Wahr Falsch

Sensor-Schalter

Ja Nein

Start

Gedrückt? J

�V

N

Wiederhole

Wiederhole

�R

Bis los

Wiederhole

Bis x>50

Zufallz. z

Bis ∞

Distanz x

J z=0?

N

Der «Zufalls»-

Baustein liefert eine

ganze Zufallszahl in

den eingestellten

Grenzen.

4. Die Schalter: Die Wert-Schalter 11

4-LEGO Schalter 11 14.05.2012

3. Ändere den Wertebereich des «Zufalls»-Bausteins von ursprünglich 1 bis 100 auf

0 bis 1 – da wir nur eine Münze mit «Kopf» bzw. «Zahl» brauchen.

4. An der Ultraschallsensor-Schleife müssen wir nichts ändern, denn der Roboter

soll ja so lange drehen bis er eine freie Sicht hat.

5. Hingegen ersetzen wir die Linksdrehung durch einen Wert-Schalter: Setze einen

Schalter in die Schleife und ändere die Steuerung auf «Wert» . Der Schalter soll

Zahlen vergleichen: Wähle den Typ «Zahl» . Standardmässig sollten bei den

Bedingungen die Zahlen «0» bzw. «1» stehen . Wenn nicht, werden sie beim

nächsten Schritt automatisch eingestellt.

6. Dieser Wert-Schalter soll auf das Ergebnis der Münze reagieren: Verbinde den

Ausgang des «Zufalls»-Bausteins mit dem Datenblockeingang des Schal-

ters. Damit weiss der Schalter, was die Münze angezeigt hat. Ist es eine «0», dreht

er nach links, sonst nach rechts. Setze die beiden Drehungen in den Schalterbau-

stein ein und probiere das Programm aus.

1 2

2 1

1

2 3

3

2

1

1

1

Ein Wert-Schalter

braucht einen Ein-gabe- bzw. Ver-

gleichswert. Die

Sensorschalter

erhalten diesen von

den Sensoren. Beim Wert-Schalter muss

die Eingabe aus

einer anderen Quel-

le erfolgen, z.B.

durch eine Zufalls-

zahl.

4. Die Schalter: Die Wert-Schalter 12

4-LEGO Schalter 12 14.05.2012

Aufgabe 8

Der Roboter soll bei einem lauten Geräusch mit einem sechsseitigen Würfel einmal

würfeln. Die Zahl, die er würfelt, soll auf dem NXT-Bildschirm dargestellt werden

und er soll sie auch aussprechen! Diese Prozedur wird unendlich oft ausgeführt.

Tipp

Um mehr als zwei Fälle unterscheiden zu können, musst du den «Zahl»-Schalter

wählen. Deaktiviere die «offene Ansicht» und füge bei den Bedingungen mit Hilfe

der «+»-Taste weitere Möglichkeiten hinzu.

4.2.2. Der Logik-Schalter

Beispiel 5

Der Roboter soll mit zwei sechsseitigen Würfeln ständig würfeln, die Summe der

beiden Zahlen berechnen und am NXT-Bildschirm anzeigen. Wenn die Summe

grösser als 8 beträgt, soll er nach links drehen, sonst geradeaus fahren.

Lösung 5

1. Beginne mit einer Endlosschleife und setze als erstes einen «Anzeige»-

Baustein hinein. Dieser soll «Würfelergebnis» anzeigen.

2 1

2 1

1

2

3

3

2

1 Mit dem Zahlen-Schalter kannst du

auch mehr als zwei

Bedingungen abfra-

gen.

Der Logik-Schalter kann zwischen

«Wahr» oder

«Falsch» entschei-

den. Um diese

Entscheidung zu treffen, muss dieser

Wert dem Schalter

als Eingangswert

vorliegen.

4. Die Schalter: Die Wert-Schalter 13

4-LEGO Schalter 13 14.05.2012

2. Nun kannst du mit einem Würfel (1-6) würfeln und das Ergebnis in eine Zahl

konvertieren . Würfle gleich anschliessend ein zweites Mal und konvertiere das

Ergebnis ebenfalls in Text um.

3. Füge mit einem «Text»-Baustein aus der «Vollständigen Palette» aus dem unters-

ten Bausteinmenu die beiden Würfelergebnisse zusammen : A = 1. Würfel, C

= 2. Würfel, B= « =W1, W2= ». Der Baustein fügt die Würfelergebnisse zu ei-

nem einzigen Textteil zusammen. Gib den Text auf der zweiten Zeile aus .

Achte drauf, dass die Anzeige NICHT gelöscht wird.

4. In der «Allgemeinen Palette» unter «Daten» findest du den «Mathe»-Baustein .

Mit diesem kannst du Operationen ausführen.

2

1

2

2

1

1 2

2

1

4. Die Schalter: Die Wert-Schalter 14

4-LEGO Schalter 14 14.05.2012

Lege zwei Datenleitungen von den Würfeln in den «Mathe»-Baustein hin-

ein und stell die Operation auf «Addition» ein. Klick dabei immer zuerst auf

den Datenausgang der Würfel und dann auf den Dateneingang des «Mathe»-

Bausteins.

5. Konvertiere und zeige die Würfelsumme an. Achte auch hier wieder darauf, dass

der Bildschirm nicht gelöscht wird!

6. Um die Fahrtrichtung zu bestimmen, musst du zuerst aus der «Allgemeinen Pa-

lette» unter «Daten» den «Vergleichen»-Baustein einsetzen. Er kann zwei Wer-

te miteinander vergleichen. Verbinde die Würfelsumme mit dem Datenein-

gang des «Vergleichen»-Bausteins. Prüfe ob der Eingangswert grösser als 8 ist.

Setze danach einen Logik-Schalter und verbinde den Ausgangswert des

«Vergleichen»-Bausteins mit dem Eingang des Logik-Schalters.

1

2

3

4

4 3

2

1

1 1 2

2

1 Mit dem «Mathe»-

Baustein kannst du

zwei Zahlen addie-

ren, subtrahieren,

multiplizieren oder

dividieren.

Mit dem «Ver-gleichs»-Baustein

kannst du die

Grösse zweier

Zahlen miteinander

vergleichen. Das Ergebnis ist entwe-

der «Wahr» oder

«Falsch».

4. Die Schalter: Die Wert-Schalter 15

4-LEGO Schalter 15 14.05.2012

7. Der «Vergleichen»-Baustein liefert entweder den Wert «Wahr» oder «Falsch». Der

Wert wird dem Schalter übergeben. Dieser kann nun entscheiden, welcher Pro-

grammast ausgeführt werden soll: Bei «Wahr» soll er nach links drehen und

bei «Falsch» geradeaus fahren.

1

2

2

1