Pflanzenbewässerung Lösung: Unterschied zwischen den Versionen
(→Grundsätzliche Überlegungen) |
(→Hilfestellung) |
||
Zeile 5: | Zeile 5: | ||
== Hilfestellung == | == Hilfestellung == | ||
− | 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 ( | + | :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. | + | :Der Servo pumpt immer wieder bist der Schwellenwert wieder überschritten wird. |
− | |||
== Detailschritte== | == Detailschritte== |
Version vom 18. Januar 2022, 18:39 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
- 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.
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