I2C制御16bit ADC MCP3425(3)
前回に引き続き、ゲイン設定を自由にしてくれるプログラムを書いたのでメモ。
var Adc = require('./adc'); adc = new Adc({gain:1, accuracy:16}); adc.start(); var Vmax = [ 2.048, 1.024, 0.512, 0.256 ] var gain = 8; adc.on('complete', function(v){ var idx = Math.log2(gain); if(gain > 1 && Vmax[idx] * 0.95 < Math.abs(v)) { gain /= 2; } else if(gain < 8 && Vmax[idx+1] * 0.95 > Math.abs(v)) { gain *= 2; } else { // 適切なゲインの測定結果 console.log('gain:' + gain + ' ' + v); } adc.updateConfig({gain:gain}); adc.start(); });
console.log
の行ではゲインが適切に変えられた値を得ることが出来ます。