Шим регулятор яркости светодиодов на atmega8

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: Шим регулятор яркости светодиодов на atmega8

Сообщение vitalik_1984 »

Вот так нужно было:
Спойлер

Код: Выделить всё

    while((PIND&(<< PD4))==0)
            {
            button = 0;
            _delay_ms(10);
            //my_y = eeprom_read_byte(&ee_zn); // считали значение из EEPROM
            _delay_ms(100);
            if((PIND & (<< PD1))==1) // если нажата кнопка энкодера
                {
                while((PIND&(<< PD1))==0){} //ждем отпускания кнопки
                //eeprom_write_byte(&ee_zn, my_y ); // записываем 1 значение в EEPROM;
                _delay_ms(100);
                }
            }
    

    
    while
((PIND&(<< PD4))==1)
        {
            button = 1;
            _delay_ms(10);
            //my_b = eeprom_read_byte(&ee_zns);
            _delay_ms(100);// считали 2 значение из EEPROM
            if((PIND & (<< PD1))==1) // если нажата кнопка энкодера
            { 
                while
((PIND&(<< PD1))==0){} // ждем отпускания кнопки
                //eeprom_write_byte(&ee_zns, my_b );// записываем 2 значение в EEPROM;
                _delay_ms(100);// ждем отпускания кнопки энкодера

            }
        } 

А portb=0xFF это я для примера привел, (считаем, что нужно изменить состояние порта внутри этих циклов).
Naman_S
Открыл глаза
Сообщения: 60
Зарегистрирован: Пн авг 26, 2013 23:24:01

Re: Шим регулятор яркости светодиодов на atmega8

Сообщение Naman_S »

со скобками уже понял, но вот кто подскажет на счет записи яркости, даже если просто добавляю в циклах строки где присваиваю переменным любое значение, программа работает не пойми как
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: Шим регулятор яркости светодиодов на atmega8

Сообщение vitalik_1984 »

Нынешний код в студию :)
Naman_S
Открыл глаза
Сообщения: 60
Зарегистрирован: Пн авг 26, 2013 23:24:01

Re: Шим регулятор яркости светодиодов на atmega8

Сообщение Naman_S »

код пока тот же, что с записью и чтением переменных так я и не понял, а времени разобраться пока нет, дней пять уже до компа дойти не могу
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: Шим регулятор яркости светодиодов на atmega8

Сообщение vitalik_1984 »

Ну с этим же кодом вы просто убьете свою ЕЕПРОМ память. Если в цикле нажатой кнопки будет всегда производиться запись в нее.
Может лучше придумать алгоритм работы самого устройства. А потом уже его осуществлять в самой программе? Таким образом расширяя свои познания в данной области.
Naman_S
Открыл глаза
Сообщения: 60
Зарегистрирован: Пн авг 26, 2013 23:24:01

Re: Шим регулятор яркости светодиодов на atmega8

Сообщение Naman_S »

да нет запись будет не частая, режимы будут работать по длительному времени, зажатая кнопка это просто грубо говоря я просто так для удобства назвал, если все будет нормально, то запись в епром думаю будет не чаще чем раз в месяц, ну может чуть чаще, думаю при такой частоте записи епром проживет довольно долго
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: Шим регулятор яркости светодиодов на atmega8

Сообщение vitalik_1984 »

Алгоритм работы устройства составьте и наброски кода. Будем думать вместе.
Naman_S
Открыл глаза
Сообщения: 60
Зарегистрирован: Пн авг 26, 2013 23:24:01

Re: Шим регулятор яркости светодиодов на atmega8

Сообщение Naman_S »

хорошо, завтра как попаду к компьютеру все опишу
Naman_S
Открыл глаза
Сообщения: 60
Зарегистрирован: Пн авг 26, 2013 23:24:01

Re: Шим регулятор яркости светодиодов на atmega8

Сообщение Naman_S »

в последнее время катастрофически не хватает времени, вот вообщем общий алгоритм и задумка этого устпойства, как и все в наше время я решил переделать подсветку в своем авто, ну и к этому еще решил добавить регулировку яркости и второй режим, ну и алгоритм работы такой включаем зажигание включается наше устройство и начинает работать первый режим, тут мы регулируем яркость с помощью энкодера, и далее нажимаем на кнопку энкодера и наша яркость запоминается, далее включаем свет и включается второй режим и тут все тоже замое, вот именно это включение света я и подразумевал под зажатие кнопки.
titoFF
Встал на лапы
Сообщения: 100
Зарегистрирован: Пт авг 02, 2013 07:20:04

