Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
gf_informatik:microbit_und_roboter_programmieren:aufgaben_hof [2025-12-02 10:37] – [Aufgabe F4 – micro:bits in love] gragf_informatik:microbit_und_roboter_programmieren:aufgaben_hof [2026-01-03 10:21] (aktuell) – [Lösungen] gra
Zeile 391: Zeile 391:
 <code python> <code python>
 from microbit import * from microbit import *
- 
-counter = 9 
  
 s1 = '90000:90000:90000:90000:90000' s1 = '90000:90000:90000:90000:90000'
Zeile 534: Zeile 532:
 Je fester der micro:bit beschleunigt wird, desto heller soll die LED-Matrix leuchten.  Je fester der micro:bit beschleunigt wird, desto heller soll die LED-Matrix leuchten. 
  
-Tipp 1: Verwende evtl. deine Funktion aus A3 (Advanced 1), mit der du ein Bild von gewünschter Helligkeit erstellen kannst.+Tipp 1: Verwende evtl. deine Funktion aus A5, mit der du ein Bild von gewünschter Helligkeit erstellen kannst.
    
 Tipp 2: Verwende die Funktion ''int()'', um aus einer Kommazahl eine Ganzzahl zu machen. Tipp 2: Verwende die Funktion ''int()'', um aus einer Kommazahl eine Ganzzahl zu machen.
Zeile 540: Zeile 538:
 === Lösungen === === Lösungen ===
    
-<nodisp 2>+<nodisp 1>
 ++++Lösungen Aufgaben C| ++++Lösungen Aufgaben C|
 === C1 === === C1 ===
