オン・オフもしくは PWM しか出せないマイコンで電気的な事を考えずわりと正確な直流電圧がとれて便利な IC が DAC です。自分は二個入りの MCP4726 を使っています。同系列の MCP4725 は A0 端子で I2C アドレスを選べますが MCP4726 ではその端子は Vref となっており、I2C アドレスを選べない代わりに出力電圧の最大値を VDD 以下に変更できそうな(ピンに入力してやる)感じに見えますが、怖くてやったことありません::(´-` ):: 5V でいいもん…
初期値設定
MCP472X は EEPROM を持っており、電源投入時に出力される電圧の初期値を設定しておける仕組みを持っています。
しかし 0V 以外でうれしい場合、…どうでしょう。自分は今のところないんですよね。いくつか記事を読みましたが、特段にこれは書く必要ないだろう的な雰囲気を感じました。
でも ”できない” というのはちょっと違うので探してみました。
https://github.com/adafruit/Adafruit_MCP4725
ここを見ると、どうやら beginTransmission するときの I2C アドレスにちょびっとなんか足してある感じです。6 ビット目が起きているようす。データシート読み慣れてなくてたったこれだけの事を理解できずにいました。
このコードを流用すれば、いざというときに設定を変更できます。よかったですね~( ᷇ ᵕ ᷆ )
0コメント