Bardzo ładny, kompaktowy sensor z wieloma opcjami regulacji – ale nie plug and play; Czujnik wymaga pewnego przygotowania, aby być gotowym do użycia. Jeśli naprawdę chcesz używać tego rozsądnie, nie da się obejść pinu IRQ. Niestety, kabel grawitacyjny ma tylko cztery przewody (niezbędne dla magistrali I2C), więc najlepiej przylutować wtyczkę (lub kabel bezpośrednio), która potem jest dodatkowa z Raspberry Pi (lub innym kontrolerem, którego używasz). Domyślne ustawienia są całkiem w porządku: 96 pF dla oscylatora dało częstotliwość 31,29 kHz dla mojego sensora, a ponieważ pojemność można ustawić tylko w wielokrotnościach 8 pF, było to już bardzo blisko celu 31,25 kHz. Jednak domyślny próg Strażnika nieco podniósliśmy, z 2 do 6, aby ograniczyć zakłócenia środowiskowe. Zastrzeżenie dotyczące firmware: w Debianie 13 (Trixie) biblioteka Pythona smbus już nie istnieje, została zastąpiona przez smbus2. API jest kompatybilne; Z "importuj smbus2 jako smbus" możesz dalej używać znanego kodu. Jeszcze jedna uwaga: kod powinien na krótko uśpić po IRQ, zanim odczyta magistralę. Komentarz w kodzie mówi 3 ms, karta danych 2 ms – ale 30 ms jest zaprogramowanych w kodzie. Skróciłem to do 5ms i jak na razie wszystko wygląda dobrze.
Sehr schöner, kompakter Sensor mit vielen Einstellmöglichkeiten - aber nicht Plug und Play; der Sensor erfordert schon ein wenig Vorbereitung, um Einsatzbereit zu werden. Wenn man ihn wirklich sinnvoll nutzen will, kommt man um den IRQ-Pin nicht herum. Leider trägt das Gravity Kabel jedoch nur vier Leitungen (die für den I2C Bus notwendigen), so daß man am besten einen Pfostenstecker anlötet (oder das Kabel direkt), das dann halt nochmal extra zm Raspberry Pi läuft (oder welchen Controller man auch verwendet). Die Default Einstellungen sind durchaus Okay: 96 pF für den Schwingkreisoszillator ergab bei meinem Sensor eine Frequenz von 31,29 kHz und da die Kapazität nur in Vielfachen von 8 pF einstellbar ist, war das schon sehr nahe am Soll von 31,25 kHz. Den Default des Watchdog Threshold haben wir aber etwas höher gedreht von 2 auf 6 um Umgebungsstörungen zu reduzieren. Ein Caveat bei der Firmware: in Debian 13 (Trixie) gibt es die smbus Python Library nicht mehr, sie wurde durch smbus2 ersetzt. Die API ist kompatibel; mit einem "import smbus2 as smbus" kann man also den gewohnten Code weiter nutzen. Ein Hinweis noch: der Code soll nach einem IRQ eine kurze Zeit schlafen, bevor er den Bus ausliest. Der Kommentar im Code sagt 3 ms, das Datenblatt 2 ms - im Code sind aber 30 ms programmiert. Ich habe das auf 5 ms verkürzt und bisher sieht alles gut aus.