Zeile 650: Zeile 648:
 Studiere zuerst den kurzen [[gf_informatik:microbit_programmieren_grundlagen#gesten_erkennen|Theorieteil zum Erkennen von Gesten.]] Studiere zuerst den kurzen [[gf_informatik:microbit_programmieren_grundlagen#gesten_erkennen|Theorieteil zum Erkennen von Gesten.]]
  
-=== Aufgabe D1 ===+=== Aufgabe D1 – Ente oder Haus ===
 Schreibe ein Programm, das eine Ente anzeigt, wenn du den Microbit schüttelst und ein Haus, wenn du ihn nach oben drehst.  Schreibe ein Programm, das eine Ente anzeigt, wenn du den Microbit schüttelst und ein Haus, wenn du ihn nach oben drehst. 
  
Zeile 692: Zeile 690:
 === Lösungen === === Lösungen ===
    
-<nodisp 2>+<nodisp 1>
 ++++Lösungen Aufgaben D| ++++Lösungen Aufgaben D|
  
Zeile 878: Zeile 876:
  
 Studiere die folgende Theorie zu [[gf_informatik:microbit_programmieren_grundlagen#signalstaerke_distanzmessungen|Signalstärke und Distanzmessungen.]] Studiere die folgende Theorie zu [[gf_informatik:microbit_programmieren_grundlagen#signalstaerke_distanzmessungen|Signalstärke und Distanzmessungen.]]
- 
-Schreibe ein Programm, dass //erstens// stetig irgendeinen Nachricht sendet und //zweitens// stetig Nachrichten empfängt und die Signalstärke an die Konsole sendet (mit print, am PC "Show Serial" klicken). 
  
 Was ist etwa die **maximale Distanz in Sichtweite**, über die zwei micro:bits miteinander kommunizieren können? Mache ein Experiment. Was ist etwa die **maximale Distanz in Sichtweite**, über die zwei micro:bits miteinander kommunizieren können? Mache ein Experiment.
Zeile 885: Zeile 881:
 Wichtig: Die micro:bits müssen sich 'sehen' können. Wichtig: Die micro:bits müssen sich 'sehen' können.
  
 +++++Tipp:
 +Schreibe ein Programm, dass //erstens// fortlaufend irgendeine Nachricht sendet und //zweitens// fortlaufend Nachrichten empfängt und die Signalstärke der empfangenen Nachricht an die Konsole sendet (mit print, am PC "Show Serial" klicken).  
 +++++
  
 === Aufgabe F4 – micro:bits in love === === Aufgabe F4 – micro:bits in love ===
Zeile 894: Zeile 892:
  
  
-=== Aufgabe F5 – Nachricht versenden === +=== Aufgabe F5 – Buchstaben senden === 
- +Schreibe ein Programmmit dem ihr Nachrichten **Buchstabe für Buchatbe** senden und empfangen könnt. 
-Ähnlich wie die Morse-Aufgabenur soll jetzt eine normale Nachricht bestehend aus Buchstaben versendet werden können. Mit den beiden Knöpfen soll das Alphabet durchgegangen werden können. Mit dem Touch-Logo soll der Buchstabe versendet werden können.+  * Mit den beiden Knöpfen soll das Alphabet durchgegangen werden können.  
 +  * Mit dem Touch-Logo soll der Buchstabe versendet werden können
 +  * Sobald ein Buchstabe empfangen wurde, soll er drei mal hintereinander aufblinken (jeweils ca. 300 ms leuchten und ca. 300 ms dunkel). Dann soll wieder der gerade ausgewählte Buchstaben angezeigt werden.
  
 === Aufgabe F6 – Abstimmen === === Aufgabe F6 – Abstimmen ===
Zeile 984: Zeile 984:
  
 === F3 === === F3 ===
 +<code python>
 +from microbit import *
 +import radio
 + 
 +radio.on()
 +# radio.config(group = 43) # evtl. eigene Gruppe festlegen.
 +
 +while True:
 +    radio.send('hello')
 +    message_full = radio.receive_full()
 +    if message_full:
 +        # text = message_full[0]
 +        signal_strength = message_full[1]
 +        print(signal_strength)
 +    else:
 +        print("no signal")
 +    sleep(100)
 +</code>
 +
 +=== F4 ===
 +<code python>
 +from microbit import *
 +import radio
 + 
 +radio.on()
 +radio.config(group = 43)
 +
 +while True:
 +    # send
 +    radio.send('hello')
 +
 +    # receive
 +    message_full = radio.receive_full()
 +    if message_full:
 +        text = message_full[0]
 +        signal_strength = abs(message_full[1])
 +        print(signal_strength)
 +        if signal_strength < 35:
 +            display.show(Image.HAPPY)
 +        elif signal_strength < 55:
 +            display.show(Image.MEH)
 +        else:
 +            display.show(Image.SAD)
 +
 +    sleep(50)
 +</code>
 +
 +=== F5 ===
 +<code python>
 +from microbit import *
 +import radio
 +
 +alphabet = 'abcdefghijklmnopqrstuvwxyz'
 +
 +radio.on()
 +# radio.config(group = 43) # evtl. eigene Gruppe festlegen.
 +
 +i = 0
 +while True:
 +    display.show(alphabet[i])
 +    if button_a.was_pressed():
 +        i = (i - 1) % len(alphabet)
 +    if button_b.was_pressed():
 +        i = (i + 1) % len(alphabet)
 +    if pin_logo.is_touched():
 +        radio.send(alphabet[i])
 +        sleep(200)
 +
 +    message_in = radio.receive()
 +    if message_in:
 +        for n in range(3):
 +            display.show(message_in)
 +            sleep(300)
 +            display.clear()
 +            sleep(300)
 +</code>
 +
 +=== F6 ===
 +<code python>
 +
 +</code>
 +
 +=== F7 ===
 +<code python>
 +
 +</code>
 +
 +=== F8 ===
 Einfache aber nicht sehr elegante Lösung: Einfache aber nicht sehr elegante Lösung:
 <code python> <code python>
Zeile 1061: Zeile 1149:
 </code> </code>
  
-=== F4 ===+=== F9 ===
 <code python> <code python>
-from microbit import * 
-import radio 
-  
-radio.on() 
-radio.config(group = 43) 
  
-while True: +</code>
-    # send +
-    radio.send('hello')+
  
-    # receive +=== F10 === 
-    message_full radio.receive_full() +<code python>
-    if message_full: +
-        text message_full[0] +
-        signal_strength abs(message_full[1]) +
-        print(signal_strength) +
-        if signal_strength 35: +
-            display.show(Image.HAPPY) +
-        elif signal_strength < 55: +
-            display.show(Image.MEH) +
-        else: +
-            display.show(Image.SAD)+
  
-    sleep(50) 
 </code> </code>
 +
 ++++ ++++
 </nodisp> </nodisp>
Zeile 1097: Zeile 1168:
    * Studiere auf jeden Fall die **Theorie** zum [[gf_informatik:microbit_programmieren_grundlagen#maqueen_interface|Maqueen Interface]]. Das brauchst du, damit du den Maqueen einfach steuern und seine Sensoren auslesen kannst.    * Studiere auf jeden Fall die **Theorie** zum [[gf_informatik:microbit_programmieren_grundlagen#maqueen_interface|Maqueen Interface]]. Das brauchst du, damit du den Maqueen einfach steuern und seine Sensoren auslesen kannst.
  
-=== Aufgabe G0 – Distanzmesser (schwieriger als gedacht) === 
- 
-Schreibe ein Programm, das das Display heller werden lässt, je näher der Maqueen zu einem Objekt ist. Betrachte zuerst den Beispiel-Code in der  Theorie zum [[gf_informatik:microbit_programmieren_grundlagen#distanzmesser|Distanzmesser]]. 
-  * Das Programm soll für einen Distanz-Bereich zwischen 0 und 9 Dezimetern (1 Dezimeter = 10cm) funktionieren. 
-  * Verwende eine bereits bekannte Methode, um die Display-Helligkeit abhängig von einer Variable zu setzen. 
  
 === Aufgabe G1 – Figur abfahren === === Aufgabe G1 – Figur abfahren ===
Zeile 1119: Zeile 1185:
  
 Programmiere einen Staubsaugroboter: Fahre geradeaus bis zu einem Hindernis. Wende um einen zufälligen Winkel und wiederhole. Programmiere einen Staubsaugroboter: Fahre geradeaus bis zu einem Hindernis. Wende um einen zufälligen Winkel und wiederhole.
 +
 +=== Aufgabe G4 – Remote Control (Advanced) ===
 +
 +Aufgabe für 2 Personen:
 +Schreiben Sie eine Fernsteuerung für den Maqueen. Der eine Microbit sendet Signale (links / rechts / geradeaus), der andere empfängt diese und setzt sie in Steuersignale für den Roboter um.
 +
 +Mögliche Steuerbelegung:
 +  * Touch Logo: muss berührt werden, um zu fahren; ohne Buttons fährt er geradeaus.
 +  * Button A: fährt nach links (wenn Touch Logo gleichzeitig gedrückt)
 +  * Button B: fährt nach rechts (wenn Touch Logo gleichzeitig gedrückt)
  
 Probiere den Roboter aus - würde er funktionieren? Probiere den Roboter aus - würde er funktionieren?
 +=== Aufgabe G5 – Distanzmesser (Advanced) ===
  
-=== Aufgabe G4 – Rendez-vous (Advanced) ===+Schreibe ein Programm, das das Display heller werden lässt, je näher der Maqueen zu einem Objekt ist. Betrachte zuerst den Beispiel-Code in der  Theorie zum [[gf_informatik:microbit_programmieren_grundlagen#distanzmesser|Distanzmesser]]. 
 +  * Das Programm soll für einen Distanz-Bereich zwischen 0 und 9 Dezimetern (1 Dezimeter = 10cm) funktionieren. 
 +  * Verwende eine bereits bekannte Methode, um die Display-Helligkeit abhängig von einer Variable zu setzen. 
 + 
 +=== Aufgabe G6 – Rendez-vous (Advanced) ===
  
 Verwende deine Kenntnisse zur Funk-Steuerung, um folgende Aufgabe zu lösen: Verwende deine Kenntnisse zur Funk-Steuerung, um folgende Aufgabe zu lösen:
Zeile 1129: Zeile 1210:
   * der Roboter soll mittels Radio andere Roboter finden und möglichst nahe zu ihnen fahren. Sind die zwei Roboter nah genug, sollen sie anhalten und ihre Bottom-LEDS auf die gleiche Farbe einstellen.   * der Roboter soll mittels Radio andere Roboter finden und möglichst nahe zu ihnen fahren. Sind die zwei Roboter nah genug, sollen sie anhalten und ihre Bottom-LEDS auf die gleiche Farbe einstellen.
  
-=== Aufgabe G5 – Follow-the-line (Advanced) ===+=== Aufgabe G7 – Follow-the-line (Advanced) ===
  
 Verwende den Bodensensor, um einer schwarzen Linie zu folgen. Signalisiere den Zustand der Bodensensoren mit den Front-LEDs. Verwende den Bodensensor, um einer schwarzen Linie zu folgen. Signalisiere den Zustand der Bodensensoren mit den Front-LEDs.
Zeile 1136: Zeile 1217:
   * Wie einer schmalen Linie (1cm)?   * Wie einer schmalen Linie (1cm)?
  
-=== Aufgabe G6 – Remote Control (Medium) === 
- 
-Aufgabe für 2 Personen: 
-Schreiben Sie eine Fernsteuerung für den Maqueen. Der eine Microbit sendet Signale (links / rechts / geradeaus), der andere empfängt diese und setzt sie in Steuersignale für den Roboter um. 
- 
-Mögliche Steuerbelegung: 
-  * Touch Logo: muss berührt werden, um zu fahren; ohne Buttons fährt er geradeaus. 
-  * Button A: fährt nach links (wenn Touch Logo gleichzeitig gedrückt) 
-  * Button B: fährt nach rechts (wenn Touch Logo gleichzeitig gedrückt) 
  
 <nodisp 1> <nodisp 1>
  • gf_informatik/microbit_und_roboter_programmieren/aufgaben_hof.1764671851.txt.gz
  • Zuletzt geändert: 2025-12-02 10:37
  • von gra