Pflanzenbewässerung Lösung: Unterschied zwischen den Versionen
(→Hilfestellung) |
(→Hilfestellung) |
||
Zeile 9: | Zeile 9: | ||
− | ; | + | ;Experimentiere |
:Wenn der micro:bit mit Strom versorgt ist, wird die Feuchtigkeit der Erde gemessen. | :Wenn der micro:bit mit Strom versorgt ist, wird die Feuchtigkeit der Erde gemessen. | ||
:Wird ein Wert (erfahrungsgemäß ca. 500) unterschritten ist die Erde sozusagen trocken und die Pumpe schaltet sich aktiv. | :Wird ein Wert (erfahrungsgemäß ca. 500) unterschritten ist die Erde sozusagen trocken und die Pumpe schaltet sich aktiv. | ||
Zeile 17: | Zeile 17: | ||
;Sensordaten und Werte | ;Sensordaten und Werte | ||
+ | |||
+ | |||
+ | ;Verschwende keine Energie | ||
== Detailschritte== | == Detailschritte== |
Version vom 18. Januar 2022, 18:41 Uhr
Inhaltsverzeichnis
Grundsätzliche Überlegungen
- Wir wissen vom Pflanzenwächter, dass die Leitfähigkeit des Bodens von der Kombination von Wasser- und Bodennährstoffen abhängig ist.
- Ist die Erde zu trocken, soll ein Pumpwerk Wasser aus einem Glas in den Blumentopf pumpen.
- Als Pumpwerk dient ein 180 Grad Servo und z.B. ein Strohhalm.
Hilfestellung
- Feuchtigkeit messen
- siehe Lösung Plfanzenwähter
- Experimentiere
- Wenn der micro:bit mit Strom versorgt ist, wird die Feuchtigkeit der Erde gemessen.
- Wird ein Wert (erfahrungsgemäß ca. 500) unterschritten ist die Erde sozusagen trocken und die Pumpe schaltet sich aktiv.
- Für Demonstrationen kann als Auslöser auch z.B. die Taste B programmiert werden
- Der Servo pumpt immer wieder bist der Schwellenwert wieder überschritten wird.
- Sensordaten und Werte
- Verschwende keine Energie
Detailschritte
Die Messeinheit wurde bereits beim Pflanzenwächter entwickelt und programmiert
let Feuchtigkeit= 0 led.setBrightness(64)
basic.forever(function () { pins.analogWritePin(AnalogPin.P1, 1023) Feuchtigkeit= pins.analogReadPin(AnalogPin.P0) pins.analogWritePin(AnalogPin.P1, 0) led.plotBarGraph( Feuchtigkeit, 1023 ) if (input.buttonIsPressed(Button.A)) { basic.showNumber(Feuchtigkeit) } basic.pause(4000) })
Für das Pumpwerk wird parallel zur Anzeige der Servo programmiert
basic.forever(function () { if (Feuchtigkeit < 500) { basic.showIcon(IconNames.Umbrella) pins.servoWritePin(AnalogPin.P2, 0) basic.pause(3000) pins.servoWritePin(AnalogPin.P2, 80) basic.pause(3000) pins.analogWritePin(AnalogPin.P2, 0) } basic.pause(4000) })
Komplettlösungen