реклама на сайте
подробности

 
 
40 страниц V  « < 11 12 13 14 15 > »   
Reply to this topicStart new topic
Xenia
сообщение May 13 2015, 15:30
Сообщение #181


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(demiurg1978 @ May 13 2015, 18:27) *
Мой параллельный проект обрастает функционалом. Добавил громкость. Видео. Какие у вас там еще кнопки? Mute, что еще?


Какой-то гнусный ваш проект sm.gif - больше одного диода одновременно гореть не должно.
Go to the top of the page
 
+Quote Post
demiurg1978
сообщение May 13 2015, 15:31
Сообщение #182


Местный
***

Группа: Участник
Сообщений: 333
Регистрация: 19-12-13
Из: Новосибирск
Пользователь №: 79 709



Цитата(Xenia @ May 13 2015, 22:30) *
Какой-то гнусный ваш проект sm.gif - больше одного диода одновременно гореть не должно.

? sm.gif
Go to the top of the page
 
+Quote Post
Xenia
сообщение May 13 2015, 15:42
Сообщение #183


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(love777888 @ May 13 2015, 13:25) *
Еще раз о алгоритме,
1) Включили в сеть кнопкой,
2) Срабатывает pwr on, на выходе этого пина с атмеги должен быть высокий уровень 5вольт самое то для управления ключем. и реле.
...


Предлагаю вам простенький вариант, сделанный на коленке sm.gif. А именно - оставить всё так, как есть сейчас, с одной лишь малюсенькой разницей, что на PD0 будет высокий уровень (5 вольт).

Кнопка Power на ДПУ будет "выключательной", т.е. при ее нажатии уровень на PD0 упадет и силовой трансформатор обесточится. Т.е. кнопка Power будет погружать Грюндик в спячку, но не требовать своего нажатия в момент механического включения питания. Мол, раз включили, то надо работать, а не спать.

Кстати, в описании протокола RC5 она как раз и называется STANDBY.

А вот из спящего режима (в который попадают после однократного нажатия Power) выводит ЛЮБАЯ (!) нажатая кнопка, не только ДПУ, но и кнопки на панели. В этом случае Мега8 делает сама себе Resеt, после которого снова наступит обычное состояние бодрствования.
Go to the top of the page
 
+Quote Post
demiurg1978
сообщение May 13 2015, 15:44
Сообщение #184


Местный
***

Группа: Участник
Сообщений: 333
Регистрация: 19-12-13
Из: Новосибирск
Пользователь №: 79 709



Цитата(Xenia @ May 13 2015, 22:42) *
...

O_O
Go to the top of the page
 
+Quote Post
Xenia
сообщение May 13 2015, 16:02
Сообщение #185


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Алгоритм, описанный в моем прошлом посте, закодирован здесь: as19.

P.S. Поправка!
В прошлом коде обнаружен недочет. Испытывать эту: as20.
Go to the top of the page
 
+Quote Post
demiurg1978
сообщение May 13 2015, 16:31
Сообщение #186


Местный
***

Группа: Участник
Сообщений: 333
Регистрация: 19-12-13
Из: Новосибирск
Пользователь №: 79 709



Задействован алгоритм с дежурным питанием. Кнопками сымитировано нажатие кнопки ПДУ Power. Регулировка громкости. Mute.

CODE

