Leiterplatte für i2c Sensordevice

In diesem Beitrag erkläre ich die Leiterplatte (Platine), mit der jeder Blumentopf als i2c Sensordevice mit dem Arduino und somit ans Internet der Dinge verbunden wird. Es geht somit weiter mit dem Thema IoT-Blumentopf.

Bestückte Leiterplatine für den IoT-Blumentopf
Bestückte Leiterplatine für den IoT-Blumentopf

Im Normalbetrieb arbeitet die Platine als i2c Slave im Netzwerk der Blumentöpfe. Der Master, der eine Verbindung zum Internet hat, wird über die i2c-Schnittstelle die einzelne Platine ansprechen, und somit die Sensorwerte abrufen und Kommandos an die Platine senden.

Die Platine kann selbständig, die Erdfeuchtigkeit messen, und feststellen, wann Wasser benötigt wird.

Die Schnittstellen des i2c Sensordevice

Die Platine ist die Schnittstelle die die Elemente vom Blumentopf mit dem Microcontroller verbindet.

Elemente am Blumentopf:

  • Sensor zur Erdfeuchtemessung
  • LED zum Signalisieren des Feuchtigkeitsstandes
  • Optionales Bewässerungsventil

Schnittstellen nach Aussen:

  • i2c-Schnittstelle (individuelle Adresse)
  • Spannungsversorgung 5V
  • ISP Programmierschnittstelle
Bestückte und Unbestückte Platine für IoT-Blumentopf
Bestückte und Unbestückte Platine für IoT-Blumentopf

Bauelemente auf der Platine

Die verwendeten Bauelemente erachte ich als das minimal notwendige, damit die Platine ihre zugedachten Aufgaben erfüllen kann.

Der AtTiny85 Mikrokontroller hat nebst der i2c-Schnittstelle gerade ausreichend viele GPIO um den Sensor, die LED und das Ventil anzuschliessen.

Der 10k Ohm Widerstand wird für das Messen der Erdfeuchte mit der Erdsonde benötigt. Die Erdsonde bildet zusammen mit dem Widerstand einen Spannungsteiler, sodass je nach Feuchte der Erde eine entsprechende Spannung am Pin des Mikrocontrollers gemessen werden kann.

Um die LED zu betreiben, wird der 220 Ohm Widerstand benötigt, um den Strom zu begrenzen.

Der 22uF Kondensator dient zur Spannungsstabilisierung für den Mikrocontroller.

Design der Platine

Der Schaltplan und das Layout der Platine habe ich mit Eagle erstellt. Auf mögliche Schutzschaltungen habe ich der Einfachheit halber verzichtet. Darum sind einzelnen Funktionen sind direkt per Leiterbahn mit dem Microkontroller verbunden. 

Schema der Platine vom IoT-Blumentopf
Schema der Platine vom IoT-Blumentopf

 Im Layout verwende ich ausschliesslich „true hole“ (Durchsteckmontierbare) Komponenten. Die Platine habe ich bei http://dirtypcbs.com/index.php bestellt und anschliessend manuell mit den Komponenten bestückt.

Layout der Platine vom IoT-Blumentopf
Layout der Platine vom IoT-Blumentopf

Erste Arbeiten mit der Platine bestätigen, dass die Platine funktioniert. Der Mikrocontroller kann über die ISP-Schnittstelle programmiert werden. Die Kommunikation über die i2c-Schnittstelle funktioniert.