UV-Sensor VEML6075 Pimoroni

Hallo, blutiger Anfänger hier, auch keine Programmiererfahrung. Ich habe mir ein Arduino Uno Starter Kit und den UV-Sensor VEML6075 (von Pimoroni, weil das der einzige ist, der lieferbar war) bestellt, um die UV-Transmission durch eine Sonnenschutzfolie zu messen.

So weit ich das verstehe, muss ich für den Sensor die entsprechende library einbinden. Nun gibt es da genau drei zur Auswahl - von Adafruit, Sparkfun und eine für ESP32. Die letzte dürfte nicht passend sein. Kann ich einfach eine der beiden erstgenannten verwenden oder war dieser Sensor ein Fehlkauf?

Da Du einen Arduino UNO verwendest muß die Bibliothek für diesen sein. ESP32 Bibliothek ist darum die falsche.

Ich würde sagen die beiden anderen Bibliotheken sind gleichwertig (hab sie aber nicht angesehen) Mit der Bibliothek bekommt man immer Beispiele die die neuen Funktionen erklähren. Lies Dir mal die Beschreibungen der beiden Bibliotheken bei den beiden Herstellern durch und nimm die Dir besser gefällt.

Installieren kannst Du über den Bibliotheksinstaller in der IDE.

Grüße Uwe

Wunderbar, danke! Ich dachte, die Bibliothek muss mit dem Hersteller des Teils übereinstimmen, dergestalt, dass z.B. der von Adafruit verkaufte Sensor auch nur mit der von Adafruit bereitgestellten Bibliothek funktioniert.

Das heißt also, dass ich grundsätzlich nicht darauf achten muss, dass der Ersteller einer Bibliothek und der Hersteller des Bauteil identisch sind, sofern nur derselbe Sensor verbaut ist?

Nicht ganz.
Der Sensor ist eine Sache; die zusätzliche Elektronik auf der Platine eine andere. Dazu sollte man das Schaltbild der beiden Platinen vergleichen:

Adafruit:


Sparkfun:

Die Schaltungen sind fast gleich. Adafruit hat einen Spannungsstabilisator und eine Pegelwandler für die I2C Schnittstelle dazugepackt. Darum kann der Adafruit Sensor auch an einen 5V Arduino verwendet werden. Der Sparkfun Sensor braucht 3,3 V als Versorgungsspannung und als I2C Bus Spannung.


Pimoroni veröffentlicht zwar keinen Schaltplan für seine Platine
schreibt aber in der Beschreibung: " 3.3V or 5V compatible"
Darum und aus der Anzahl von Bauteilen auf der Platine nehme ich an daß der schaltplan sehr ähnlich dem von Adafrit ist.

Die Bibliotheken müßten beide auf allen 3 Platinen funktionieren.

Wieso es nicht selbstverständlich ist:
Es gibt Sensoren oder Displays die man über verschiedene Interfaces ansprechen kann zB digital und analog bzw I2C und SPI, Da hängt es ab welche Option gewählt wurde und dementsprechend die Bibliothek geschrieben wurde.
Auch können im Falle eines Shieldes verschiedenen Pins verwendet werden. Da kann man im Notfall in der Bibliothek die Pin ändern.

Grüße Uwe

3 Likes

Erst mal vielen Dank für die ausführliche Antwort - es ist mir nun einiges deutlich klarer.

Habe heute das Starter Kit und den UV-Sensor erhalten und gleich losgelegt. Sensor mittels Stiftleiste am Breadboard montiert und mit den entsprechenden 4 Anschlüssen am Arduino verbunden. Adafruit-library eingebunden, vorgeschriebenes example ausgewählt und hochgeladen (kompiliert?). Problem: Es kam immer folgende Fehlermeldung:

VEML6075 Simple Test
Failed to communicate with VEML6075 sensor, check wiring?

Es war alles korrekt angeschlossen. Ich habe den Fehler dann nach langem Probieren aber selbst finden können: Die Innenseite des SCL-Loches schimmert nicht so wie die anderen Löcher, sondern ist innen schwarz. Da dürfte einfach kein Metallkontakt vorhanden sein. Mit viel Kraft und Biegen hat sich kurzzeitig ein Kontakt herstellen lassen und dann kamen auch ordentliche Messwerte heraus.

Was wäre denn die Lösung für so einen Produktionsfehler? Vermutlich löten?

Die Löcher sind zum Löten. Was mit Stift reinstecken geht, ist reine Glückssache.

I see. Vielen Dank. Dann werde ich mich da ein bisschen einlesen und mir ein Lötset anschaffen.

Auch so ein Breadboard ist eher für das temporäre Experimentieren. Wenn du dann ein Lötset hast, willst du nach dem Breadboard-Test eine Lochraster-Platine. :slight_smile:

Du mußt die Stiftleiste einlöten. Stifte hineingesteckt machen keinen sicheren Kontakt.

Ansonsten hilft oft ein I2C Scanner Sketch um I2C Devices zu finden und die richtige Adresse zu finden.