Не удается получить постоянные значения для гибких датчиков

#arduino #sensors

#arduino #датчики

Вопрос:

Я работаю над проектом по созданию гибкой сенсорной перчатки, которая должна интерпретировать язык жестов. Для этого мне нужно подключить 5 гибких датчиков. 2 гибких датчика реагируют в зависимости от того, насколько я их сгибаю, поэтому они работают нормально, но 3-й датчик (4-й и 5-й также делают то же самое) ведет себя так, как будто я постоянно его сгибаю. Значения, которые я получаю, являются нормальными для 1-го и 2-го датчиков, но значение для 3-го датчика продолжает меняться.

Я хотел использовать простейший код, чтобы проверить, правильно ли работают мои датчики.

 int flexPin1 = A0;
int flexPin2 = A1;
int flexPin3 = A2;
int value1; 
int value2;
int value3;

void setup()
{ 
 Serial.begin(9600);      
 pinMode(flexPin1,INPUT);
 pinMode(flexPin2,INPUT);
 pinMode(flexPin3,INPUT);
}

void loop()
{
 value1 = analogRead(flexPin1);        
 value2 = analogRead(flexPin2);  
 value3 = analogRead(flexPin3);  

 Serial.println(value1);
 Serial.println(value2);
 Serial.println(value3);
 delay(1500);
}   
  

Пример из значений, которые я получаю:

  • 498 (Значение, которое я получаю от первого датчика)
  • 530 (Значение, которое я получаю от второго датчика)
  • 72 (Значение, которое я получаю от третьего датчика)
  • задержка 1,5 секунды
  • 498 (первый датчик)
  • 530 (второй датчик)
  • 198 (третий датчик) -> Хотя я его не сгибал, третий датчик изменил свое значение. через 1,5 секунды это дает мне нечто совершенно другое.

Ответ №1:

Проблема, похоже, на аппаратной стороне, а не в программном обеспечении. Я не понимаю, почему один и тот же код должен вести себя по-разному для разных датчиков. Попробуйте подключить третий датчик к A0 и посмотрите, по-прежнему ли возникает проблема. Если это происходит на A0, то проблема определенно на стороне датчика.

Комментарии:

1. Спасибо за ваш ответ. Я пробовал это для каждого датчика, но все они работают нормально. Проблема всегда начинается с подключения более 3 датчиков.

2. Хорошо, это кажется действительно странным. Можете ли вы попытаться установить небольшую задержку примерно в 10 мс после каждой операции, которая считывает значение?