Több ilyen eszközöm van. Általában jól működnek. Ha megy, akkor hetekig, hónapokig megy hiba nélkül (igazából amíg tápelvétel nincs). Viszont ha nem megy, akkor nem megy, és jelenleg csak a restart segít.
Próbáltam több driverrel használni, alakítani a kódon (bus timeoutot belerakni, bust lezárni, újranyitni, amire épp a lib lehetőséget adott), de mindentől függetlenül előjön néha, hogy indulásnál nem sikerül felvenni a fonalat, és onnantól nem megy (driver függő, hogy milyen hibát ad, a jelenlegi Adafruit_AM2320 " NAN" értéket, de ahol az olvasásra a függvény visszatérési értéke adott simán kommunikációs hibát, vagy crc hibát). Hiába várok és telik akármennyi idő, nem tér magához.
Kivétel nélkül mindig az a megoldás, hogy a szenzort újra kell indítani: le kell húzni pár másodpercre a + vagy - lábát, majd visszadugni, ez szinte 100%-ban megoldja a problémát (az arduinoval nem kell semmit csinálni). A nehézség ebben az, hogy fent van egy dobozban, szóval fel kéne mászni... Lentről, bontás nélkül az arduinoval együtt tudom restartolni (tehát az egész tápot elveszem), ennek azonban jóval kisebb a hatásfoka, vagy hogy 10x is meg kell csinálni mire jól elindul.
5V-ra van a sensor kapcsolva (eleinte az arduino 3,3V-os lában volt, de ugyanígy fennállt a hiba). A I2C buszon nincs más eszköz, egy kb. 15cm-es vezetéken lóg. Erre vonatkozóan nincs semmi "körítés" elektronika. A táp oldalon 12V jön, egy 5V-os feszültségstabilizátor, 5V-os oldalon egy 1800uF pufferkondi, azt hiszem egy 1nF-os szűrőkondi, meg egy zener dióda, biztos ami biztos.
Mondanám hogy kontakthiba, de fent van magasan, hozzá sincs nyúlva, a szél se fújja meg. Az is érdekes, hogy van olyan ami mindig jó, minden tápelvétel után, meg olyan is, amit szinte mindig 8-10x restartolni kell.
Ötlet, hogy mi a gond, vagy hogy kéne kiküszöbölni?