Помогите с проектом (Чуть-чуть осталось.Ребята выручайте!!!)
- Войдите на сайт для отправки комментариев
Вс, 11/09/2016 - 18:49
Доброго вечера. Есть проект фонаря на мк (ардуино). Нехватает чуть-чуть кодинга. Исправьте пожалуйста если где ошибаюсь. Три режима должно быть. 50%-75%-100%. То есть управления яркостью с помощью одного светодиода. Вот собственно кодинг
int regim=1; int flag=0; void setup() { pinMode(1, INPUT); pinMode(2, INPUT); pinMode(5, OUTPUT); } void loop() { if(digitalRead(2)==HIGH&&flag==0) { regim++; flag=1; if(regim>3) { regim=1; } if(digitalRead(2)==LOW&&flag==1) { flag=0; } if(regim==1)//первый режим { analogWrite(5,85); } if(regim==2)//второй режим { analogWrite(5,170); } if(regim==3)//третий режим { analogWrite(5,255); } }}
Для чего подключаете первый пин?
Ой, забыл удалить. Или по просту посчитайте, что первого пина нет и все. А насчет условий, выражений что добавите? Логика неправильная мне кажется
Я не совсем уверен. В первый if вложены остальные if-ы. Может их просто расставить попорядку без вложения.
Т.е. в строку 17 поставить закрывающюю скобку и в 38 одну убрать.
А как сейчас реагирует светодиод на нажатие кнопки?
Возможен еще дребезг контактов
режим 2 совершенно бесполезен. так как нет никаких задержек
До написания скетча проверяли, как светит диод на значениях 50, 75% ? Один может полностью погаснуть и на 50%, а другой незначительно темнее светить.
void
loop
() {
..........
val = analogRead(analogPin);
// считываем значение
Serial.println(val);
// выводим полученное значение
Serial.println();
delay(1000);
}
Зачем аналоговый вход? Если я считаю с цифрового?! Еще идей?!
выводим в монитор порта.
жмем/отпускаем кнопку и видим визуально, что происходит..
Уже все сказано.
До написания скетча определите какие значения подавать на пятый пин. А ваши 50, 75 процентов просто расчитаны или проверены опытным путем?
Потом добавьте delay (200)
Если не заработает как нужно, то выводите в 17-ой строке Serial.println(regim)
08
pinMode(5, OUTPUT);
Для вызова analogWrite() нет необходимости устанавливать тип вход/выхода функцией pinMode().
http://arduino.ru/Reference/AnalogWrite
А зачем сложности городить?
балалайка
выбесит дребезгом, а балалайка #11 - тупняком.