//========================================================================
void proc_amplifier (void)
{
static u08 _proc_amplifier;

if (_proc_amplifier != PROC_AMPLIFIER_INIT)
{
kbd_drv ();
}

switch (_proc_amplifier)
{
case PROC_AMPLIFIER_INIT: // Инициализация ввода-вывода, переменных.
// proc_amplifier_init (); // В этом блоке инициализация периферии. ПДУ, SPI, микросхема.

_proc_amplifier = PROC_AMPLIFIER_ON_DELAY_INIT;
break;

case PROC_AMPLIFIER_STANDBY_MODE: // Дежурный режим усилителя.
if (Get_Event (EV_ID_KEY_PRESSED) && (GetKeyCode () == KEY_POWER_ON_COD)) // Если код ПДУ POWER, то
{
_proc_amplifier = PROC_AMPLIFIER_ON_DELAY_INIT; // включение усилителя.
}
break;

case PROC_AMPLIFIER_ON_DELAY_INIT:
pwr_relay_on (); // Включение реле питания.

_blink_leds = 0; // Инициализация состояния модуля.
_delay_for_speaker = 0; // Инициализация состояния модуля.

_proc_amplifier = PROC_AMPLIFIER_ON_DELAY;
break;

case PROC_AMPLIFIER_ON_DELAY: // Мигание светодиодов. Задержка включения колонок.
if (Get_Event (EV_ID_SPEAKER_ON))
{
_proc_amplifier = PROC_AMPLIFIER_WORK_MODE;
return;
}

blink_leds (); // Мигание светодиодов.
delay_for_speaker (); // Задержка включения колонок.
break;

case PROC_AMPLIFIER_WORK_MODE:
if (Get_Event (EV_ID_KEY_PRESSED)) // Если код ПДУ
{
u08 key = GetKeyCode ();

switch (key)
{
case KEY_POWER_ON_COD:
_proc_amplifier = PROC_AMPLIFIER_OFF_DELAY_INIT; // POWER, то - дежурный режим усилителя.
break;

case KEY_VOLUME_UP_COD:
Set_Event (EV_ID_VOLUME_CHANGE, SET_CLR_EVENT);
set_volume_dir (VOLUME_UP);
break;

case KEY_VOLUME_DOWN_COD:
Set_Event (EV_ID_VOLUME_CHANGE, SET_CLR_EVENT);
set_volume_dir (VOLUME_DOWN);
break;

case KEY_MUTE_COD:
mute_switch ();
break;

default:
break;
}
}

proc_motor_vol ();
break;

case PROC_AMPLIFIER_OFF_DELAY_INIT:
speaker_relay_off (); // Отключение реле колонок.

set_timer (ST_PROC_AMPLIFIER, NO_RERUN_TIMER, AMPLIFIER_OFF_DELAY);
_proc_amplifier = PROC_AMPLIFIER_OFF_DELAY;
break;

case PROC_AMPLIFIER_OFF_DELAY:
if (wait (ST_PROC_AMPLIFIER))
{
pwr_relay_off (); // Отключение реле питания.
_proc_amplifier = PROC_AMPLIFIER_STANDBY_MODE;
}
break;

default:
break;
}
}
//------------------------------------------------------------------------

//========================================================================
static u08 _proc_motor_vol;
static u08 volume_dir;

void proc_motor_vol (void)
{
switch (_proc_motor_vol)
{
case 0:
if (Get_Event (EV_ID_VOLUME_CHANGE)) // Если код ПДУ
{
switch (volume_dir)
{
case VOLUME_UP:
motor_vol_up_on ();
break;

case VOLUME_DOWN:
motor_vol_down_on ();
break;

default:
break;
}

set_timer (ST_PROC_AMPLIFIER, NO_RERUN_TIMER, 200);
_proc_motor_vol = 1;
}
break;

case 1:
if (wait (ST_PROC_AMPLIFIER))
{
motor_vol_up_off ();
motor_vol_down_off ();

_proc_motor_vol = 0;
}
break;

default:
break;
}
}

void set_volume_dir (u08 dir)
{
volume_dir = dir;
_proc_motor_vol = 0;
}


Сообщение отредактировал demiurg1978 - May 13 2015, 16:33
Go to the top of the page
 
+Quote Post
love777888
сообщение May 13 2015, 16:34
Сообщение #187


Местный
***

Группа: Участник
Сообщений: 207
Регистрация: 1-05-15
Из: Брест
Пользователь №: 86 471



Приду домой обязательно проверю, заказаную микросхему 162 буду ждать, послушаю гуру Ксению ,торопиться с 32 не буду.
Go to the top of the page
 
+Quote Post
Xenia
сообщение May 13 2015, 16:41
Сообщение #188


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(love777888 @ May 13 2015, 19:34) *
Приду домой обязательно проверю, заказаную микросхему 162 буду ждать, послушаю гуру Ксению ,торопиться с 32 не буду.


Вы точно уверены, что DIP40 заказали, а то бывают еще квадратные - TQFP44 и MLF44?
Go to the top of the page
 
+Quote Post
love777888
сообщение May 13 2015, 16:44
Сообщение #189


Местный
***

Группа: Участник
Сообщений: 207
Регистрация: 1-05-15
Из: Брест
Пользователь №: 86 471



