На работе столкнулся со следующей проблемой: каждый день выбирается дежурный из сотрудников школы, у которого одна из обязанностей — давать звонки по расписанию, нажимать на кнопку в учительской. Мне было все равно, пока не увидел этот процесс в деле — сижу в учительской, бежит женщина, буквально залетает в учительскую и со словами "пока добежишь с третьего этажа. " дает звонок, потом пол перемены приводит сердцебиение в норму. И так каждый день. Очень часто дают звонки не вовремя. Дошла очередь до меня. и понял что надо это дело автоматизировать.
Начнем с того что школа особенная, тут неделю учимся с утра (1 смена), неделю после обеда (2 смена), дни бывают сокращенные, тогда урок длится не по 45, а может по 40 и 30 минут. Составил соответствующее расписание звонков для каждого режима работы:
| 1 смена 45 | 1 смена 40 | 1 смена 30 | 2 смена 45 | 2 смена 40 | 2 смена 30 |
|---|---|---|---|---|---|
| 1 УРОК |
| 8:45 |
В качестве "мозгов" всей системы выбрал микроконтроллер ATmega8535, т.к. из имеющихся он больше всего подходит под данную задачу. Примерный интерфейс устройства:

кнопка "СМЕНА" выбирает текущий режим работы
кнопка "ЧАСЫ +" добавляет часы, "ЧАСЫ -" убавляет, и тоже самое с минутами.
Выбранную смену отображает соответствующий надписи светодиод.
В качестве индикаторов выбрал 4-ре семисегментных индикатора, 2 показывают часы, другие 2 индикатора — минуты, а между ними посекундно мигают 2 светодиода.
Сам звонок давать решил через реле, реле на 5 вольт не было, а было реле от стиральной машинки на 12 В, поэтому включать реле решил транзисторным ключем, выбрал транзистор помощней из тех что у меня был, для питания схемы необходимо 5 вольт, поэтому решил поставить стабилизатор на 5 вольт, выполненный на стабилизаторе 78L05. Питать схему решил 2-мя кронами, о чем потом пожалел и переделал на 12-вольтовый блок питания. В итоге у меня получилась следующая схема:
![]()
Расположил детали в соответствии с лицевой панелью, спроектировал и создал двухстороннюю печатную плату:



Печатную плату делал при помощи фоторезиста, перемычки между слоями ПП сделал из расслоенного многожильного провода:

Следующим шагом было все это спаять, сначала панельку для микроконтроллера, далее резисторы и т.д..

Потом прошиваем микроконтроллер и запускаем, тестируем все системы.
Завершив это, занялся корпусом, корпус решил делать из стеклотекстолита. Исходя из параметров печатной платы, спроектировал корпус, распечатал на матовой фотобумаге и перенес рисунок на стеклотекстолит методом ЛУТ:

Вырезал составляющие части корпуса бормашинкой, просверлил отверстия под кнопки и светодиоды:

Пользуясь уголком спаял корпус:


Все неровности убрал наждачной бумагой:


Покрасил корпус и примерил его:

Далее необходимо сделать интерфейсную часть, для этого печатаем лазерным (от струйного все потечет) принтером на обычной офисной бумаге, вырезаем, приклеиваем на ПВА и прижимаем прессом через ровную поверхность до полного высыхания:


Далее, чтобы лицевая часть сильно не выделялась от корпуса покрываем все это лаком на 2-3 раза, после чего клеевым пистолетом вклеиваем ПП в корпус:

