На работе столкнулся со следующей проблемой: каждый день выбирается дежурный из сотрудников школы, у которого одна из обязанностей — давать звонки по расписанию, нажимать на кнопку в учительской. Мне было все равно, пока не увидел этот процесс в деле — сижу в учительской, бежит женщина, буквально залетает в учительскую и со словами «пока добежишь с третьего этажа…….» дает звонок, потом пол перемены приводит сердцебиение в норму. И так каждый день…. Очень часто дают звонки не вовремя. Дошла очередь до меня……..и понял что надо это дело автоматизировать.
Начнем с того что школа особенная, тут неделю учимся с утра (1 смена), неделю после обеда (2 смена), дни бывают сокращенные, тогда урок длится не по 45, а может по 40 и 30 минут. Составил соответствующее расписание звонков для каждого режима работы:
| 1 смена 45 | 1 смена 40 | 1 смена 30 | 2 смена 45 | 2 смена 40 | 2 смена 30 | ||
|---|---|---|---|---|---|---|---|
| 1 УРОК |
|
8:45 | 8:45 | 14:10 | 14:10 | 14:10 | |
|
9:25 | 9:15 | 11:55 | 14:50 | 14:40 | ||
| 2 УРОК | 9:40 | 9:30 | 9:20 | 15:00 | 14:55 | 14:50 | |
| 10:25 | 10:10 | 9:50 | 15:45 | 15:35 | 15:20 | ||
| 3 УРОК | 10:35 | 10:15 | 9:55 | 15:50 | 15:40 | 15:30 | |
| 11:20 | 10:55 | 10:25 | 16:35 | 16:20 | 16:00 | ||
| 4 УРОК | 11:35 | 11:10 | 10:40 | 17:00 | 16:55 | 16:05 | |
| 12:20 | 11:50 | 11:10 | 17:45 | 17:35 | 16:35 | ||
| 5 УРОК | 12:25 | 11:55 | 11:15 | 17:50 | 17:40 | 17:00 | |
| 13:10 | 12:35 | 11:45 | 18:35 | 18:20 | 17:30 |
В качестве «мозгов» всей системы выбрал микроконтроллер ATmega8535, т.к. из имеющихся он больше всего подходит под данную задачу. Примерный интерфейс устройства:

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

Расположил детали в соответствии с лицевой панелью, спроектировал и создал двухстороннюю печатную плату:



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

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

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

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

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


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


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

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


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

Реле решил вынести за корпус (синие провода), черные провода подключаются параллельно той кнопке, которой дают звонок вручную.
Следующим шагом приклеиваем сзади лист стеклотекстолита термоклеющим пистолетом и получаем готовое устройство:


Список радиоэлементов
| Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
|---|---|---|---|---|---|---|
| U1 | МК AVR 8-бит | ATmega8535 | 1 | ATmega8535-16PU | ||
| U2 | Линейный регулятор | LM78L05 | 1 | |||
| Q1 | Биполярный транзистор | 2N3055 | 1 | |||
| C1 | Конденсатор | 0.33мкФ 50В X7R | 1 | |||
| C2 | Конденсатор | 0.1мкФ 50В X7R | 1 | |||
| C3, C4 | Конденсатор | 22пФ 50В NPO | 2 | |||
| Резистор | 10 кОм | 8 | ||||
| Резистор | 130 Ом | 8 | ||||
| Резистор | 5 кОм | 1 | ||||
| Резистор | 330 Ом | 7 | ||||
| Светодиод | красный 3 мм | 2 | ||||
| D3-D8 | Светодиод | зеленый 3 мм | 6 | |||
| Rele1 | Реле | 812H-1C-C | 1 | |||
| Тактовая кнопка | DIP SWT 6x6x17mm | 5 | ||||
| X1 | Кварцевый резонатор | 16 МГц | 1 | |||
| Семисегментный индикатор | 1 разряд. красный | 4 | Общий катод | |||
| Выключатель | B170G | 1 | С фиксацией 8 х 8мм | |||
| Панелька под МК | PLS-40 | 1 | ||||