前の状態との比較

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら

トピックに返信する


答えを正確にご入力ください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: 前の状態との比較

Re: 前の状態との比較

#2

by みけCAT » 7年前

  • ~ADC系の関数の実装も仕様も載っていません。
    返ってきている値は期待通りですか?
  • ADreadZやprev_zの型がわかりません。
    符号なし整数同士の引き算は、負の数のかわりに大きな正の数になることがあります。

前の状態との比較

#1

by c素人 » 7年前

加速度センサを使用して衝突検知(衝撃検知)を行う考えです。

前の状態と今の状態を比較して、0以上であれば衝撃と判断するプログラムです。
(しきい値0の妥当性は、まだ確認できていません。)

↓のコードで試しているのですが、
1.加速度センサを動かしていない状態でも、衝撃検知と判断してしまいます。(LEDが点灯)
2. 条件式を >10000 としても、衝撃検知と判断してしまいます。(LEDが点灯)
⇒加速度センサは10bit A/Dで取得しているため、 >10000はあり得ないのですが、これでもLEDが点灯してしまいます。


何かコードに不備があるのでしょうか。

コード:

   while(1)
   {
   //加速度センサZ軸データ取得
   SetChanADC(ADC_CH0);
   ConvertADC();
   while( BusyADC());
   ADreadZ = ReadADC();

   if ( prev_z-ADreadZ  >0){
       LED1=1;            //LED点灯
       delay_ms(100);
       LED1=0;            //LED消灯
       delay_ms(100);
   }
       prev_z = ADreadZ;


   }

ページトップ