Дверные контакты
- Войдите на сайт для отправки комментариев
Ср, 09/11/2016 - 22:35
Привет всем! Недавно начал познавать ардуино и начал с самого простейшего: имитация дверных контактов...
Идея такая: первый провод от GND и второй от Digital Pin №9(~). При контакте проводов программа пишет "Door close", при разрыве "Door open".
Вот код:
int doorCont1 = 9; int val1 = 0; void setup() { Serial.begin(9600); } void loop() { val1=digitalRead(doorCont1); if (val1==0){ Serial.println("Door close"); }else Serial.println ("Door open"); delay(1000); }
Проблема: я вообще не знаю в чём проблема... Такое ощущение, что контролле живёт своей жизнью. При пуске в мониторе порта всё показывает верно при размыкании и соединениее проводов. Но буквально через 20 секунд показания начинают меняться и программа вообще не реагирует на положение проводов. (я даже их вытаскивал из гнёзд, программа писала то close, то open...
Так в чём же ошибка?)
Вы открыли секретный код, обнаруживающий потусторонних сущностей ! :)
PS: погуглите про PULLUP
Добро пожаловать
во первых пин9 надо или подтянуть в +5в резистором 1-4.7ком или включить внутреннюю подтяжку командой digitalWrite(9, HIGH)
Если провода будут достаточно длинные то лучше резистором, меньше помех будет, еще лучше между пин9 и gnd поставить конденсатор 0.1мкф
во вторых почитайте про дребезг контактов. Вам нужно его учесть
ne4eHbKa.Vbg, представьте себе, что дверные контакты - это кнопка, по сути ведь так оно и есть ? А дальше почитайте здесь http://arduino.ru/forum/programmirovanie/rabota-s-knopkami-v-pomoshch-novichku начало темы и всё станет Вам ясно.
Уважаемый, внутренняя подтяжка помогла!) щас буду читать что это такое (ткнул наобум в void stup).
А про дребезг контактов слышал, но не думал что здесь она проявится... Спасибо огромное!!!
И Вам спасибо!
Дерзайте.
Дребезг есть везде где есть механическая составляющая
Дребезг есть везде где есть механическая составляющая
Если Клапауций не запретит.
Дребезг есть везде где есть механическая составляющая
Если Клапауций не запретит.
дверной дребезг я разрешил
Дребезг есть везде где есть механическая составляющая
Если Клапауций не запретит.
дверной дребезг я разрешил
Открываешь дверь, а там Клапауций с сертификатом на дребезг двери :)