да дип40 про 44ножку тогда речи не шло.
Go to the top of the page
 
+Quote Post
Xenia
сообщение May 13 2015, 16:48
Сообщение #190


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(love777888 @ May 13 2015, 19:44) *
да дип40 про 44ножку тогда речи не шло.


Я тут обнаружила, что и панельки под DIP40 дорогими стали (дороже 50 руб в розницу). Кстати, из старых выброшенных телевизоров такую панельку можно выковырить. sm.gif Вам такие не встречались?
Go to the top of the page
 
+Quote Post
demiurg1978
сообщение May 13 2015, 16:53
Сообщение #191


Местный
***

Группа: Участник
Сообщений: 333
Регистрация: 19-12-13
Из: Новосибирск
Пользователь №: 79 709



Цанговые панельки SCLM-40 в розницу около 50 р. И это нормальная цена. Учитывая, что бакс подорожал.
Go to the top of the page
 
+Quote Post
Xenia
сообщение May 13 2015, 17:20
Сообщение #192


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(demiurg1978 @ May 13 2015, 19:53) *
Цанговые панельки SCLM-40 в розницу около 50 р. И это нормальная цена. Учитывая, что бакс подорожал.


А вот, поглядите какой ужас! - https://www.terraelectronica.ru/catalog.php...p;search=sclm40
Go to the top of the page
 
+Quote Post
demiurg1978
сообщение May 13 2015, 17:24
Сообщение #193


Местный
***

Группа: Участник
Сообщений: 333
Регистрация: 19-12-13
Из: Новосибирск
Пользователь №: 79 709



Ксения, вот вам шаблон-проект. В состоянии PROC_AMPLIFIER_INIT инициализируете порты, ввод-вывод, SPI, микросхему и так далее. Опрос кнопок и прием кодов ПДУ в состояниях: PROC_AMPLIFIER_STANDBY_MODE и PROC_AMPLIFIER_WORK_MODE, увидите в коде. В состоянии PROC_AMPLIFIER_STANDBY_MODE прием только кода POWER. В состоянии PROC_AMPLIFIER_WORK_MODE все остальные коды. С этим проектом можно замахнуться и на более жирный МК, чем ATMEGA8 (мой проект скомпилирован и проверен на ATMEGA32A). К сожалению у меня нет в наличии пульта и приемника. Так что коды мне проверить попросту нечем. В моем проекте реализованы дежурный режим. Громкость. Mute. Дело осталось за вами. Если что, пишите здесь или в личку.

Сообщение отредактировал demiurg1978 - May 13 2015, 17:25
Прикрепленные файлы
Прикрепленный файл  TEMPLATE_FOR_XENIA.rar ( 87.17 килобайт ) Кол-во скачиваний: 6
 
Go to the top of the page
 
+Quote Post
Xenia
сообщение May 13 2015, 17:29
Сообщение #194


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(demiurg1978 @ May 13 2015, 20:24) *
Ксения, вот вам шаблон-проект. ... С этим проектом можно замахнуться и на более жирный МК, чем ATMEGA8 (мой проект скомпилирован и проверен на ATMEGA32A). К сожалению у меня нет в наличии пульта и приемника. Так что коды мне проверить попросту нечем. В моем проекте реализованы дежурный режим. Громкость. Mute. Дело осталось за вами. Если что, пишите здесь или в личку.


Так и мне не на чем его проверять. Скомпилите его для Мега8 и предложите love777888. Пусть он и выбирает, чей проект лучше. sm.gif
Go to the top of the page
 
+Quote Post
demiurg1978
сообщение May 13 2015, 17:32
Сообщение #195


Местный
***

Группа: Участник
Сообщений: 333
Регистрация: 19-12-13
Из: Новосибирск
Пользователь №: 79 709



Я не работал с RC5 никогда. Поэтому не зная каких-либо нюансов, в слепую, даже пытаться не буду. Впрочем, пусть ТС распишет все входы и выходы. Попробую...

Сообщение отредактировал demiurg1978 - May 13 2015, 17:32
Go to the top of the page
 
+Quote Post

40 страниц V  « < 11 12 13 14 15 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th June 2025 - 02:41
Рейтинг@Mail.ru


Страница сгенерированна за 0.01481 секунд с 7
ELECTRONIX ©2004-2016