Buttons und Analoge Sensoren lesen

Buttons auswerten

Buttons auswerten ist simple. Mit digitalRead() kann das Spannungslevel am Pin gemessen werden. Ist die anliegende Spannung kleiner als 3V ist das Ergebnis LOW, dadrüber HIGH. Um einen Pin zum Lesen zu verwenden, wird der Pin mit pinMode(3,INPUT); in als Input festgelegt. Nun kann der Wert per digitalRead(3) gelesen werden.

Auch hier empfiehlt es sich mit einem PullDown-Widerstand den Pegel „herunterzuziehen“ um sicher zu messen.

button

Analoge Eingänge zum Erfassen von Messwerten

Egal ob Temperatur, Helligkeit, Bodenfeuchte etc pp. Es gibt viele Werte die man messen möchte und deren Ergebnis nicht EIN oder AUS lautet. Oft läuft es darauf hinaus die Spannungshöhe, bzw. den Widerstand zu messen den ein Sensor erzeugt um unser Projekt zu realisieren.

Der Arduino hat einen 10-Bit Analog/Digitalwandler. Mit diesem wird die mögliche Eingangsspannung von 0-5V in 1024 Schritte zerlegt (0 = 0V, 1023 = 5V). Die „Feinheit“ liegt also bei 0,0049 Volt (4,9mV) pro Stufe. Das Auslesen eines anlogen Eingangs dauert etwa 0,0001 Sekunden, macht maximal 10.000 Lesezyklen pro Sekunde.

Der Ergebnis von AnalogRead() ist eine ganze Zahl zwischen 0 und 1023 vom Typ Integer.

Bei analogen Sensoren macht es Sinn, den Pin (z.B. A0) mit einem hohen Widerstand gegen Masse zu ziehen. Ohne kann es passieren, dass die Messwerte schwanken (vielfältige Ursachen). Gleiches machen wir übrigens auch bei der Beschaltung von Tastern/Buttons.

Die Beispielschaltung ist hier mit einer Fotozelle realisiert. Die könnt ihr im Grunde gegen die meisten analogen Widerstandsgeschichten austauschen. Z.B. könnt ihr den Fotowiderstand weglassen und stattdessen zwei Nägel nehmen, die ihr nebeneinander in die Erde eines Blumekübels steckt. Fertig ist die Feuchtigkeitsüberwachung.

fotowiderstand

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert