Lüftungsassistent Loesung: Unterschied zwischen den Versionen

Aus microbit - Das Schulbuch
Wechseln zu: Navigation, Suche
(Komplettlösungen)
(Komplettlösungen)
 
(10 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 2: Zeile 2:
 
Der Servo-Motor funktioniert ähnlich wie der Minutenzeiger einer Uhr. Während der Minutenzeiger jedoch nur im Uhrzeigersinn läuft und 60 Minuten auf 360° aufteilt (6° pro Minute), bewegt sich der Servo-Motor in beide Richtungen und unterteilt die voreingestellte Zeitdauer auf 180°.
 
Der Servo-Motor funktioniert ähnlich wie der Minutenzeiger einer Uhr. Während der Minutenzeiger jedoch nur im Uhrzeigersinn läuft und 60 Minuten auf 360° aufteilt (6° pro Minute), bewegt sich der Servo-Motor in beide Richtungen und unterteilt die voreingestellte Zeitdauer auf 180°.
  
== Hilfestellungen und Lösung zum Metronom ==
+
== Hilfestellungen und Lösung zum Lüftungsassistent ==
 
;Ausgangsstellung Servo-Motor und Pfeil
 
;Ausgangsstellung Servo-Motor und Pfeil
 
:Zu Beginn setzen wir den Winkel des Servo-Motors auf 180°.
 
:Zu Beginn setzen wir den Winkel des Servo-Motors auf 180°.
Zeile 8: Zeile 8:
  
 
;Pfeilbewegung und Zeitintervall
 
;Pfeilbewegung und Zeitintervall
:Wir unterteilen die zur Verfügung stehenden1 180° in 6° Schritte.
+
:Wir unterteilen die zur Verfügung stehenden 180° in 6° Schritte.
:Nach einer bestimmten Dauer soll der Pfeil jeweils um 6° weiterspringen. Dieser Vorgang wird 30x wiederholt.
+
:Nach einer bestimmten Dauer soll der Pfeil jeweils um 6° weiterspringen.
 +
::Bei geöffnetem Fenster 10x1000ms (= 10 Sekunden)
 +
::Bei geschlossenem Fenster 90x1000ms (= 90 Sekunden)
  
 
;Akustischer Hinweis
 
;Akustischer Hinweis
:Sobald der Pfeil bei , bzw. 180° angekommen ist, soll uns der micro:bit ein akustisches Signal zum Öffnen und Schließen der Fenster geben.
+
:Sobald der Pfeil bei "Fenster öffnen", bzw. "Fenster schließen" angekommen ist, soll uns der micro:bit ein akustisches Signal zum Öffnen und Schließen der Fenster geben.
  
 
== Komplettlösungen ==
 
== Komplettlösungen ==
Zeile 18: Zeile 20:
 
input.onButtonPressed(Button.A, function () {
 
input.onButtonPressed(Button.A, function () {
 
     grad_pfeil = 180
 
     grad_pfeil = 180
 +
    basic.showLeds(`
 +
        # # # # #
 +
        # . . . #
 +
        # . . . #
 +
        # . . . #
 +
        # # # # #
 +
        `)
 
     for (let index = 0; index < 30; index++) {
 
     for (let index = 0; index < 30; index++) {
         basic.pause(1000)
+
         basic.pause(10 * 1000)
 
         grad_pfeil = grad_pfeil - 6
 
         grad_pfeil = grad_pfeil - 6
 
         pins.servoWritePin(AnalogPin.P1, grad_pfeil)
 
         pins.servoWritePin(AnalogPin.P1, grad_pfeil)
 
     }
 
     }
 
     music.playMelody("G B A G C5 B A B ", 120)
 
     music.playMelody("G B A G C5 B A B ", 120)
 +
    basic.showLeds(`
 +
        # # # # #
 +
        # . # . #
 +
        # . # . #
 +
        # . # . #
 +
        # # # # #
 +
        `)
 
     for (let index = 0; index < 30; index++) {
 
     for (let index = 0; index < 30; index++) {
         basic.pause(2000)
+
         basic.pause(90 * 1000)
 
         grad_pfeil = grad_pfeil + 6
 
         grad_pfeil = grad_pfeil + 6
 
         pins.servoWritePin(AnalogPin.P1, grad_pfeil)
 
         pins.servoWritePin(AnalogPin.P1, grad_pfeil)
 
     }
 
     }
 
     music.playMelody("A F A F A F A F ", 120)
 
     music.playMelody("A F A F A F A F ", 120)
 +
    basic.clearScreen()
 
})
 
})
 
let grad_pfeil = 0
 
let grad_pfeil = 0
Zeile 37: Zeile 54:
 
</pre>
 
</pre>
  
 +
* Eine mögliche [https://makecode.microbit.org/_52f7xWKivA9V Lösung]
 +
 +
 +
[[Lüftungsassistent|Zurück zur Aufgabe]]
  
 
<htmlet>makecode_embed</htmlet>
 
<htmlet>makecode_embed</htmlet>

Aktuelle Version vom 4. Februar 2022, 13:20 Uhr

Grundsätzliche Überlegungen

Der Servo-Motor funktioniert ähnlich wie der Minutenzeiger einer Uhr. Während der Minutenzeiger jedoch nur im Uhrzeigersinn läuft und 60 Minuten auf 360° aufteilt (6° pro Minute), bewegt sich der Servo-Motor in beide Richtungen und unterteilt die voreingestellte Zeitdauer auf 180°.

Hilfestellungen und Lösung zum Lüftungsassistent

Ausgangsstellung Servo-Motor und Pfeil
Zu Beginn setzen wir den Winkel des Servo-Motors auf 180°.
Der Pfeil wird passend auf den Servo-Motor geklebt. Der Pfeil zeigt auf das rote Ende der Skala ("Fenster öffnen").
Pfeilbewegung und Zeitintervall
Wir unterteilen die zur Verfügung stehenden 180° in 6° Schritte.
Nach einer bestimmten Dauer soll der Pfeil jeweils um 6° weiterspringen.
Bei geöffnetem Fenster 10x1000ms (= 10 Sekunden)
Bei geschlossenem Fenster 90x1000ms (= 90 Sekunden)
Akustischer Hinweis
Sobald der Pfeil bei "Fenster öffnen", bzw. "Fenster schließen" angekommen ist, soll uns der micro:bit ein akustisches Signal zum Öffnen und Schließen der Fenster geben.

Komplettlösungen

input.onButtonPressed(Button.A, function () {
    grad_pfeil = 180
    basic.showLeds(`
        # # # # #
        # . . . #
        # . . . #
        # . . . #
        # # # # #
        `)
    for (let index = 0; index < 30; index++) {
        basic.pause(10 * 1000)
        grad_pfeil = grad_pfeil - 6
        pins.servoWritePin(AnalogPin.P1, grad_pfeil)
    }
    music.playMelody("G B A G C5 B A B ", 120)
    basic.showLeds(`
        # # # # #
        # . # . #
        # . # . #
        # . # . #
        # # # # #
        `)
    for (let index = 0; index < 30; index++) {
        basic.pause(90 * 1000)
        grad_pfeil = grad_pfeil + 6
        pins.servoWritePin(AnalogPin.P1, grad_pfeil)
    }
    music.playMelody("A F A F A F A F ", 120)
    basic.clearScreen()
})
let grad_pfeil = 0
pins.servoWritePin(AnalogPin.P1, 180)



Zurück zur Aufgabe