24bit A/Dコンバータ NAU7802 をRaspberry Piで動かすためのnpmモジュールを作ったので公開した。
NAU7802は単品だと入手しづらいが、けっこうあちこちで使われていて、たとえばSparkFunでもブレークアウトボードつきで入手できる。
電圧の読み取り・チャネル切り替え・レート切り替え・キャリブレーションなどのよく使う機能がさくっと呼び出せるような内容になっている。将来、もうちょっと細かい関数を追加してバージョンを上げていくことになると思う。
RPiで初めてI2Cを使う場合はコマンドラインから
sudo raspi-config
を叩いてI2Cをenableする必要がある。
const NAU7802 = require('nau7802');
const adc = new NAU7802(1); // NAU7802 is connected to I2C.1 bus
adc.start();
adc.selectChannel1(); // Select channel
adc.setRate80SPS(); // Sampling rate
adc.startCycle();
setInterval(()=>{
console.log("ADC value=%d", adc.readADCValue());
}, 1000);
こんな感じで使える。