Добро пожаловать, Гость
Логин: Пароль: Запомнить меня

ТЕМА: Таймер с IR управлением.

Таймер с IR управлением. 13 сен 2020 15:49 #1

  • forest70
  • forest70 аватар
  • Не в сети
  • Harness is online
  • Сообщений: 35
  • Спасибо получено: 19
Здравствуйте, Soir.
Если у Вас будет возможность напишите, пожалуйста, прошивку для таймера с управлением IR-пультом. Нужен таймер который будет отсчитывать время для отключения телевизора и внешнего УНЧ от сети 220В.
ТЗ во вложении.
Вложения:
Администратор запретил публиковать записи гостям.

Таймер с IR управлением. 13 сен 2020 16:03 #2

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 11525
  • Спасибо получено: 4150
  • Respect sxem.org Sponsor 2019 Author
Не понял, что же все-таки должна делать команда от пульта и что делает таймер. Подали питание, таймер отсчитал и отключил питание? Нажали кнопку на пульте - это обнуление таймера или отключение питания?

По поводу контроллера. На ATTINY13 обучаемый пульт не получится. Не знаю, есть ли смысл делать обучаемым. Гораздо проще и надежнее считать код с нужной кнопки и зашить его в контроллер. Тогда подойдет любой контроллер.
Администратор запретил публиковать записи гостям.

Таймер с IR управлением. 13 сен 2020 16:16 #3

  • forest70
  • forest70 аватар
  • Не в сети
  • Harness is online
  • Сообщений: 35
  • Спасибо получено: 19
Нажатием кнопки на пульте таймер обнуляется.
По программированию кнопки согласен с Вами, надежнее зашить в контроллер.
Администратор запретил публиковать записи гостям.

Таймер с IR управлением. 13 сен 2020 16:20 #4

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 11525
  • Спасибо получено: 4150
  • Respect sxem.org Sponsor 2019 Author
Тогда Вам нужно считать этот код.
Администратор запретил публиковать записи гостям.

Таймер с IR управлением. 13 сен 2020 16:45 #5

  • forest70
  • forest70 аватар
  • Не в сети
  • Harness is online
  • Сообщений: 35
  • Спасибо получено: 19
Подскажите, как это правильно сделать?
Администратор запретил публиковать записи гостям.

Таймер с IR управлением. 13 сен 2020 16:52 #6

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 11525
  • Спасибо получено: 4150
  • Respect sxem.org Sponsor 2019 Author
Если нет отдельного гаджета, который способен определять код, тогда через звуковую карту компьютера. Поищите в интернете, все уже неоднократно описано, схема - три детали. Полученный звуковой файл сбросите мне, а я его уже расшифрую.
Администратор запретил публиковать записи гостям.
Спасибо сказали: forest70

Таймер с IR управлением. 13 сен 2020 17:10 #7

  • forest70
  • forest70 аватар
  • Не в сети
  • Harness is online
  • Сообщений: 35
  • Спасибо получено: 19
Понял. Завтра попытаюсь сделать.
Администратор запретил публиковать записи гостям.

Таймер с IR управлением. 14 сен 2020 14:02 #8

  • forest70
  • forest70 аватар
  • Не в сети
  • Harness is online
  • Сообщений: 35
  • Спасибо получено: 19
Сделал запись посылки с ПДУ на звуковую карту компьютера.
В архиве файл record01 записывался через фотоприёмник VS1838. Кнопка «ANGLE» на пульте нажималась 3 раза в период записи.
Файл record02 записывался через фотодиод ФД-27К, кнопка нажималась 2 раза.
Вложения:
Администратор запретил публиковать записи гостям.

Таймер с IR управлением. 14 сен 2020 18:59 #9

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 11525
  • Спасибо получено: 4150
  • Respect sxem.org Sponsor 2019 Author
Да код есть. Это расширенная версия протокола NEC, если Вам это интересно.
Завтра напишу тестовую прошивку для обработки этого кода, нужно еще проверить, правильно ли я его расшифровал.
Администратор запретил публиковать записи гостям.

Таймер с IR управлением. 14 сен 2020 20:03 #10

  • forest70
  • forest70 аватар
  • Не в сети
  • Harness is online
  • Сообщений: 35
  • Спасибо получено: 19
Интересно. Готовлю макетку для тестов.
Администратор запретил публиковать записи гостям.

