Использование резистора, чувствительного к силе, и ввода времени

Таким образом, приведенный ниже код измеряет силу воздействия на FSR. Я хотел бы знать, что мне нужно изменить в этом коде, чтобы он мог записывать, как долго нажимается FSR. Поэтому вместо «Какая сила воздействует на FSR?», я хочу спросить «Как долго FSR давят?»

Любая помощь будет принята с благодарностью

#include<SoftwareSerial.h>
#include <Wire.h>
SoftwareSerial bluetooth_port(0, 1); //порты для Rx и Tx
int flexSensorPin; // Датчик изгиба для контакта 0

void setup() 
{

  Serial.begin(9600); // Запускаем последовательную передачу
}


void loop() 
{ 

  flexSensorPin = analogRead(A0); // Изгибаем штифт датчика
  Serial.print(flexSensorPin);
  Serial.println("EOL");

  delay(100);

}

, 👍-1

Обсуждение

проверьте функцию millis(), @jsotola

вам нужно уточнить свой вопрос ... является ли «где-то около 3 секунд» приемлемым измерением времени?, @jsotola

Когда «принудительно» нет, прочитайте значение датчика, а затем начните считать, что-то вроде: if(sernsorReading != 0){начало подсчета}, @ElectronSurf


1 ответ


1

Используйте аналоговый компаратор, реализованный в AVR. эта функция отслеживает два аналоговых уровня и генерирует прерывания, если один из них становится выше или ниже другого, как установлено. используйте это прерывание для записи/остановки счета. на AIN подключается к FSR, а другой к потенциометру для определения порога. вот несколько ссылок, которые помогут вам начать работу.

http://www.gammon.com.au/forum/?id=11916 https://github.com/tardate/LittleArduinoProjects/tree/master/playground/AnalogComparator

,

Спасибо, я обязательно проверю эти ссылки, @user19964