とある素子の実環境下での特性を計測して数値化する案件で、素子の駆動量を sweep するための電圧信号を Adafruit Feather M0 Adalogger の DAC を使って(計測の質はその程度でいい)発生させようと思い、…
誰かやってないかなと検索したけど「これぞ」というものは終ぞ見つけられなかった。
おそらくは analogWrite() なる関数をコンパイルする際に出力先や分解能で PWM を使うか DAC を使うかを分けているのではないかと思っているが、図面は誰が見ても同じものが出来なければならないと思っている私には見る者に依って解釈が変わり得るコードは不安でしかない。
そもそも Arduino 黎明期というか当初のライブラリで歴とした 2 値の飽和出力なのに analogWrite() などという名前をつけたことが間違いだと思っているが、既に分かっている人には関心が薄いが故に明示していないだけなのか DAC を使う人が居ない或いは少なくて検索に引っ掛からないのか、…
ともあれやってみた。 Arduino IDE #1.89 で、書いたコードは次の通り。
const int dacPin = A0;
void setup() {
analogWriteResolution(10);
}
void loop() {
for(int i = 0; i <1024; i++){
analogWrite(dacPin, i);
delayMicroseconds(10);
}
}
これで鋸歯状波が出るはずなのでオシロで見たらばその通りなのが出ていました。 やはり勝手に判断している模様。
これを「わざわざ記事にすることもない」で済ませるか否かは難しいところ、なんですかねえ ?
今日は このくらいで。