###前提・実現したいこと
学校の課題でArudino、3軸加速度センサーを用いての万歩計を作成しています。3軸からの値を取り入れて、上限閾値、下限閾値を用いて歩いているか歩いていないかを判別する。というプログラムを制作したいです。(ある程度簡単な物ができれば良い)
###発生している問題・エラーメッセージ
閾値を用いての判別ができない(カウント変数が常に固定されてしまう)。
一時的に閾値を超えてカウント変数が1になってもそのあとすぐに0に戻ってしまいます。どのようにプログラムコードを書けば通常状態は0、閾値を1度越えるとリセットするまで1。のようにできるでしょうか。
エラーメッセージ
###該当のソースコード
void loop() {
B = sqrt(x^2+y^2+z^2); A = B*0.1 + A*0.9 ; Serial.println("A:"); Serial.println(A); if(A > HThre ){ Hcount = 1; } else Hcount = 0; if(A < LThre){ Lcount = 1; } Serial.print("H:"); Serial.print(Hcount); Serial.print("L:"); Serial.print(Lcount); if(Hcount = 1 && Lcount == 1){ walk=walk+1; Hcount = 0; Lcount = 0; } } walkは歩数の数です。Hthreは上限閾値 LThreは下限閾値で 上限閾値と下限閾値を越えるとそれぞれのカウントが1になりそれぞれが1の状態だと"1歩歩いた"ということになりまたそれらのカウントが0に戻り、また判定を開始する、という仕組みにしているつもりです。Aは1~4の値を取ります ###試したこと ###補足情報(言語/FW/ツール等のバージョンなど) ArudinoはC,C++対応です

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。