Pflanziska Workshop: Difference between revisions

From CoMakingSpace Wiki

Erik (talk | contribs)
No edit summary
m Category:Seminars
Line 57: Line 57:
[[File:Moisture-sensor-in-water.jpg|left|thumb|273x273px|Der Sensor muss nicht zwangsweise bis zur Markierung im Wasser stehen.]][[File:Moisture-sensor-max-depth-mark.jpg|thumb|300x300px|Oberhalb der Markierung beginnt die Elektronik, die '''nicht''' wasserfest ist.]]
[[File:Moisture-sensor-in-water.jpg|left|thumb|273x273px|Der Sensor muss nicht zwangsweise bis zur Markierung im Wasser stehen.]][[File:Moisture-sensor-max-depth-mark.jpg|thumb|300x300px|Oberhalb der Markierung beginnt die Elektronik, die '''nicht''' wasserfest ist.]]
Als nächstes stellen wir den Feuchtigkeits-Sensor maximal bis zur Markierung ins Wasser, um den Wert zu bekommen, welcher bei völliger Nässe vom Mikrokontroller gelesen wird:[[File:Microbits-analog-read-water-value.png|thumb|600x600px|Der Wert im Wasser sollte deutlich unter dem "trocken"-Wert liegen.|none]]
Als nächstes stellen wir den Feuchtigkeits-Sensor maximal bis zur Markierung ins Wasser, um den Wert zu bekommen, welcher bei völliger Nässe vom Mikrokontroller gelesen wird:[[File:Microbits-analog-read-water-value.png|thumb|600x600px|Der Wert im Wasser sollte deutlich unter dem "trocken"-Wert liegen.|none]]
[[Category:Seminars]]

Revision as of 08:10, 3 May 2025

Material

1x Raspberry Pi Pico W
1x Feuchtigkeits-Sensor
1x Lautsprecher-Modul
1x Steckbrett
1x Micro-USB auf USB-A Kabel
1x zahlreiche Kabel

Ziel

  • Ein Mikrokontroller, also ein winziger Computer (Raspberry Pi Pico W), liest einen Feuchtigkeits-Sensor aus.
  • Der gelesene Wert wird von dem Mikrokontroller ausgewertet und die Feuchtigkeit in Prozent umgerechnet (100% = komplett nass, steht zum Beispiel in einem Glas Wasser; 0% ist völlig trocken, zum Beispiel, wenn man den Sensor in der Luft hält und er trocken ist)
  • Wenn der Prozentwert unter einen gewissen Schwellenwert fällt, wird ein Signal an ein Lautsprecher Modul gesendet, dass dann eine vorher aufgenommen Tonspur wiedergibt.

Vorbereitung

Der Mikrokontroller wurde mittig am oberen Rand platziert

Verkabelung

Bevor man irgendetwas mit dem Mikrokontroller macht, empfiehlt es sich, einen Blick in die Dokumentation zuwerfen. Diese findet sich hier: https://www.raspberrypi.com/documentation/microcontrollers/pico-series.html#picow-technical-specification

Besonders wichtig ist das sogenannte "Pinout", also die Nummerierung der verschiedenen Pins und ihre Funktionen. Zum Pinout des Raspberry Pico W geht es hier: https://datasheets.raspberrypi.com/picow/PicoW-A4-Pinout.pdf

