ここから本文です

Arduino のPWM出力で255が5Vに変換するのはどうしてですか?

アバター

ID非公開さん

2019/6/703:05:17

Arduino のPWM出力で255が5Vに変換するのはどうしてですか?

閲覧数:
66
回答数:
3

違反報告

ベストアンサーに選ばれた回答

nac********さん

2019/6/704:15:54

正確に言えば、
ArduinoのanalogWrite関数のソースでは
0と255の引数のときはdigitalWriteで処理しています。
なので、もはや、PWM出力では無いからです。

↓analogWrite()内を一部抜粋


if (val == 0)
{
digitalWrite(pin, LOW);
}
else if (val == 255)
{
digitalWrite(pin, HIGH);
}
else
{
switch(digitalPinToTimer(pin))

  • nac********さん

    2019/6/716:22:36

    8ビットタイマーなら256で1回転でしょ??

    なぜ255/256の筈が256/256なの?っていう疑問なんじゃないの?

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

tom********さん

2019/6/712:25:58

pwm/255×5v
だから。

電子工学と算数を勉強しましょう。

dai********さん

2019/6/710:10:24

8ビットのPWMでは255は100%デューティーですから出力は常時ハイレベルです。

Arduinoのマイコンが5V電源で動作しているタイプならハイレベルは5V近くの電圧になります。近くと言ったのは電源電圧と負荷の状態で変わるからです。

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる