У меня есть гибкий датчик, подключенный к плате Arduino, и я пытаюсь подсчитать, сколько раз датчик изгибался назад и вперед.
Я установил вложенный цикл if, чтобы датчик был полностью согнут, а затем полностью открыт, чтобы увеличить счет, однако он постоянно увеличивает счет, если держать его открытым.
Как заставить счет увеличиваться только тогда, когда датчик был согнут сначала за руку, затем за руку, после открытия?
#include <Servo.h>
Servo myServo;
const int flexPin = A0;
const int ledPin = 7;
bool closed = false;
int handOpenCount = 0;
int handClosed = 150;
int handOpen = 250;
void setup()
{
Serial.begin(9600);
pinMode(ledPin,OUTPUT);
}
void loop()
{
int flexValue;
flexValue = analogRead(flexPin);
Serial.print("sensor: ");
Serial.println(" ");
Serial.println(flexValue);
// Counts number of times hand has been open
if(flexValue<handClosed){
closed = true;}
if(closed=true){
if(flexValue>handOpen){
handOpenCount = handOpenCount + 1;
closed = false;}
Serial.println(handOpenCount);}