Наводки, длина кабеля :(
- Войдите на сайт для отправки комментариев
Добрый день!
Для возможного будущего проекта решил поставить следующий эксперимент.
Дано:
1. Помещение 10*5 метров
2. 6 стендов. на каждом стенде по 4 кнопки.
3. Каждый стенд подключен к ардуино кабелем "витая пара" не экранированным. Длины кабелей варьируются в диапазоне 10-20 метров
4. Каждая кнопка на стенде висит на своей паре (т.е. в 1 кабель собирается сигнал с 4 кнопок стенда)
к кнопке подведены соответственно цветной\белый и цветной кабели.
5. На ардуино все 6 кабелей "витая пара" раздеты следующим образом:
все цветные\белые провода кабеля обжаты единой клеммой, все цветные провода также обжаты единой клеммой.
клемма цветного\белого кабеля подключается к GND на Ардуино, а клемма цветных проводов к соответствующему аналоговому входу платы.
Задача: при нажатии любой кнопки на любом стенде выдавать через Arduino Uno в RS 232 цифру, соответствующую номеру аналогового входа на плате.
Итак, простейший скетч написан
void setup() { Serial.begin(9600); } void loop() { int sensorValue0 = analogRead(A0); int sensorValue1 = analogRead(A1); int sensorValue2 = analogRead(A2); int sensorValue3 = analogRead(A3); int sensorValue4 = analogRead(A4); int sensorValue5 = analogRead(A5); if (sensorValue0==0) { Serial.print(0); } if (sensorValue1==0) { Serial.print(1); } if (sensorValue2==0) { Serial.print(2); } if (sensorValue3==0) { Serial.print(3); } if (sensorValue4==0) { Serial.print(4); } Serial.println(99); delay(100); }
кабели подведены. Плата подключена к USB компа. "Протяжка, продувка...", фэйл :(
В порт валится поток мусора :(
т.е. наблюдаю, например "01499", "2499","099"
Если отключаю провода от аналоговый входов (всех!), то получаю только "99", т.е. как и должно быть.
Но как только подключаю хоть 1 из проводов - снова мусор в эфире.
В случае если просто скрепкой замыкаю контакты аналогового входа и GND, то все ОК ("099", "499" и т.д.)
Коллеги, подскажите, пожалуйста, как же правильно реализовать мою задачу? Что я делаю не так? Что я упустил?
Спасибо.
Схему бы...
В описании же я не нашел ни слова о подтяжке входов к плюсу/земле, это так ?
P.S. Пожалуйста, выложите схему.
Если на скорую руку, то как-то так
Спасибо, теперь все понятно. Нет подтяжки. Читайте http://arduino.ru/forum/programmirovanie/rabota-s-knopkami-v-pomoshch-novichku, там уже в самом начале сказано
"Дело в том, что пин МК (в режиме входа) должен иметь заранее известное состояние (1или 0).
В «подвешенном» состоянии будет собирать внешние наводки (статические, электрические и электромагнитные излучения).
Чтобы привести пин в заранее известное состояние и используют подтягивающие резисторы."
ну и далее.
И ещё, я не понял - при такой схеме, какой смысл читать аналоговое значение?
Кондёрчики подвесьте, пляска прекратится
А вообще какой сакральный смысл кнопки и аналогового чтения её??????????????
Araris,
Огромное спасибо!
Поставил подтяжки и все заработало.