良く調べたら,micro:bitの「アナログ出力」とは,PWM出力でした。波形も見ずに投稿してすみません。こちらのドキュメントによれば,最小で256usということなので,3.906kHzということになります。
テスターで確認した時,適当にRMSになったようです。申し訳ありません。
(追記終わり)
設計仕様
- ポート P1 に,電圧を出力する。
- 電圧値は [A] [B] ボタンを押して設定する。調整は+/-0.1V単位。0 〜 3.3Vとなる。
- 設定値をLEDで表示する。
- 家にある安いデジタルテスターで動作確認した。設計値よりも若干低い値が出ている? だが,十分に実用となるだろう。
- エディターのエミュレーションでは,出力値が 0 か 1 しか表示しない。残念!
input.onButtonPressed(Button.B, function () {
if (volt > 0) {
volt += -1
display_volt()
}
})
input.onButtonPressed(Button.A, function () {
if (volt < 34) {
volt += 1
display_volt()
}
})
function display_volt() {
// basic.showNumber(volt)
basic.showLeds(`
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
`)
for (let i = 0; i <= Math.floor(volt / 10) - 1; i++) {
led.plot(0, 4 - i)
led.plot(1, 4 - i)
}
for (let i = 1; i <= (volt - 10 * Math.floor(volt / 10)); i++) {
led.plot(3 + (i % 2), 5 - Math.round(i / 2))
}
}
let volt = 0
basic.forever(function () {
pins.analogWritePin(AnalogPin.P1, 1023 * volt / 33)
})
0 件のコメント:
コメントを投稿