Re: Емкостной сенсор на МК + светодиод (ШИМ)
Добавлено: Вт янв 15, 2013 20:16:04
Не могу ничего сделать. Proteus не хочет с моей восьмой виндой работать. Будь она не ладна....
Здесь можно немножко помяукать :)
https://radiokot.ru/forum/
Копипаст меня подвел.DerMeister писал(а):Почему в case 2 вы отнимаете OCR0B? а не OCR0A?
Тут все просто аналог этих вычислений (temp3*255+temp2-temp1);DerMeister писал(а):temp3=((temp3<<8)|temp2)-temp1; //вернули число тиков счетчика
Объясните пожалуйста как работает выделенный фрагмент.
Отработка длинного и короткого нажатия спрятана тутDerMeister писал(а):Во-вторых: Отработки длинного и короткого нажатия я так и не увидел.
Код: Выделить всё
status = time_of_button(pressed());
switch(status)
{
case 1:{short_pressing(); break;}
case 2:{long_pressing(); break; }
default: break;
}//end of switch(status) Блин а я наоборот думал мало комментариев в основном ваши и осталисьDerMeister писал(а):хоть и закомментирована она хорошо(за что отдельное спасибо).
Не переменные, а константыDerMeister писал(а):Я думаю нужно править переменные.
Код: Выделить всё
#define DEF_TIME 50 //порог срабатывания
#define DEF_LONG 150 //время длительного нажатия
#define TIME_DREBEZG 20 //время дребезга
#define PWM_MIN 30 //минимальное значение яркости
#define PWM_MAX 254 //максимальное значение яркости Точно. Выкладывайте свой код тожеБарсик писал(а):Мне так кажется, что Вам, для начала, надо отделить мух от котлет.
Выкладываю:vitalik_1984 писал(а):Выкладывайте свой код тоже.![]()
Стоило тратить сообщение для такой короткой реплики? Подскажите лучше как правильно настроить, и регулировать. У меня с таймером мало опыта работы, с ШИМ вообще почти ноль.urry писал(а):Я думаю, что будут прыжки яркости при регулировке.
Отработка длинного и короткого нажатия спрятана тут
Да, да. Конечно же Вы правы.Не переменные, а константы
Спасибо большое! Вроде понял. Правда не знаю на долго ли...Тут все просто аналог этих вычислений (temp3*255+temp2-temp1);
Я не претендую на абсолютную правоту. Просто говорю то, что видел сам: с усреднением работало у меня даже чуть хуже чем без усреднения. Правда я не разбирался почему.нужно все же усреднять хотя бы 8 значений
Спасибо за примерчик! Будем разбираться.я как раз пытался решать аналогичную задачку
такое могло быть из-за того, что функции отработки неправильно организованы или от того, что настройка порога срабатывания не верна длинные нажатия срываются и получаются как короткие.я имел ввиду в работе не увидел такого. Не отличает короткие и длинные.