Реле решил вынести за корпус (синие провода), черные провода подключаются параллельно той кнопке, которой дают звонок вручную.
Следующим шагом приклеиваем сзади лист стеклотекстолита термоклеющим пистолетом и получаем готовое устройство:
АВТОМАТ ПОДАЧИ ЗВОНКОВ МИКРОКОНТ МК135.2
Техническое описание и инструкция по эксплуатации
1. Питание — сеть 220В 50Гц.
2. Кварцевый генератор для обеспечения точности хода.
3. Индикация текущего времени.
4. Индикация дня недели.
5. Индикация номера урока.
6. Программирование времени подачи звонков (до 24 уроков индивидуально для каждого из семи дней недели).
7. Возможность программирования количества и длительности звонков отдельно для начала и окончания урока.
8. Встроенное реле для подачи звонков (активная нагрузка 220В до 5А).
Устройство представляет собой часы с недельным циклом и таймер подачи звонков в соответствии с введенной програмой. Программа подачи звонков вводится индивидуально на каждый день недели и может включать до 24 уроков на каждый день недели. При этом программа подачи звонков на всю неделю сохраняется в энергонезависимой памяти. Встроенные часы реального времени продолжают работать при отсутствии питающего напряжения (220 в). Работа часов в этом случае обеспечивается встроенным элементом питания типа CR 2032 (3В). Примечание. При отсутствии питания 220 В звонки не подаются, программа подачи звонков сохраняется, часы продолжают работать (встроенный элемент питания обеспечивает автономную работу часов при отсутствии питания 220В не менее 3 лет.). Краткое описание
На лицевой панели Устройства расположены :
— выключатель питания 220В "Сеть";
— переключатель режимов "Работа/Задание";
— кнопки "Меньше" , "->" , "Больше" и "День", для ввода программ;
— двухзначный цифровой дисплей для индикации номера текущего урока;
— светодиодные индикаторы "Урок" и "Перемена" (отображают фазу текущего урока);
— четырехзначный цифровой дисплей для индикации времени;
— семь светодиодных индикаторов дня недели;
— светодиодный индикатор "Звонок" (индицирует включение реле подачи звонков).
Общий вид и схема подключения устройства приведены на рисунках 1 и 2.

