Pflanzenbewässerung Lösung: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
|||
Zeile 17: | Zeile 17: | ||
xxx | xxx | ||
<pre id="pre01"> | <pre id="pre01"> | ||
let reading = 0 | |||
pins. | radio.setTransmitSerialNumber(true) | ||
basic. | radio.setGroup(4) | ||
pins.servoWritePin(AnalogPin.P2, | led.setBrightness(64) | ||
basic.forever(function () { | |||
pins.analogWritePin(AnalogPin.P1, 1023) | |||
reading = pins.analogReadPin(AnalogPin.P0) | |||
radio.sendNumber(reading / 4) | |||
pins.analogWritePin(AnalogPin.P1, 0) | |||
led.plotBarGraph( | |||
reading, | |||
1023 | |||
) | |||
if (input.buttonIsPressed(Button.A)) { | |||
basic.showNumber(reading) | |||
} | |||
if (reading < 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(5000) | |||
}) | }) | ||
</pre> | </pre> | ||
Version vom 18. Januar 2022, 16:35 Uhr
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
Hilfestellung
Wenn der micro:bit mit Strom versorgt ist, wird die Feuchtigkeit der Erde gemessen. Wenn ein Wert (Erfahrungsgemäß 500) unterschritten wird 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)
Ist die Erde zu trocken (), "pumpt" der am Servo montierte Strohhalm Wasser in den Blumentopf.
Detailschritte
xxx
let reading = 0 radio.setTransmitSerialNumber(true) radio.setGroup(4) led.setBrightness(64) basic.forever(function () { pins.analogWritePin(AnalogPin.P1, 1023) reading = pins.analogReadPin(AnalogPin.P0) radio.sendNumber(reading / 4) pins.analogWritePin(AnalogPin.P1, 0) led.plotBarGraph( reading, 1023 ) if (input.buttonIsPressed(Button.A)) { basic.showNumber(reading) } if (reading < 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(5000) })
Komplettlösungen