Нужна помощь по коду
- Войдите на сайт для отправки комментариев
Втр, 12/04/2016 - 18:59
Всем привет! Недавно купил arduino uno. Чуть изучил язык и делал по урокам простые схемки. Сейчас делаю rgb ночник. Но вот одна проблема: при затемнении фоторезистора включается красный. Потом ещё темнеет-зелёный, НО красный остаётся включенным. Также и с синим. Что надо исправить в коде, чтобы горел только один цвет.
void loop() { if (analogRead(foto) < 300) digitalWrite(r, HIGH); else (digitalWrite (g, LOW) && digitalWrite(b, LOW)); if (analogRead(foto) < 200) digitalWrite(g, HIGH); else (digitalWrite (r, LOW) && digitalWrite(g, LOW)); if (analogRead(foto) < 50) digitalWrite(b, HIGH); else (digitalWrite (r, LOW) && digitalWrite(g, LOW));
Что надо исправить в коде, чтобы горел только один цвет.
А else-то при каких делах? Наоборот, надо в блок объединять. Типа
и так же в остальных двух.
А всё равно 3 цвета излучает
Вы все три блока сделали как у меня и горят все три цвета?
Тогда приводите полный скетч. а не огрызок и схему подключения.
Попробуйте изменить условия в строках номер 3 и 7. Так как в границы условия analogRead(foto) < 300 попадают и условия строк номер 7 и 11: analogRead(foto) < 200; и analogRead(foto) < 50. А в границы условия строки 7 попадает условие строки 11.
В третьей строке не просто <300, а поменяйте на <300 & >=200.
В седьмой строке не просто <200, а поменяйте на <200 & >=50.
Я не настаиваю на своей правоте, но попробовать стоит.
Причин может быть много. Нужно увидеть весь скетч и схему. В приведенном куске скетча нет delay-ев, тогда получается постоянное мерцание диодов, что визуально проявляется как постоянное свечение.
Но это в том случае, когда значение < 50
А когда поменяете условия, то тогда конечно делеи не нужны.
Navigator, открою Вам страшную тайну - в своём сообщении можно нажать на надпись "изменить" и дописать туда. Необязательно постить несколько сообщений подряд.
P.S. Простите за оффтоп.
а это правда будет работать?
а это правда будет работать?
Кабы б digitalWrite было не void, то работало бы, только не так, как автору хочется (можно было бы попкорном запсаться).
А так - даже скучно, компилятор ругнётся и на этом всё веселье закончится :(
Jeka_M. Замечание принято. Просто хотел помочь человеку с кодом, задача как раз для моего начального уровня, но постоянно отвлекал телефон.