Таймер с IR управлением. 14 сен 2020 20:23 #11

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 11525
  • Спасибо получено: 4150
  • Respect sxem.org Sponsor 2019 Author
В общем-то прошивка простая, так что уже должна быть и рабочая - совместим тесты кода и алгоритма работы.

В архиве проект, прошивка и FUSE. Если нужно переназначение выводов - пишите какие куда, посмотрю.

Время записывается в ячейку с адресом [0x00]. Если в этой ячейке значения больше 240 ([0xF0]), тогда берется по умолчанию 30 минут.

Могу сделать и выбор кнопки пульта через EEPROM. Это будет несколько сложнее и в пределах одного пульта (хотя наверно можно сделать и в пределах протокола NEC), но возможно. Если такое нужно, тогда после успешных испытаний напомните мне, я распишу подробно.
Также (и также наверно, нужно будет еще глянуть по наличию свободной памяти МК) можно было бы и обучать приемник в пределах этого пульта. Но это также потом...
Вложения:
Последнее редактирование: 20 сен 2020 16:47 от Soir. Причина: Обновление прошивки.
Администратор запретил публиковать записи гостям.
Спасибо сказали: forest70

Таймер с IR управлением. 15 сен 2020 06:14 #12

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 11525
  • Спасибо получено: 4150
  • Respect sxem.org Sponsor 2019 Author
Памяти МК хватило на обучение приемника в пределах данного пульта. На отдельную кнопку программирования нет свободных выводов. Поэтому процедура следующая:
- Выключить питание.
- Нажать и удерживать кнопку CONTINUE.
- Подать питание. Должен включиться светодиод LED_1.
- Отпустить кнопку.
- Направить на приемник пульт и нажать выбранную кнопку.
- В случае успешной записи светодиод LED_1 погаснет. Устройство перейдет в обычный режим работы.
Администратор запретил публиковать записи гостям.

Таймер с IR управлением. 22 сен 2020 14:22 #13

  • forest70
  • forest70 аватар
  • Не в сети
  • Harness is online
  • Сообщений: 35
  • Спасибо получено: 19
Для тех, кто захочет повторить таймер.
Он создавался для контроля времени работы телевизора изготовленного с переделанного монитора, куда был установлен TV-скалер на основе LUA63A82.
Пульт дистанционного управления TV-скалером использует расширенную версию протокола NEC.
Порядок роботы таймера:
При нажатии кнопки SА1 подается питание на процессор, который включает реле К1. Реле своими контактами K1.1 блокирует кнопку SА1.
Светодиод LED_2 тремя вспышками сигнализирует о начале обратного отсчёта времени. На последней минуте перед отключением светодиод LED_2 начинает моргать с частотой 1Гц, по истечении которой всё отключается.
Время работы таймера по умолчанию 30мин. По желанию это время можно изменить. Значение записывается в ячейку EEPROM с адресом [0x00]. Если в этой ячейке значения больше 240 ([0xF0]), тогда берется по умолчанию 30 минут.
LED_1 осуществляет индикацию приёма команд с пульта дистанционного управления телевизора.
Нажав на пульте кнопку «POWER OFF» всё отключится преждевременно. Также это можно сделать, нажав кнопку SA3 (OFF ) в схеме таймера. Код кнопки «POWER OFF» вписан в прошивку МК.
Кнопка в схеме SA2 (Continue) перезапускает таймер преждевременно (если пульт затерялся). Также это можно сделать любой кнопкой пульта, которая была запрограммирована на команду Continue. У меня это кнопка «ANGLE», на неё не реагирует TV-скалер.
Процедура записи кнопки следующая:
- Выключить питание.
- Нажать и удерживать кнопку CONTINUE.
- Подать питание. Должен включиться светодиод LED_1.
- Отпустить кнопку.
- Направить на приемник пульт и нажать выбранную кнопку.
- В случае успешной записи светодиод LED_1 погаснет. Устройство перейдет в обычный режим работы.
Код кнопки при записи запишется ячейку 0x01 EEPROM
Схема и печатка в архиве.
Вложения:
Последнее редактирование: 22 сен 2020 14:25 от forest70. Причина: изменения
Администратор запретил публиковать записи гостям.
Спасибо сказали: Oto
Модераторы: wolf2000, Vakula, Айнцвайдрайченко, Soir