実現したいこと
感圧センサーを用いて,一定時間の圧力を検知したら,緑色のLEDを消灯し,赤色のLEDを点灯させたいです.一定時間の圧力を検知しない場合,緑色のLEDは消灯し,赤色のLEDを点灯し続けたいです.
ブレッドボード
発生している問題・エラーメッセージ
一回目に感圧センサーを8秒間押したときは緑色のLEDが3秒間点灯し,赤色のLEDが消灯します.しかし,二回目以降の感圧センサーを押しても,一定時間の圧力がかかっていないのに,すぐに緑色のLEDが点灯し,赤色のLEDが消灯してしまいます.感圧センサーの押された時間の計測方法が適切ではないという予想はしていますが,どのように改善すればよいかわかりません.押された時間のリセットが必要なのでしょうか.ご教授お願い致します.
該当のソースコード
const int green = 13; const int red = 2; const int vol = 0; int startTime; void setup() { pinMode(green,OUTPUT); pinMode(red,OUTPUT); } void loop() { int sensorValue = analogRead(vol); if(sensorValue < 1000){ startTime = millis(); if(startTime >= 8000){ digitalWrite(green,HIGH); digitalWrite(red,LOW); delay(5000); } } else{ digitalWrite(green,LOW); digitalWrite(red,HIGH); } }
試したこと
startTime = 0;により計測された時間のリセットを試みましたが,うまくいきませんでした.

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