Порядок работы
Переключатель "Работа/Задание" предназначен для выбора режима работы Устройства.
Режим "Работа".
В положении переключателя "Работа" Устройство выполняет введенную программу подачи звонков. В этом режиме на цифровом дисплее текущего времени отображается реальное время суток (двоеточие мигает с частотой 1Гц ). Один из светодиодных индикаторов отображает текущий день недели (Пн . Вс). Если текущее время меньше времени начала первого урока или больше времени окончания последнего урока, то цифровой дисплей "Номер урока" погашен и светодиоды "Урок" и "Перемена" не горят.
В момент начала первого урока включается реле подачи звонков и отрабатывает заданную программу по количеству и длительности для режима "Начало урока" , на цифровом дисплее отображается номер урока и зажигается светодиодный индикатор "Урок".
При достижении конца урока снова включется реле подачи звонков и отрабатывает заданную программу по количеству и длительности для режима "Конец урока", при этом номер урока не изменяется, светодиод "Урок" гаснет и зажигается светодиод "Перемена". Устройство переходит в режим ожидания начала следующего урока.
При достижении времени окончания последнего урока гаснут дисплей "Номер урока" и светодиоды "Урок" и "Перемена". Устройство переходит в режим ожидания времени первого урока следующего дня и т.д..
Если для какого-либо из дней не запрограммировано ни одного урока, то Устройсто переходит на ожидание следующего дня.
В режиме "Работа" может производиться коррекция хода часов. Для этого необходимо одновременно нажать кнопки "Меньше" и "Больше", при этом значение разрядов минут (и регистры секунд) обнуляются, если значение минут было меньше 30, то значение разряда часов не изменяется, иначе добавляется 1 час к разряду часов. Этим режимом удобно пользоваться для коррекции показаний часов по сигналам точного времени.
Другие кнопки в режиме "Работа" не действуют.
Режимы программирования Устройства.
Существует три режима программирования:
— ввод расписания уроков на неделю;
— установка часов;
— установка параметров звонков для начала и конца урока;
— режим ручной подачи звонков.
Режим "Ввод расписания".
Переход в этот режим происходит непосредственно после перевода переключателя "Работа/Задание" в положение "Задание", при этом Устройство переходит на корректировку времени начала первого урока текущего дня, а именно:
— на цифровой дисплей "Номер урока" в мигающем режиме выводится 01;
— зажигается светодиод "Урок";
— на цифровом дисплее текущего времени отображается время начала первого урока (двоеточие не мигает!);
— один из светодиодных индикаторов дня недели индицирует текущий день.
Примечание. В режиме задания горящий светодиод "Урок" означает, что на цифровом дисплее текущего времени отображается время начала урока, номер которого отображен на дисплее номера урока, а горящий светодиод "Перемена" означает, что отображается время окончания этого урока.
Нажатием кнопки "День" можно перебирать дни недели по кольцу (после "Вс" снова устанавливается "Пн"), при этом Устройство переходит на корректировку времени начала первого урока следующего дня.
Нажатие кнопки "—>" сдвигает редактируемую позицию (далее КУРСОР) на одну позицию вправо по кольцу. Редактируемая позиция (КУРСОР) выделяется миганием. Кнопками "Меньше" и "Больше" можно уменьшить или увеличить текущее значение параметра на месте КУРСОРА.
Внимание!! При редактировании времени начала и окончания урока автоматически действуют ограничения вводимых значений, а именно:
1) Время окончания урока не может быть меньше или равно времени начала этого урока, оно должно быть минимум на 5 минут больше времени начала текущего урока.
2) Время окончания предыдущего урока не может быть больше или равно времени начала следующего урока, оно должно быть минимум на 5 минут меньше времени начала следующего урока.
3) Время начала или окончания урока не может быть равным 00 час 00 мин, в режиме ввода расписания это значение является признаком окончания уроков на текущий день.
Программа редактирования построена таким образом, что пользователь просто не сможет ввести недопустимые значения времени, нажатие кнопок "Меньше" или "Больше" не будет приводить к изменению редактируемого параметра. Внешне это может выглядеть так, как-будто не работает нажимаемая кнопка — будьте внимательны в таких ситуациях.
В отдельных случаях предусмотренные ограничения могут приводить к некоторым неудобствам при редактировании существующего расписания. Например, если начало уроков в какой-то из дней недели потребуется перенести с 08:00 на 09:00, а окончание первого урока было в 08:45, то программа редактирования не допустит ввода времени начала первого урока больше, чем 08:40.
Из этой ситуации можно выйти, если начать редактирование расписания с "хвоста" — сначала увеличить на один час время окончания последнего урока, затем на час увеличить время начала последнего урока, затем так же поступить с предпоследним уроком и т.д., но бывает удобнее воспользоваться командой очистки "хвоста" расписания на текущий день. Эта команда выполняется одновременным нажатием кнопок "Меньше" и "Больше". Такая операция приводит к обнулению всех уставок времени начала и конца урока, начиная с того, на котором она была выполнена. Если выполнить эту операцию на первом уроке, то обнулится все расписание на текущий день.
Ниже приводится пример ввода нового расписания на конкретный день недели (в примере понедельник) "с нуля", т.е. после очистки (обнуления) уставок времени начала и конца уроков, начало первого урока в 09 часов 00 минут, все перемены по 15 минут, количество уроков — шесть.
Шаг 1. Включаем питание прибора выключателем питания "Сеть".
Шаг 2. Переводим переключатель режимов работы в положение "Задание".
Шаг 3. Последовательным нажатием кнопки "День" выбираем нужный день недели, в нашем случае понедельник ("Пн").
Шаг 4. Одновременным нажатием кнопок "Больше" и "Меньше" очищаем уставки времени на текущий день. После этой операции программа автоматически перейдет на вторник (зажжется сигнальный светодиод "Вт"). Последовательным нажатием кнопки "День" снова выбираем "Пн".
Таким образом, после четвертого шага мы приходим с следующему состоянию Устройства: выбранный день недели для ввода расписания — понедельник ("Пн"), мигающая индикация (КУРСОР) установлена на дисплей номера урока (индицируется 01 — первый урок), горит сигнальный светодиод "Урок" (это значит начало первого урока), на цифровом дисплее текущего времени — 00:00.
Шаг 5. Нажимаем кнопку "—>". КУРСОР переместится на первое знакоместо цифрового дисплея текущего времени, ожидается ввод десятков часов начала первого урока. Здесь уже установлен "0", что и требуется.
Шаг 6. Нажатием кнопки "—>" перемещаем КУРСОР на второе знакоместо, ожидается ввод единиц часов начала первого урока. Нажимаем кнопку "Больше", по умолчанию программа предлагает 08 часов. Нажатием кнопок "Больше",
"Меньше" устанавливаем часы времени начала первого урока 09.
Примечание. При редактировании единиц часов программа отслеживает переход разряда через 0 и 9, автоматически наращивая или уменьшая старший разряд (десятки часов). Вследствие этого, если нажать кнопку "Больше" на цифрах 0 9,
изменится не только редактируемый разряд, но и старший, т.е. на дисплее мы увидим цифры 1 0 (10 часов), а если нажать кнопку "Меньше" на цифрах 1 0, то на дисплее мы увидим цифры 0 9 (9 часов).
Шаг 7. Нажатием кнопки "—>" перемещаем КУРСОР на третье знакоместо, ожидается ввод десятков минут начала первого урока. Здесь уже установлен "0", что и требуется.
Шаг 8. Нажатием кнопки "—>" перемещаем КУРСОР на четвертое знакоместо, ожидается ввод единиц минут начала первого урока. Здесь уже установлен "0", что и требуется.
Шаг 9. Снова нажимаем кнопку "—>". КУРСОР перемещается на цифровой дисплей номера урока. Нажатием кнопки "Больше" переходим на режим задания времени окончания первого урока (индикация номера урока "01" сохраняется, светодиодный индикатор "Урок" гаснет, зажигается индикатор "Перемена").
Шаг 10. Снова нажимаем кнопку "—>". КУРСОР переместится на первое знакоместо цифрового дисплея текущего времени, ожидается ввод десятков часов конца первого урока. По умолчанию программа предлагает время конца урока на 45 минут больше времени начала урока, поэтому на дисплее мы сразу увидим время 09:45. В данном случае нас это устраивает, поэтому последовательным нажатием кнопки "—>" снова перемещаем курсор на индикатор номера урока.
Шаг 11. Нажимаем кнопку "Больше". Номера урока наращивается на 1, на дисплее номера урока индицируется 02.
Одиннадцатый шаг завершает цикл ввода параметров для первого урока, для ввода параметров второго и последующего уроков повторяются шаги 5 . 10, поэтому прокомментируем процесс ввода параметров второго урока очень кратко:
после шага 11 программа автоматически предлагает время начала второго урока 09:55 (перемена по умолчанию 10 минут). В нашем примере перемена 15 минут, время начала второго урока — 10:00. Учитывая примечание к шагу 6, кнопкой "—>" сразу перемещаем КУРСОР на второе знакоместо цифрового дисплея текущего времени (ввод единиц часов начала второго урока) и кнопкой "Больше" увеличиваем значение часов (индикация 10:55), перемещаем КУРСОР на десятки минут и кнопкой "Меньше" устанавливаем значение 0 (индикация 10:05), перемещаем курсор на единицы минут и аналогичным образом уменьшаем значение этого разряда до 0 (индикация 10:00). Нажатием кнопки "—>" перемещаем КУРСОР на дисплей номера урока, кнопкой "Больше" переходим на установку времени конца
второго урока. Программа автоматически предлагает 10:45, что и требуется в нашем случае. Снова нажимаем кнопку "Больше", номер урока наращивается на 1 (на дисплее номера урока индицируется 03) и переходим на ввод параметров третьего
урока аналогично тому, как описано выше для второго урока.
После ввода параметров шестого (последнего) урока устанавливаем КУРСОР на дисплей номера урока и кнопкой "Больше" увеличиваем номер урока на 1. На дисплее номера урока индикация "07" (мигает), на дисплее текущего времени
— "00:00". Нажимаем в этом состоянии кнопку "Больше", программа воспринимает такую ситуацию как признак окончания уроков на текущий день, на дисплей номера урока выводится индикация "01", зажигается светодиод "Урок" (начало урока), на дисплей текущего времени выводится индикация "08:00" (время начала первого урока по умолчанию), светодиод "Пн" гаснет и зажигается светодиод "Вт" —
программа находится в состоянии ввода расписания на вторник.
Внимание! В режиме "Задание" предусмотрена возможность копирования расписания уроков с одного дня недели на другой. Рассмотрим эту операцию на примере, когда расписание уроков в понедельник копируется на среду.
1. Кнопкой "День" выбираем день недели — понедельник ("Пн").
2. Одновременно нажимаем кнопки "Меньше" и "—>". Светодиод "Пн" начинает мигать. Это означает, что расписание понедельника скопировано в буферную область памяти (буфер заполнен расписанием на понедельник).
3. Кнопкой "День" выбираем день недели — среда ("Ср"). Сигнальный светодиод "Пн" продолжает мигать, светодиод "Ср" горит ровным огнем.
4. Одновременно нажимаем кнопки "—>" и "Больше". Расписание понедельника из буфера записывается в ячейки расписания на среду. Светодиод "Пн" гаснет (это означает, что буфер обмена пуст).
Режим "Установка часов".
Для перехода в этот режим необходимо в положении переключателя режимов "Работа" нажать кнопку "Меньше" и, удерживая ее в нажатом состоянии, перевести переключатель в положение "Задание". После этого отпустить кнопку "Меньше". Двоеточие на цифровом дисплее текущего времени зажигается ровным огнем (не мигает), цифровой дисплей "Номер урока" гаснет, КУРСОР автоматически установлен на десятках часов. На светодиодных индикаторах дня недели отображается текущий день.
Выбирая требуемое знакоместо кнопкой "->", нажатием кнопок "Меньше" и "Больше" можно установить реальное время в пределах 00:00 . 23:59. Кнопкой "День" можно установить текущий день недели.
Пример. Часы показывают Вторник , 23:55. Сегодня Среда, текущее время 7:55
1. Один раз нажимаем кнопку "День" (Установили Среду).
2. Нажимаем дважды кнопку "Меньше" (Время = 03:55)
3. Нажимаем кнопку "->", КУРСОР перемещается на единицы часов.
4. Четыре раза нажимаем кнопку "Больше" (Время = 7:55)
После перевода переключателя режимов в положение "Работа" Устройство начинает выполнять программу подачи звонков на Среду, начиная с 7:55.
Для точной установки времени в 8:00 по сигналам точного времени можно выполнить коррекцию хода часов. Для этого необходимо одновременно нажать кнопки "Меньше" и "Больше". Время скорректируется на 08:00.
Режим "Установка параметров звонков".
Параметры звонка — это количество и длительность звонков, подаваемых в начале и конце урока. В Устройстве предусмотрена возможность установки различных параметров звонков для начала урока и конца урока.
Для перехода в этот режим необходимо в положении переключателя режимов "Работа" нажать кнопку "Больше" и, удерживая ее в нажатом состоянии, перевести переключатель в положение "Задание". После этого отпустить кнопку "Больше". При этом на табло "Номер урока" появляется надпись "On" ("On" —
начало урока, "oF" — конец урока). Курсор на "On" ("On" мигает). На табло времени отображаются текущие параметры звонка на начало урока. Первая цифра — количечество звонков (от 1 до 9), далее разделитель ПРОБЕЛ, далее 2 знака — длительность каждого звонка в секундах (от 1-99). Кнопкой "->" выбирается
позиция редактирования (КУРСОР сдвигается вправо по кольцу). Кнопками "Меньше" и "Больше" устанавливаются нужные значения параметров. Если КУРСОР на "On", то при нажатии кнопок "Меньше" или "Больше" устнавливается значение "oF" (и наоборот, если было "oF", устнавливается значение "On").
Пауза между звонками не программируется, это константа, равная 3 секундам.
После перевода переключателя режимов в положение "Работа" Устройство начинает выполнять программу подачи звонков с вновь установленными параметрами.
Режим "Ручная подача звонков" .
Для перехода в этот режим необходимо в положении переключателя режимов "Работа" нажать кнопку "День" и, удерживая ее в нажатом состоянии, перевести переключатель в положение "Задание". После этого отпустить кнопку "День". При этом на табло "Номер урока" появляется индикация "—", на табло времени отображается реальное время, светодиоды индицируют текущий день недели. Ручная подача звонка производится нажатием кнопки "День". Автоматическая подача звонков в этом режиме запрещена.
Выход из режима происходит при переводе выключателя в режим "Работа".
Подключение устройства 





Похожие статьи
19 comments on “ Что-то там Минутка 5М ”
«Поставили простое реле» — кто еще из вас бракодел дел не понятно… Какой ресурс у простого реле за 40 руб?


нагрузили сверх меры, но не достаточно для обрыва, вот и перегрелся
Илья, естественно вы)
Я образно, понимаете?
Free, мк затупил, перед тем как вспыхнул звонок работал не по времени, минуты 2.
Проблема разрабов.
или индуктивной нагрузки, с кучей помех, что певесили мк
Free, он отработал 3 месяца лишь.
Сеть звинелок вроде как и везде.
Типовой пользователь же не будет извращаться под утройство, которое не продуманно как надо..
Такие дела.
колокола советские небось, там и реле выгорит через месяц
Free, отнюдь, не сгорит.
Моё устройство в другом корпусе этого универа работает уже без нареканий год. На выходе обычное реле.