Ereignisse: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
(9 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
=Was ist das?= | ==Was ist das?== | ||
Wenn am Morgen dein Wecker klingelt, wachst du auf und stellst ihn ab. Du hast also das Läuten des Weckers bemerkt und dementsprechend gehandelt. Das Läuten des Weckers war also ein '''Ereignis''', dass dich zum Handeln bewegt hat | Wenn am Morgen dein Wecker klingelt, wachst du auf und stellst ihn ab. Du hast also das Läuten des Weckers bemerkt und dementsprechend gehandelt.<br \> | ||
Das Läuten des Weckers war also ein '''Ereignis''', dass dich zum Handeln bewegt hat. | |||
Ereignisse | Wie du siehst, begegnen uns im täglichen Leben ständig Ereignisse, die eine bestimmte Handlung nach sich ziehen. | ||
Ereignisse gibt es nun nicht nur im Alltag, sondern auch in der Programmierung.<br\> | |||
Auch bei der Programmierung mit dem micro:bit sind Ereignisse wichtige Bausteine für den Aufbau deines Programmes. | |||
==Befehle== | |||
= | |||
Für die Programmierung des BBC micro:bit stehen die folgenden Befehle für Ereignisse in der Kategorien '''Grundlagen''' und '''Eingabe''' zur Verfügung: | Für die Programmierung des BBC micro:bit stehen die folgenden Befehle für Ereignisse in der Kategorien '''Grundlagen''' und '''Eingabe''' zur Verfügung: | ||
Zeile 15: | Zeile 15: | ||
==Beim Start== | ==Beim Start== | ||
<pre id="01"> | |||
basic.showIcon(IconNames.Happy) | |||
</pre> | |||
Diesen Block findest du in der Kategorie ''Grundlagen''. Alles, was du in diesen Block hineinsetzt, wird von Beginn des Programmes an ausgeführt. | Diesen Block findest du in der Kategorie ''Grundlagen''. Alles, was du in diesen Block hineinsetzt, wird von Beginn des Programmes an ausgeführt. | ||
Zeile 24: | Zeile 26: | ||
}) | }) | ||
</pre> | </pre> | ||
Gleich wie den "Beim Start"-Block findest du auch diesen Block in der Kategorie ''Grundlagen''. Alles, was sich in diesem Block befindet, wird solange ausgeführt, wie das Programm läuft (= solange der micro:bit eingeschalten ist). | Gleich wie den "Beim Start"-Block findest du auch diesen Block in der Kategorie ''Grundlagen''. Alles, was sich in diesem Block befindet, wird solange ausgeführt, wie das Programm läuft (= solange der micro:bit eingeschalten ist). | ||
==Bei Knopfdruck== | ==Bei Knopfdruck== | ||
<pre id="01"> | |||
input.onButtonPressed(Button.A, function () { | |||
}) | |||
</pre> | |||
Oftmals sind Ereignisse damit verbunden, dass ein bestimmter Knopf des micro:bits gedrückt wird. Beispielsweise kann etwas geschehen, nachdem du den A-Knopf drückst. Den dazugehörigen Block, der oben abgebildet ist, findest du in der Kategorie ''Eingabe''! | Oftmals sind Ereignisse damit verbunden, dass ein bestimmter Knopf des micro:bits gedrückt wird. Beispielsweise kann etwas geschehen, nachdem du den A-Knopf drückst. Den dazugehörigen Block, der oben abgebildet ist, findest du in der Kategorie ''Eingabe''! | ||
==Weitere Möglichkeiten für Ereignisse== | ==Weitere Möglichkeiten für Ereignisse== | ||
<pre id="01"> | |||
input.onPinPressed(TouchPin.P0, function () { | |||
}) | |||
input.onGesture(Gesture.Shake, function () { | |||
}) | |||
</pre> | |||
Es gibt im Rahmen der Kategorie ''Eingabe'' viele Möglichkeiten die du nutzen kannst, um Ereignisse zu kontrollieren und dementsprechend darauf zu reagieren. Beispielsweise kannst du überprüfen, ob der BBC micro:bit geschüttelt ist und dann eine Reaktion darauf einprogrammieren. Eine andere Möglichkeit wäre abzufragen, ob ein Pin ''gedrückt'' ist - gedrückt bedeutet in diesem Zusammenhang, dass Strom fließt! | Es gibt im Rahmen der Kategorie ''Eingabe'' viele Möglichkeiten die du nutzen kannst, um Ereignisse zu kontrollieren und dementsprechend darauf zu reagieren. Beispielsweise kannst du überprüfen, ob der BBC micro:bit geschüttelt ist und dann eine Reaktion darauf einprogrammieren. Eine andere Möglichkeit wäre abzufragen, ob ein Pin ''gedrückt'' ist - gedrückt bedeutet in diesem Zusammenhang, dass Strom fließt! | ||
Zeile 49: | Zeile 54: | ||
Bei diesem Programm wird auf dem Display des BBC micro:bit ständig ein trauriger Smiley angezeigt. Wenn allerdings das Ereignis "micro:bit wird geschüttelt" eintritt, ändert sich dieser Smiley in einen lachenden. | Bei diesem Programm wird auf dem Display des BBC micro:bit ständig ein trauriger Smiley angezeigt. Wenn allerdings das Ereignis "micro:bit wird geschüttelt" eintritt, ändert sich dieser Smiley in einen lachenden. | ||
<pre id="01"> | |||
input.onGesture(Gesture.Shake, function () { | |||
basic.showIcon(IconNames.Happy) | |||
}) | |||
basic.forever(function () { | |||
basic.showIcon(IconNames.Sad) | |||
}) | |||
</pre> | |||
=Beispielprogramm 2 - Raumtemperatur= | =Beispielprogramm 2 - Raumtemperatur= | ||
Zeile 55: | Zeile 69: | ||
In diesem Beispielprogramm wird die (Raum-)Temperatur gemessen und der micro:bit reagiert dementsprechend darauf. Wenn die Temperatur höher als 22° Celsius ist (und es im Raum damit warm ist), wird ein großes Herz angezeigt, ansonsten ein kleines. Du benötigst für dieses Programm [[Bedingte_Anweisungen|bedingte Anweisungen]]. | In diesem Beispielprogramm wird die (Raum-)Temperatur gemessen und der micro:bit reagiert dementsprechend darauf. Wenn die Temperatur höher als 22° Celsius ist (und es im Raum damit warm ist), wird ein großes Herz angezeigt, ansonsten ein kleines. Du benötigst für dieses Programm [[Bedingte_Anweisungen|bedingte Anweisungen]]. | ||
<pre id="01"> | |||
basic.forever(function () { | |||
if (input.temperature() > 22) { | |||
basic.showIcon(IconNames.Heart) | |||
} else { | |||
basic.showIcon(IconNames.SmallHeart) | |||
} | |||
}) | |||
</pre> | |||
=Übung= | =Übung= | ||
Zeile 64: | Zeile 86: | ||
http://www.ocg.at/sites/ocg.at/files/Biberheft_2016_ohne_neu.pdf | http://www.ocg.at/sites/ocg.at/files/Biberheft_2016_ohne_neu.pdf | ||
<htmlet>makecode_embed</htmlet> |
Aktuelle Version vom 12. Mai 2022, 15:46 Uhr
Was ist das?
Wenn am Morgen dein Wecker klingelt, wachst du auf und stellst ihn ab. Du hast also das Läuten des Weckers bemerkt und dementsprechend gehandelt.
Das Läuten des Weckers war also ein Ereignis, dass dich zum Handeln bewegt hat.
Wie du siehst, begegnen uns im täglichen Leben ständig Ereignisse, die eine bestimmte Handlung nach sich ziehen.
Ereignisse gibt es nun nicht nur im Alltag, sondern auch in der Programmierung.<br\> Auch bei der Programmierung mit dem micro:bit sind Ereignisse wichtige Bausteine für den Aufbau deines Programmes.
Befehle
Für die Programmierung des BBC micro:bit stehen die folgenden Befehle für Ereignisse in der Kategorien Grundlagen und Eingabe zur Verfügung:
Beim Start
basic.showIcon(IconNames.Happy)
Diesen Block findest du in der Kategorie Grundlagen. Alles, was du in diesen Block hineinsetzt, wird von Beginn des Programmes an ausgeführt.
Dauerhaft
basic.forever(function () { })
Gleich wie den "Beim Start"-Block findest du auch diesen Block in der Kategorie Grundlagen. Alles, was sich in diesem Block befindet, wird solange ausgeführt, wie das Programm läuft (= solange der micro:bit eingeschalten ist).
Bei Knopfdruck
input.onButtonPressed(Button.A, function () { })
Oftmals sind Ereignisse damit verbunden, dass ein bestimmter Knopf des micro:bits gedrückt wird. Beispielsweise kann etwas geschehen, nachdem du den A-Knopf drückst. Den dazugehörigen Block, der oben abgebildet ist, findest du in der Kategorie Eingabe!
Weitere Möglichkeiten für Ereignisse
input.onPinPressed(TouchPin.P0, function () { }) input.onGesture(Gesture.Shake, function () { })
Es gibt im Rahmen der Kategorie Eingabe viele Möglichkeiten die du nutzen kannst, um Ereignisse zu kontrollieren und dementsprechend darauf zu reagieren. Beispielsweise kannst du überprüfen, ob der BBC micro:bit geschüttelt ist und dann eine Reaktion darauf einprogrammieren. Eine andere Möglichkeit wäre abzufragen, ob ein Pin gedrückt ist - gedrückt bedeutet in diesem Zusammenhang, dass Strom fließt!
Beispielprogramm 1 - Schütteln
Bei diesem Programm wird auf dem Display des BBC micro:bit ständig ein trauriger Smiley angezeigt. Wenn allerdings das Ereignis "micro:bit wird geschüttelt" eintritt, ändert sich dieser Smiley in einen lachenden.
input.onGesture(Gesture.Shake, function () { basic.showIcon(IconNames.Happy) }) basic.forever(function () { basic.showIcon(IconNames.Sad) })
Beispielprogramm 2 - Raumtemperatur
In diesem Beispielprogramm wird die (Raum-)Temperatur gemessen und der micro:bit reagiert dementsprechend darauf. Wenn die Temperatur höher als 22° Celsius ist (und es im Raum damit warm ist), wird ein großes Herz angezeigt, ansonsten ein kleines. Du benötigst für dieses Programm bedingte Anweisungen.
basic.forever(function () { if (input.temperature() > 22) { basic.showIcon(IconNames.Heart) } else { basic.showIcon(IconNames.SmallHeart) } })
Übung
Versuche zu Ereignissen die Biber-der-Informatik-Aufgabe Käsegänge zu lösen.
- Du findest sie unter folgendem Link auf Seite 28:
http://www.ocg.at/sites/ocg.at/files/Biberheft_2016_ohne_neu.pdf