Запрошуємо, Гість
Ім'я користувача: Пароль: Запам’ятати мене

ТЕМА: Простой таймер на ATtiny

Простой таймер на ATtiny 02 січ. 2017 17:17 #1

  • Ur5got
  • Ur5got аватар
  • Оффлайн
  • I'm here long time
  • Дописи: 90
  • Подякували: 12
  • sxem.org Sponsor 2020,2023
Soir, здравствуйте.
В Вашем арсенале таймеров случайно не найдется прошивки с описанным ниже простым алгоритмом работы (прототип схемы на любом из ATtiny13(45,85) прилагается)?

1. При включении питания на выводе 2 низкий уровень - светодиод погашен; на выводе 3 высокий уровень - звукового сигнала нет.

2. При однократном нажатии на кнопку S3 на выводе 2 появляется высокий уровень - светодиод горит.
При следующем однократном нажатии на кнопку S3 на выводе 2 появляется низкий уровень - светодиод гаснет.
На выводе 3 при нажатии кнопки S3 кратковременно появляется низкий уровень (озвучка нажатия).

3. При однократном нажатии на кнопку S1 на выводе 2 появляется высокий уровень на время, равное Т1 - светодиод горит. По истечении времени Т1 светодиод гаснет. Время Т1 (до 10 минут) хранится в EEPROM (чтобы его можно было изменить).
На выводе 3 при нажатии кнопки S1 кратковременно появляется низкий уровень (озвучка нажатия).
Последние пять секунд времени Т1 на выводе 3 происходит ежесекундное появление низкого уровня (сигнал, что через пять секунд светодиод погаснет).

4. При однократном нажатии на кнопку S2 на выводе 2 появляется высокий уровень на время, равное Т2 - светодиод горит. По истечении времени Т2 светодиод гаснет. Время Т2 (до 10 минут) хранится в EEPROM (чтобы его можно было изменить).
На выводе 3 при нажатии кнопки S2 кратковременно появляется низкий уровень (озвучка нажатия).
Последние пять секунд времени Т2 на выводе 3 происходит ежесекундное появление низкого уровня (сигнал, что через пять секунд светодиод погаснет).

Подключение кнопок и нагрузок к указанным выводам МК не принципиально.

Останнє редагування: 02 січ. 2017 17:18 від Ur5got.
Увійдіть до облікового запису, щоб писати повідомлення.

Простой таймер на ATtiny 02 січ. 2017 18:08 #2

  • Soir
  • Soir аватар
  • онлайн
  • Moderator
  • Дописи: 13645
  • Подякували: 5175
  • sxem.org 2019,2021 Respect Author
Что-то похожее было, но легче с нуля написать, чем искать и переделывать.

Какая дискретность установки времени таймеров?
Увійдіть до облікового запису, щоб писати повідомлення.

Простой таймер на ATtiny 02 січ. 2017 18:22 #3

  • Ur5got
  • Ur5got аватар
  • Оффлайн
  • I'm here long time
  • Дописи: 90
  • Подякували: 12
  • sxem.org Sponsor 2020,2023
5 секунд будет достаточно.
Увійдіть до облікового запису, щоб писати повідомлення.

Простой таймер на ATtiny 02 січ. 2017 18:38 #4

  • Soir
  • Soir аватар
  • онлайн
  • Moderator
  • Дописи: 13645
  • Подякували: 5175
  • sxem.org 2019,2021 Respect Author
А что должно быть, если во время отсчета таймера нажать кнопку? Опишите действия во всех таких случаях.

P.S.
Набросал проект.
Таймер 1 - ячейка EEPROM с адресом 0x00.
Таймер 2 - ячейка EEPROM с адресом 0x01.
Значения таймеров считываются из EEPROM и умножаются на 5. Если, например, нужно задать интервал времени 8 минут 50 сек, то в EEPROM следует записать число (8*60+50)/5 = 106 (или 0x6A в hex-формате). Записанное число не должно быть более 200, - иначе берется по умолчанию 12 (1 минута).

Нажатие на кнопку отменяет предыдущую программу и запускает новую.
Длительное нажатие (более 3 сек) на любую кнопку переводит устройство в первоначальное состояние.
Что не так - пишите.
В архиве проект в Proteus, прошивка и FUSE.
Долучення:
Останнє редагування: 02 січ. 2017 20:05 від Soir. Причина: Обновление прошивки.
Увійдіть до облікового запису, щоб писати повідомлення.

Простой таймер на ATtiny 02 січ. 2017 19:14 #5

  • Ur5got
  • Ur5got аватар
  • Оффлайн
  • I'm here long time
  • Дописи: 90
  • Подякували: 12
  • sxem.org Sponsor 2020,2023
Для режимов с таймером кратковременное нажатие - ничего не изменяет. Продолжительное нажатие (более 3 секунд) - сбрасывает таймер и переводит устройство в начальный режим - выходы выключены, ожидается нажатие кнопки.

Хотел проверить в железе, но не оказалось ни одной Tiny13. А насколько сложно адаптировать прошивку для Tiny45(85).

---
Сообщения объединил. Нарушение Правил, раздел 5, п.8
Soir.
Останнє редагування: 02 січ. 2017 20:20 від Soir. Причина: Нарушение правил.
Увійдіть до облікового запису, щоб писати повідомлення.

Простой таймер на ATtiny 02 січ. 2017 20:18 #6

  • Soir
  • Soir аватар
  • онлайн
  • Moderator
  • Дописи: 13645
  • Подякували: 5175
  • sxem.org 2019,2021 Respect Author
Attiny45
Долучення:
Увійдіть до облікового запису, щоб писати повідомлення.

Простой таймер на ATtiny 02 січ. 2017 21:48 #7

  • Ur5got
  • Ur5got аватар
  • Оффлайн
  • I'm here long time
  • Дописи: 90
  • Подякували: 12
  • sxem.org Sponsor 2020,2023
Быстренько собрал макетку на Attiny45 - все работает как и требовалось. Длительное нажатие какой-либо из кнопок выключает любой из запущенных таймеров - удобно.
Как только найду Attiny13 - также проверю прошивку.

Soir, примного благодарен за помощь!
Увійдіть до облікового запису, щоб писати повідомлення.
Модератори: wolf2000, Vakula, Айнцвайдрайченко, Soir