Fermentor hőmérséklet méréséhez tartozó C kód (I2C)

A hőmérséklet mérést termisztorral valósítjuk meg, lásd előző cikk (Hőmérséklet mérés termisztorral). Az adatfeldolgozásért  és továbbításért egy egycsipes mikrovezérlő az ATmega328 lesz a felelős, ami igen nagy luxusnak számít, tekintve a csip kapacitását, viszont demonstrációs célok és a jobb áttekinthetőség kedvéért emellett döntöttünk. Az alábbi kód 0-1023 között egy átlagolt számot küld I2C interfészen keresztül a raspberrynek, az ezen futó szerver oldali kód pedig majd elvégzi a hőmérséklet kiszámítását a Steinhart–Hart összefüggés alapján.

Egy dologra mindenképpen figyelni kell, a setup részben meg van adva, hogy egy külső referencia feszültséget vegyen alapul

a nagyobb pontosság miatt, így az AREF lábat (21-es) mindenképpen egy referencia feszültségre kell kötni, ellenkező esetben nem kapunk vissza valós értéket.

A szerver oldali kód javascript-ben pedig így néz ki:

 

Share This:

 
Loading Facebook Comments ...

Leave a Comment