1. Als erstes den Mikrokontroller mittig auf das Steckbrett stecken. Durch die vielen Pins des Mikrokontrollers kann das eventuell etwas Kraft benötigen. Tipp: Wer später leichter die verschiedenen Pins finden will, kann den Mikrokontroller so platzieren, dass die Nummerierung des Steckbretts zu der des Pinouts des Mikrokontrollers passt.
2. Damit wir später unsere verschiedenen Komponenten mit Strom versorgen können und es dabei nicht unübersichtlich wird, verbinden wir zuerst Pin 36 ( 3V3(OUT)) mit einer der Plus (+) Schienen sowie Pin 38 (GND) mit der Minus (-) Schiene des Steckbretts.
3. Als nächstes können wir den Feuchtigkeits-Sensor verbinden. Dafür müssen wir zuerst Kabel mit Steckern an beiden Enden in das Kabel des Feuchtigkeits-Sensors stecken, da wir die Kabel sonst nicht in das Steckbrett stecken können. Dann können wir das rote Kabel (VCC) des Feuchtigkeits-Sensors in die +-Schiene und das schwarze Kabel (GND) in die --Schiene stecken, sodass der Sensor mit 3 Volt Spannung versorgt wird.
Nun können wir das gelbe Kabel (AOUT) mit dem Pin 31 (GPIO26 ADC0) des Mikrokontrollers verbinden. Die Pins 31, 32 und 34 sind besonders, da sie analoge Werte einlesen können. Diese können wir später in Prozent-Feuchtigkeit umrechnen.
Die Kabel in den Stecker des zum Feuchtigkeits-Sensors gehörenden Kabels stecken. Welche Farben die Kabel haben, ist prinzipiell egal, jedoch muss man aufpassen, dass man die verschiedenen Kabel bzw. ihre Funktion am Ende dann nicht vertauscht.
Das gelbe Kabel ist mit dem Pin 31 verbunden, der ADC kann (ADC = Analog to Digital Converter)


4. Zuletzt schließen wir noch das Lautsprecher-Modul an. Auch hier schließen wir wieder VCC an die +-Schiene sowie GND an die --Schiene des Steckbretts.
Außerdem schließen wir ein Kabel (im Bild weiß) an den P-E Pin des Lautsprecher-Moduls. Das andere Ende des Kabels stecken wir an den Pin 27 (GPIO21) des Mikrokontrollers.
Über das weiße Kabel können wir dem Lautsprecher-Modul ein Signal geben, die aufgenommene Tonspur abzuspielen.

Verbindung zum Mikrokontroller herstellen

Zur Programmierung nutzen wir MicroBlocks. Die "Entwicklungsumgebung" kann in jedem chromium basiertem Browser geöffnet werden (also Google Chrome, Edge, ... aber nicht Safari oder Firefox).

Den Mikrokontroller mit dem USB Kabel mit dem Computer verbinden und einfach die Seite hier aufrufen. Anschließend auf verbinden klicken und dann die Option verbinden (USB) wählen.

Im sich öffnenden Dialog des Browsers den Eintrag wählen, welcher Pico W enthält (der genaue Name kann vom Bild abweichen) und verbinden drücken.


Nun ist MicroBlocks mit dem Mikrokontroller verbunden und bereit, durch das Ziehen und Verbinden der verschiedenen Blöcke den Mikrokontroller zu programmieren.

Programmierung

Unser Programm muss insgesamt drei Dinge tun:

  • einen Wert aus dem Feuchtigkeits-Sensor lesen
  • daraus einen Prozentwert berechnen
  • je nach dem, ob der Prozentwert unseren definierten Schwellenwert unterschreitet, das Signal an das Lautsprecher-Modul schicken, sodass die vorher aufgenommene Tonspur abgespielt wird.

Um den Feuchtigkeits-Sensor auslesen zu können, brauchen wir den Block lies analogen Pin aus dem Menü Pins:

Diesen Block ziehen wir nun auf die große weiße Fläche, wo wir unsere Blöcke sammeln und geben in das Feld wo vorher eine 1 stand jetzt 26 ein. Die 26 steht für die Zahl hinter dem "GPIO", an der wir vorher das Kabel für die Sensor-Daten verbunden hatten, nämlich Pin 31 (GPIO26 ADC0).

Wenn wir jetzt auf unseren Block klicken, wird dieser ausgeführt:

Vorausgesetzt, der Sensor ist korrekt verbunden und noch trocken, sollte nun eine Zahl im hohen dreistelligen Bereich angezeigt werden. Den ausgegeben Wert merken wir uns oder schreiben ihn auf, denn diesen brauchen wir später zum Kalibieren und für die Umrechnung in Prozent.

Der Sensor muss nicht zwangsweise bis zur Markierung im Wasser stehen.
Oberhalb der Markierung beginnt die Elektronik, die nicht wasserfest ist.

Als nächstes stellen wir den Feuchtigkeits-Sensor maximal bis zur Markierung ins Wasser, um den Wert zu bekommen, welcher bei völliger Nässe vom Mikrokontroller gelesen wird:

Der Wert im Wasser sollte deutlich unter dem "trocken"-Wert liegen.