Redesign der Sensoren mit i2c-Bus

sensor_in_devEs geht weiter im Pewduino-Projekt. Unser erster Meilenstein ist die Entwicklung von funktionierenden Sensoren. Zur Zeit wird der Sensor noch auf einem Mini-Breadboard mit Arduino Nano entwickelt. Wie ich im vergangen Post schon erwähnte, findet ein Atmel Mikrokontroller Platz in jedem Sensor.

Verbunden werden die Sensoren über den i2c-Bus. Der Arduino unterstützt die i2c-Kommunikation mittels der Wire-Library.

I2C muss man sich wie das heimische Netzwerk (LAN) vorstellen, nur eben viel simpler, aber ähnlich, denn jedes Gerät bekommt eine eigene Adresse zugewiesen. Allerdings gibt es keine automatische IP-Adressenvergabe, wenn ein neues Gerät in das “Netzwerk” angeschlossen wird. Und um maximale Benutzerfreundlichkeit zu gewährleisten, war die erste Hürde, dass jeder Sensor eine einzigartige Adresse im i2c-Netz bekommt, ohne dabei jeden Sensor manuell konfigurieren zu müssen. Es soll Plug-n-Play sein. So einfach. Keine kabelgebundene Konfiguration über den PC oder per Schalterchen auf dem Sensorboard.

Und da das i2c keinen “DHCP-Server” vorsieht, musste an dieser Stelle so etwas erst einmal entwickelt werden. Sehr simpel und rudimentär, aber es funktioniert.

Neue Sensoren bekommen vom Master, der Microcontroller der im Markierer steckt, eine Adresse zugewiesen, und prüfen selbstständig, ob die Adresse im Netz doppelt vorkommt. Denn das muss dringend vermieden werden!

Als nächsten Schritt muss die i2c-Kommunikation funktionieren. Der Sensor wird auf Befehle des Markierers reagieren, und andersrum. Aus dem Grund könnte im nächsten Blogpost wieder mal ein Video folgen. Yeah.

 

weiterführende Links:
http://www.i2c-bus.org/de/i2c-bus/
http://de.wikipedia.org/wiki/I%C2%B2C
http://arduino.cc/en/pmwiki.php?n=Reference/Wire