Помогите с кодом товарищи!
- Войдите на сайт для отправки комментариев
Пнд, 25/06/2012 - 18:38
Здравствуйте дорогие форумчане!
Если честно, я в тупике! Я новичек в программировании, думаю тупик этим объясняется :) По замыслу код должен делать следующее: когда происходит смена состояния с LOW на HIGH и наоборот на 7 ноге ардуины она должна моргнуть светодиодом.. В реале будет стоять концевик на двери и лампа моргающая при открытии и закрытии. Кажется все просто, но как решить не знаю.
Выручайте люди добрые!!
ех.. чтоб я так жил.. ставим МК чтоб лампочкой мигать.. а вообще ТЗ не грамотно составили. Нужно один раз мигнуть при смене состояния концевика, мигать в состоянии открытой двери и т.д. ?
на самом деле это одна из функций. По ТЗ:
Мигнуть надо один раз при смене состояния. При открытой двери лампа выключена. При закрытой двери лампа так же выключена.
Храним предыдущее состояние концевика, сравиванием с текущим, если отличается, зажигаем лампу, задержку ставим, гасим лампу, перезаписываем предыдущее состояние на новое
// создаём переменные
переменная типа бит состояние_концевика_было=1;
переменная типа бит состояние_концевика_щас=0; //ноль тут чтоб разок мигнуть на старте, для теста
функция установки() {
режимПина(13,выход);
режимПина(1,вход);
}
функция бесконечная_круговерть() {
состояние_концевика_щас=цифрупрочитать(1);
если (состояние_концевика_щас<>состояние_концевика_было) {
состояние_концевика_было=состояние_концевика_щас;
цифрузаписать(13, HIGH); //зажечь
рауза(100); //подождать
цифрузаписать(13, LOW); /погасить
}
}
//как то так вот
И в самом деле спасибо, Tamer, все работает! digitalWrite(inPin, HIGH); - включает подтягивающий к +5 встроенный резистор 20кОм для исключения влияния помех. Иначе самопроизвольно моргает. Управляется землей.
Кому интересно код ниже.
ourlive, паралельно писАли :)