Светодиоды, освещение, мигание от 0 до 100%
- Войдите на сайт для отправки комментариев
Вс, 01/12/2019 - 12:11
Задача заключается в том чтобы создать систему контроля освещенности: 10 светодиодов и каждый отображает пропорциональное значение освещения от 0 до 100% ( я так полагаю что каждый светодиод должен отображать по 10% освещения ?) плюс если яркость равна 0% светодиоды должны мигать.
Я сумел сделать только что если яркость равна 0% то светодиоды должны мигать, нужна помощь с остальным.
int first=2; int last=11; int svet; int pin; void setup() { Serial.begin(9600); for(pin = first; pin <=last; ++pin) { pinMode (pin, OUTPUT); } pinMode (A0, INPUT); } void loop() { svet = analogRead (A0); Serial.println(svet); for(int i=0;i<5;i++) { for(pin = first; pin <=last; ++pin) { digitalWrite (pin,1); delay(500); digitalWrite (pin,0); delay(500); } } }
Вроде как к моему заданию нужно применить порог яркости, но я не знаю как.
Я сумел сделать только что если яркость равна 0% то светодиоды должны мигать, нужна помощь с остальным.
Не, пока не сумели. Вашим светодиодам пофиг на яркость - они мигают всегда. Потому как значение переменной svet Вы только себе сообщаете, но нигде не используете. См. Оператор If..else
А курсовая горит
А курсовая горит
Это не совсем курсовая, скорее учебная практика
Спасибо исправил, но я так и не понял что делать с остальным.
ну почти готово же уже :)
А зачем нужен цикл в строке 20?
Так будет более привильно ИМХО:
ну почти готово же уже :)
Так, то есть надо добавить цикл с переменной i где она будет отвечать за светодиоды, но если с началом i проблем нету это 0 то вот конец вызывает вопросы, а если значение света 250 или 90 ? Это будет 90/100 это 0,9 или 250/100 это 25 и какой тогда будет гореть светодиод ?
А зачем нужен цикл в строке 20?
Так будет более привильно ИМХО:
Если использовать твой(ваш) код то гореть светодиоды будут только когда темно , а мне к этому надо еще чтобы каждый светодиод отображал определенный процент освещенности. То есть когда от 1 до 10% горит 1 светодиод от 11 до 20% второй и т.д. но все равно спасибо
На, разбирайся (загораются линейкой):
UPD убрал костыль
Возьмите микросхему LM3914N - это всё это уже готово. Пример с миганием есть в даташите. А ардуину для более полезных дел используете.
Евгений, это ему задали в (вставить учебное заведение)....
Вот загораются по одному:
UPD убрал костыль.
250/100 = 2.5, то есть будут гореть 0, 1 и 2. Ну и погасить ненужные с предыдущего loop-a не забыть.