• 締切済み

モータの回転時間の測定

モータを回転させます。一回転するとセンサが反応します。その反応回数が20~23の3回転した時の時間を計りたいです。回転数のカウントは割り込みでON/OFFが切り替わったときにカウントします。 このプログラムをなかなか作成できません。いいやり方があれば教えてください。よろしくお願いします。

みんなの回答

  • ore100
  • ベストアンサー率54% (34/62)
回答No.2

>ON/OFFの切り替わるタイミングでカウントしたいのですが これは、センサの状態を一度メモリ(M1とします)に蓄えます。 次にセンサの状態を読み取りM1とEXORをとり、さらにANDをとります。(onが1となる場合:onが0の場合はnotで論理を反転します) これで1になればonエッジ(切り替わるタイミングです)。演算した後、センサの状態をM1にセットしてM1を更新してください。 EXORは状態が反転すると、1になります。EXORを取った結果と今のセンサの状態とでANDを取って1になればonエッジ(切り替わるタイミング)です。

  • arain
  • ベストアンサー率27% (292/1049)
回答No.1

そもそもの問題として、開発環境がわからないのでどうしようもないのですが、それは置いておくとして、 >このプログラムをなかなか作成できません。 どの部分が解決できないのでしょうか? やることは測定開始点を0として割り込みタイミングで時間を取得し、23回目の測定が終了した時点で23回目から20回目を引けばよいだけですが。 そとれも、時間の取得方法ですか?

katsuy
質問者

補足

ON/OFFの切り替わるタイミングでカウントしたいのですが、具体的にどのようにすれば切り替わるタイミングでカウントできるのかがわかりません。

関連するQ&A

専門家に質問してみよう