Официальный сайт компании Arduino по адресу arduino.cc
Регулировка длительности импульса
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Вс, 17/05/2020 - 13:54
Добрый день! Подскажите пож. кто разбирается, частота 1 Гц, прямоугольный импульс, нужно сделать регулировку ширины импульса от 0 до 100 % , т.е при 0% светодиод не светиться, на 50% 0,5 сек горит 0,5 сек не горит, на 100% светиться непрерывно, код на делай ниже. пробовал на миллис не выходит, как мне от делай избавиться? % меняются согласно положению переменного резистора.
void loop() { x=analogRead(A1); x = constrain(x, 0, 1000); int a = map(x, 0, 1023, 0, 100); //int b = map(analogRead(A0), 0, 1023, 0, 100); disp.displayInt(a); y=1000-x; digitalWrite(0,HIGH); delay(x); digitalWrite(0,LOW); delay(y); }
Что делает строка 8?
1. в песочницу
2. а лучше удалить и читать "блинк без делей" до простветления.
Скорее всего, очередное бессмысленное учебное задание.
ТС! Вот представь, что ты столяр. Приходит дитё и говорит: "Я раньше гвоздями все крепил, а теперь мне шурупы дали, как его ловчее молотком забить?". Первому ты отвечаешь, что нужна отвертка, второму, третьему, тридцатому... а сотому говоришь "Иди нахер!".
Так вот понятно?
Кстати вариант - черным маркером. А почему нет?
Ну началось.... опять «умники» пис*ками меряются)))) ведь просил кто знает, у не у кого длиннее, про песочницу не спорю, надо было туда, действительно. Ту статью про delay читал, не особо понял, «умники» зафлудили путный топик. 8 строка выводит показания на дисплей, это все работает, dalay убрать нужно чтоб другте задачи выполнять параллельно, может есть у когото кусочек кода для этих целей, без всяких там столяров и прочих безполезных бла бла бла
"блинк без делей» конечно работает, но там частота меняется от значения interval, при 50% заполнении, а у меня немного другая задача
Ну началось.... опять «умники» пис*ками меряются))))
Ну, началось, опять «дурики», вместо простых ответов на простые вопросы, начинают учить как им надо помогать.
может есть у когото кусочек кода для этих целей
А то! Держите! Вот Вам работающий "кусочек кода" - частота 1Гц, Процессор не занимает от слова совсем - по нулям. Заполнение задаётся функцией setBrightness (в строке №21 задано 64% для примера). Только что проверял на Nano - 100% работает.
Только не говорите теперь, что Вам что-то непонятно, и не требуйте объяснений. Я пытался Вам объяснить, но Вам не нужны объяснения, Вам "кусочек кода" нужен. Вот и кушайте его с маслом.
"блинк без делей» конечно работает, но там частота меняется от значения interval, при 50% заполнении, а у меня немного другая задача
ДУрень! Вот код "блинк без делей" с этого сайта, с того на котором мы сейчас.
А вот код того, что тебе нужно. добавлено 6 строк и рамочки из "//////////////"
Ну ты кудесник!!! Буду пробовать спасибо большое)))
Граф,
а чем мой ШИМ не устроил? Вроде ж ТС написал
Или просто параллельно писали?
Я читал в Вашей статье, классно, но не хотелось мне с таймерами разбираться для столь «низменных» целей))) спасибо за труд!!!
Граф,
а чем мой ШИМ не устроил? Вроде ж ТС написал
Или просто параллельно писали?
обязательно буду использовать в следующих проектах!!!
Граф,
а чем мой ШИМ не устроил? Вроде ж ТС написал
Или просто параллельно писали?
Женя! Первое - да, писал параллельно. А второе то, что человек не мог осознать, что изменить в блинк-без-делей! Чисто педагогическая цель была.
Теперь нужно поставить ТС оценку за проделанную работу)))
ТС, а чтоб еще точней интервалы ШИМ выдерживались, замени millis() на micros(). Чего все на миллисе помешались)))
Ну и избався от map().