Туть главное, чтобы клиент галетник от “потенциометра” не отличил!
ну ты блин, двух зайцев “замочил” сразу ![]()
Чтение-модификация-запись. Лишние “телодвижения” для конкретного скетча.
Ну и положение потенциометра может быть на границе АЦП 127-128 единиц. Шум АЦП тоже никто не отменял. Так что код не совершенен))
приятно, что хоть кто то понимает, а то один квакнул из ветвей, а сделать как надо, не удосужился)
я в #256 выкладывал, а выше пытался все это донести, надоело потом.
Накину
const uint8_t leds[] = { LEDS };
void setup() {
}
void loop() {
for (uint8_t i = 0; i < sizeof(leds); i++)
off(leds[i]), out(leds[i]);
on(ain(POT) / (ADC_RESOLUTION / sizeof(leds));
delay(PERIOD);
}
а до завтра потерпеть, не? ![]()
Если уж делать правильно) При неподвижном потенциометре нечего теребить пины.
Должен быть гистерезис при чтении АЦП. Реагировать не на каждое шевеление ручки потенциометра, а только когда сменится диапазон. например 0-122 на 133-250.
Даже комп заглючил
А может и не надо. “Шевеление” младшего разряда - это ж так по ламповому ![]()
Ну, Вы прям убивца ![]()
Можно же более элегантно, типа “не любишь писать лишние буквы, хорошо, Суд решил пойти навстречу и приговорил к пожизненному программированию на брейнфаке”!
С пятницей, господа!
А, кстати. Денис Ритчи умер примерно в это же время 15 лет назад. За него нельзя не выпить!
Книжка Керниган и Ритчи «Язык программирования Си» обелденная.