Re: Шим регулятор яркости светодиодов на atmega8

Сообщение titoFF »

Допустим на пинд.1 у нас висит свет авто. При появлении на нем 1- свет включен.
Псевдокод:
while(1==PIND.1)
{
//здесь программа будет крутиться, пока включен свет
}
while(0==PIND.1)
{
//здесь, пока не включен
}
в этих циклах можешь опрашивать энкодер, кнопки, взводить флаг режима и прочее. Можно сделать прерывание по переполнению таймера, а в прерывании проверять флаг режима и присваивать значение переменной текущего режима в регистр сравнения шим. Переменную для каждого режима надо будет свою. Вариантов масса. Пищу для размышления дал, дальше сам.
titoFF
Встал на лапы
Сообщения: 100
Зарегистрирован: Пт авг 02, 2013 07:20:04

Re: Шим регулятор яркости светодиодов на atmega8

Сообщение titoFF »

А почему мега8? Для этих целей тиньки хватит. На меге тогда rgb делай, один канал мегой регулировать всё равно, что кировцем игрушечную машинку на буксире тянуть.
Naman_S
Открыл глаза
Сообщения: 60
Зарегистрирован: Пн авг 26, 2013 23:24:01

Re: Шим регулятор яркости светодиодов на atmega8

Сообщение Naman_S »

пока с этим надо разобраться, а потом конечно схемка претерпит изменения, но это все потом
titoFF
Встал на лапы
Сообщения: 100
Зарегистрирован: Пт авг 02, 2013 07:20:04

Re: Шим регулятор яркости светодиодов на atmega8

Сообщение titoFF »

Вообще- советую программный ШИМ освоить. Очень даже недурно выходит. На тиньке до 6 выводов можно ШИМить. А это 2 rgb канала.
Naman_S
Открыл глаза
Сообщения: 60
Зарегистрирован: Пн авг 26, 2013 23:24:01

Re: Шим регулятор яркости светодиодов на atmega8

Сообщение Naman_S »

примеров с кодом шима много и с ним проблем не очень много,щас у меня проблема с записью переменных в епром
titoFF
Встал на лапы
Сообщения: 100
Зарегистрирован: Пт авг 02, 2013 07:20:04

Re: Шим регулятор яркости светодиодов на atmega8

Сообщение titoFF »

В какой среде пишете? Какие проблемы с еепром?
titoFF
Встал на лапы
Сообщения: 100
Зарегистрирован: Пт авг 02, 2013 07:20:04

Re: Шим регулятор яркости светодиодов на atmega8

Сообщение titoFF »

Прочитал какие. Так надо ведь код выложить и проект в протеусе или схему. Сейчас что- то подсказывать- всё равно, что пальцем в небо тыкать. Одному вам известно, что у вас в коде.
Naman_S
Открыл глаза
Сообщения: 60
Зарегистрирован: Пн авг 26, 2013 23:24:01

Re: Шим регулятор яркости светодиодов на atmega8

Сообщение Naman_S »

Пишу в винавр на си, а проблемы описаны выше
Naman_S
Открыл глаза
Сообщения: 60
Зарегистрирован: Пн авг 26, 2013 23:24:01

Re: Шим регулятор яркости светодиодов на atmega8

Сообщение Naman_S »

Вот схемка
Вложения
upr.rar
(18.96 КБ) 201 скачивание
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: Шим регулятор яркости светодиодов на atmega8

Сообщение vitalik_1984 »

Ну и что там за двести выключателей? Мы должны теперь догадаться как это все должно работать?
Naman_S
Открыл глаза
Сообщения: 60
Зарегистрирован: Пн авг 26, 2013 23:24:01

Re: Шим регулятор яркости светодиодов на atmega8

Сообщение Naman_S »

ну думаю там все понятно, есть кнопка- это кнопка энкодера, есть переключатель который весит на пд4 это и есть условный выключатель второго режима, а два остальных это я просто для удобства себе делал, можно просто без них энкодер туда сюда нажимать
Ответить

Вернуться в «AVR»