#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 мс после каждой операции, которая считывает значение?