前提・実現したいこと
パルス幅計測のプログラムを作成しております。
まずArduino Uno にてパルス幅計測 pulseIn命令を使用して
正確に計測できることを確認しました。10Hzから1.5KHz
Arduino Dueにおいて、pulseIn命令を正しく動作させるための
なにか設定などありますか?
もしくは、パルス幅計測のためのなんらかの方法はありますか?
発生している問題・エラーメッセージ
Arduino Unoで作成したプログラムをそのままArduino dueで使用した場合、
計測結果が正しくありません。
計測結果は周波数に換算していますが、
Arduino Unoで50Hzと出た結果が、Arduino dueでは39Hzから43Hzと
なり、High幅でもLow幅でも同じような結果になります。
該当のソースコード
widthHigh = pulseIn(plsHpin, HIGH);
widthLow = pulseIn(plsLpin, LOW);
widthPulse = widthHigh + widthLow;
rpmNow = 1000000/widthTotal;
試したこと
単なるpulseIn命令のみのみのため、入力ポートを変えてみたものの
同じ結果になります。
補足情報(FW/ツールのバージョンなど)
Arduino IDE 1.8.10
ボード Arduino Due(Programming Port)
回答2件
あなたの回答
tips
プレビュー