Pflanzenbewässerung: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Zeile 74: | Zeile 74: | ||
===Erforderliche Programmierblöcke=== | ===Erforderliche Programmierblöcke=== | ||
<ol> | <ol> | ||
<li>[[Variablen|Variable]] <spoiler text="Block"> | <li>[[Variablen|Variable]] <spoiler text="Block"> | ||
<pre id="pre01"> | |||
let Platzhalter = 0 | |||
basic.forever(function () { | |||
Platzhalter += 1 | |||
basic.showNumber(Platzhalter) | |||
}) | |||
</pre> </spoiler> | |||
<li>Verschachtelte [[Bedingte_Anweisungen|bedingte Anweisungen]] <spoiler text="Block"> | <li>Verschachtelte [[Bedingte_Anweisungen|bedingte Anweisungen]] <spoiler text="Block"> | ||
<pre id="pre01"> | <pre id="pre01"> | ||
Zeile 89: | Zeile 96: | ||
}) | }) | ||
</pre> </spoiler> | </pre> </spoiler> | ||
<li>[[Schleifen|dauerhaft]] <spoiler text="Block"> | <li>[[Schleifen|dauerhaft]] <spoiler text="Block"> | ||
<pre id="pre01"> | <pre id="pre01"> | ||
Zeile 95: | Zeile 101: | ||
}) | }) | ||
</pre> </spoiler> | </pre> </spoiler> | ||
<li>[[Schleifen|beim Start]] <spoiler text="Block"> | <li>[[Schleifen|beim Start]] <spoiler text="Block"> | ||
<pre id="pre01"> | <pre id="pre01"> | ||
. | . | ||
</pre> </spoiler> | </pre> </spoiler> | ||
<li>schreibe analogen Pin <spoiler text="Block"> | <li>schreibe analogen Pin <spoiler text="Block"> | ||
<pre id="pre01"> | <pre id="pre01"> | ||
Zeile 112: | Zeile 112: | ||
</pre> </spoiler> | </pre> </spoiler> | ||
<li> setze Winkel von Servo an Pin.. auf ..Grad <spoiler text="Block"> | <li> setze Winkel von Servo an Pin.. auf ..Grad <spoiler text="Block"> | ||
<pre id="pre01"> | <pre id="pre01"> | ||
pins.servoWritePin(AnalogPin.P0, 180) | pins.servoWritePin(AnalogPin.P0, 180) | ||
</pre> </spoiler> | </pre> </spoiler> | ||
</ol> | </ol> | ||
<htmlet>makecode_embed</htmlet> | <htmlet>makecode_embed</htmlet> |
Version vom 18. Januar 2022, 19:01 Uhr
Gieße deine Pflanzen automatisch!
- „Jakob ich bin begeistert von unserem Pflanzenwächter!"
- „Ja Lea, doch was machen wir, wenn wir nicht zu Hause sind?
- „Hhmmmhh....automatisches Gießen wäre toll.“
- „Komm Jakob, wir basteln uns eine automatische Pflanzenbewässerung.“
Aufgabenstellung
- Erweitere den Pflanzenwächter mit einer Bewässerungsautomatik.
- Sobald der micro:bit mit Strom versorgt ist, misst er dauerhaft die Feuchtigkeit der Erde.
- Wird die Erde zu trocken dient ein kleiner Motor als Pumpwerk.
- Bastle dazu einen passenden Mechanismus.
<spoiler>
- Zur Überwachung des Feuchtegrades der Blumentopferde gibt der micro:bit Strom über die Pins in die Erde ab
- Dazu wird ein Stromkreis mit Krokoklemmen und Sensoren aufgebaut
- Der Strom vom micro:bit gelangt über Kabel und Sensoren in den Boden und zurück
- Es kann nun gemessen werden, wie viel davon noch tatsächlich in den micro:bit zurück kommt
- Wird ein Schwellenwert unterschritten dreht sich der Servo auf einen bestimmten Winkel und zurück
- Ein Strohhalm transportiert das Wasser
</spoiler>
Materialien
- BBC micro:bit
- 2 Krokodilklemmen
- 2 Nägel oder Schrauben
- 1 Gefäß mit trockener Erde
- 1 Gefäß mit feuchter Erde
- 1 Servo (180°)
- 3 Krokoklemmen (mit Stiftende)
- 1 Glas
- 1 Eisstiel (oder Holzleiste)
- 1 Strohhalm
- 2 Gummiringe
- 1 Rolle durchsichtiges Klebeband
Zeitaufwand
2 Schulstunden (ideal geeignet für eine Doppelstunde Technisches Werken)
- 1 Schulstunde zum Entwickeln des Programmes
- 1/2 Stunde zum Aufbau des "Pumpwerkes" (inklusive Materialausgabe)
- 1/2 Stunde Zeit zum Experimentiren und Zusammenräumen
Schwierigkeitsgrad
Kompetenzen
Du lernst und vertiefst
- vernetztes und fachübergreifendes Denken
- das Formulieren und Kodieren von Abläufen in formalen Algorithmen
- das Arbeiten mit Pins und Krokoklemmen
- das richtige ansteuern eines Servo Motors
- Fingerfertigkeit beim Basteln
Unterrichtsfächer
- Informatik
- Technisches Werken
- Biologie
Tipps und Hilfestellung
Ziel
Der Servo soll mit dem Strohhalm Wasser aus dem Glas in den Topf mit trockener Erde pumpen.
Erforderliche Programmierblöcke
- Variable <spoiler text="Block">
let Platzhalter = 0 basic.forever(function () { Platzhalter += 1 basic.showNumber(Platzhalter) })
</spoiler> - Verschachtelte bedingte Anweisungen <spoiler text="Block">
basic.forever(function () { if (true) { } else { if (true) { } else { } } })
</spoiler> - dauerhaft <spoiler text="Block">
basic.forever(function (.) { })
</spoiler> - beim Start <spoiler text="Block">
.
</spoiler> - schreibe analogen Pin <spoiler text="Block">
basic.forever(function () { pins.analogWritePin(AnalogPin.P1, 1023) })
</spoiler> - setze Winkel von Servo an Pin.. auf ..Grad <spoiler text="Block">
pins.servoWritePin(AnalogPin.P0, 180)
</spoiler>
Eckpfeiler zur Programmierung und Umsetzung
- Vom Pflanzenwächter wissen wir, dass die Feuchtigkeit niedrig ist, wenn der Messwert einen bestimmten Wert unterschreitet.
<spoiler> IF Abfrage </spoiler>- Der Servo wird am Pin P2 angeschlossen.
- Du kannst mit dem entsprechenden Programm Block den Drehwinkel des Servos ändern.
<spoiler> IF Abfrage </spoiler>- Es gibt eine Stellung zum Aufnehmen des Wassers und einen bestimmten Winkel wo das das Wasser in den Blumentopf ablaufen kann.
Schritt für Schritt zur Lösung
- Hinweise zur Lösungsfindung und die Lösung findest du auf der Lösungsseite zu diesem Beispiel.
Präsentation und Reflexion
- Stelle dein Ergebnis vor! Was kann dein Produkt?
- Was hat dir bei der Entwicklung deines Produktes gefallen?
- Welche Schwierigkeiten hattest du? Wie konntest du diese lösen?
- Erläutere, wie du dein Produkt programmiert hast!
- Was war bei dieser Aufgabe interessant für dich?
Weiterentwicklung
- Ergänze einen Audioalarm mit dem eingebauten Lautsprecher des mico:bit V2
- Erstelle ein Video, das dein Projekt beschreibt und zum Nachbauen einladet
- Plane und gestalte passende 3D-Druckteile