IAQ Air Quality Sensor + Arduino ProMini + I2C

Update 03.04.2018: Es sieht so aus das man einen neueren besseren Chip mit 3.3V hier kaufen kann: link

Für meinen ersten Helike® Roboter brauchte ich einen Air Quality Sensor und ich hatte einen gefunden:   IAQ Engine in Form eines USB Gerätes: YOCTO-VOC . Das ist ein VOC Air Sensor. Der YOCTO-VOC hat jedoch nur einen USB Anschluss, deshalb habe ich den IAQ Sensor von dem Board gelötet und den Sensor über das I2C interface (IAQ Dokument) angeschlossen. Da alle meine Sensoren das I2C interface verwenden. 20150605_182506 Doch muss man vorsichtig sein. Es ist nicht erlaubt Kommandos an den IAQ Sensor zu senden (write), weil das die I2C Adresse 0x5A in 0x40 ändert, und nach dem dritten Versuch, der IAQ Sensor dann tod ist. So wie mein Erster. Aus diesem Grund hatte ich zwei weitere Sensoren bestellt. Mit dem zweiten Sensor habe ich den selben Fehler begangen, weil alle schreibenden bytes auf dem I2C Bus, also auch wenn man eine andere I2C Adresse benutzt, den IAQ Sensor zerstören werden! Was ist jetzt zu tun? Um den ganzen IAQ Sensor von der I2C Kommunikation meines Roboters zu isolieren, und trotzdem das I2C Interface nutzen zu können, habe ich auf ein Arduino Pro Mini 5V/16Mhz Board zurückgegriffen, den analogen Ausgang des IAQ Sensors (Pin 1) verwendet, und die I2C Arduino Pro Mini Anschlüsse an meinen Roboter angeschlossen. Ich habe den IAQ sensor an das Arduino Pro Mini Board gelötet (IAQ Sensor Pin 1 => Arduino Analog A0)  und den I2C Anschluss “5V” als Eingangsspannung verwendet, um den Arduino “RAW In” Pin und den IAQ Sensor “5V” Pin 6 mit Strom zu versorgen. Voila, ich habe das Arduino Sketch hochgeladen, die 4 I2C Arduino Pro Anschlüsse mit meinem Roboter verbunden… und kann nun den IAQ Sensor Wert (450-2000 ppm) via I2C Interface abfragen.

 

VOC_Arduino_Circuit_diagram

20150606_000119