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

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

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

Сообщение Naman_S »

пару дней уже сижу разбираюсь с написанием прошивки, так до конца и не пойму принцип опроса энкодера, вообщем вот что примерно смог изобразить
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <avr/eeprom.h>
unsigned char my_y;

EEMEM uint16_t ee_zn, ee_zns; /* переменная размером в 2 байта в EEPROM
volatile char pwm_counter,my_y,button1, button = 0;

// Обработчик прерывания int0
ISR(SIG_INTERRUPT0)
{_delay_us(50);
if((PIND & (1 << PD2))==0)
{_delay_us(50);
if((PIND & (1 << PD0))==0)
}
GIFR = (1< 63)
{
PORTB = 0x00;
pwm_counter = 0;
}
if (pwm_counter > my_y) PORTB |= (1 << PB0);
}



// Главная функция

int main (void)
{
DDRB |= (1 << PB0); // выходы
PORTB = 0x00;
DDRD |= (0 << PD3)|(0 << PD2)|(0 << PD1)|(0 << PD0); // входы
PORTD |= (1 << PD2)|(1 << PD1)|(1 << PD0)|(1 << PD3); // подключаем подтягивающие резисторы
TIMSK |= (1 << TOIE0); // разрешение прерывания по таймеру0
TCCR0 |= (1 << CS00);

MCUCR |= (0 << ISC00)|(1 << ISC01); // прерывание по заднему фронту INT0(по спаду импульса)

GIFR |= (1 << INTF0); // очищаем флаг внешнего прерывания
GICR |= (1 << INT0); // разрешаем внешние прерывания INT0
sei(); //глобально разрешаем прерывания

while(1) // первый режим

{

my_y = eeprom_read_byte(&ee_zn); // считали значение из EEPROM
{ my_y--; if(my_y < 1) my_y = 1; }

else

{ my_y++;}

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

}

while(2) ((PIND & (1 << PD3))==0) //второй режим пока нажата кнопка
{

my_y = eeprom_read_byte(&ee_zns); // считали 2 значение из EEPROM
{ my_y--; if(my_y < 1) my_y = 1;}

else

{ my_y++; }

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

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

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

Сообщение titoFF »

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

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

Сообщение Naman_S »

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

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

Сообщение titoFF »

ну так надо проверить в работе, сразу все ясно станет. На первых порах протеус очень помогает. И ещё- не надо цитировать сообщение, если оно предыдущее, за это могут наказать.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

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

Сообщение YS »

не надо цитировать сообщение, если оно предыдущее
Не надо цитировать сообщение целиком, смысл в этом.
Последний раз редактировалось YS Чт сен 05, 2013 18:08:14, всего редактировалось 1 раз.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Реклама
titoFF
Встал на лапы
Сообщения: 100
Зарегистрирован: Пт авг 02, 2013 07:20:04

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

Сообщение titoFF »

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

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

Сообщение Naman_S »

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

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

Сообщение vitalik_1984 »

titoFF писал(а):П.С. Когда копируете исходный код в форум, пользуйтесь тегом code, он так намного лучше воспринимается.
Нифига подобного, если только не писать каждый раз =php

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

 
[code=php]
#define c 5
 main ();
[/code]
На выходе так:

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

#define c 5
 main (); 
Naman_S
Открыл глаза
Сообщения: 60
Зарегистрирован: Пн авг 26, 2013 23:24:01

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

Сообщение Naman_S »

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

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

Сообщение vitalik_1984 »

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

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

Сообщение Naman_S »

я понимаю что без разниц, но как подключить вывод мк к плюсу диодной ленты на которую нужно 12 в? как все соберу, если заоаботает тогда и выложу прошивку

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

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

Сообщение titoFF »

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

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

Сообщение Naman_S »

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

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

Сообщение titoFF »

Naman_S писал(а):как подключить вывод мк к плюсу диодной ленты на которую нужно 12 в?
http://www.getchip.net/posts/062-kak-po ... -nagruzku/
http://sxemy.103mb.ru/poleviki/39-podkl ... lleru.html
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

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

Сообщение vitalik_1984 »

Naman_S писал(а):p.s. Каждый раз задаю тут вопрос, но ни на один не получил конкретного ответа
Может нужно конкретнее вопросы задавать.
Ваше >> (но вот что делать если нет возможности подключить шим на минус?)
можно по разному понять.
а вот( Подскажите схемку для подключения ленты для подачи +12в шим с помощью полевого транзистора). уже будет точнее ответ.
И если задают уточняющие вопросы, то можно бы и ответить.Вдруг следующий ответ будет конкретным.

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

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

Сообщение Naman_S »

думаю все мои вопросы достаточно понятны, и в вопросе про подключение я не имел обязательно ввиду транзистор, вопрос был именно кто как знает это можно сделать, хоть с помощью молотка и лома, так что не нужно говорить про не точность вопросов, а по поводу 14 сообщений и что из этого, т.е. про то что никто ничего конкретного не написал нужно было упомянуть только после 2000 сообщений
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 может я конечно что то не понимаю, но сколько не пробую собирать такие схемки в протеусе нифига не работает, тупо идет 12 в и все, поэтому и спрашиваю, если можешь собери подобную рабочую схемку в протеусе и скинь, может я где то косячу
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

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

Сообщение vitalik_1984 »

Я для чего две недели назад спрашивал какой нужен транзистор полевой или обычный, для того, чтобы можно было посоветовать схему.
А в ответ кувалдой и зубилом :facepalm:
Можно ведь обычный применить или полевой. Транзистор обычный легче подключать, но есть недостатки- не очень большой ток, к примеру.
Можно применить полевой транзистор, но для мощных полевых транзисторов нужен драйвер.
Ответить

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