Автоматизированная система подачи звонков в школе на arduino

Обновлено: 02.07.2024

В каждой школе, техникуме или ВУЗе пригодится устройство, подающее звонки по заранее заданному расписанию.

При помощи микроконтроллера Arduino и модуля часов реального времени можно запрограммировать любой вариант подачи звонков.

Более того, нетрудно составить программу так, что в субботние дни расписание будет другим, а в выходные дни звонки подаваться не будут.

Вместо звонка можно использовать MP3-модуль и подавать сигнал начала или окончания урока в виде музыкальной фразы.

Удобно использовать эту конструкцию как первичные часы и дублировать показания семисегментных индикаторов в коридорах на каждом этаже.

И, наконец, эта же схема может работать как автомат включения уличных фонарей — для этого придется добавить в программу таблицу времени наступления сумерек для каждого дня в году в заданных географических координатах.

хочу создать автоматизированную систему подачи звонков в школе на ардуино

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

из жедеза реле, экран Lcd с i2c, ds3231, клавиатура

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

SvCdS23Q05s.jpg

Rffcra_hL6A.jpg

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

ЕвгенийП аватар

1. Вы забыли задать вопрос. На Ваши тексты типа

хочу создать .
не получается наладить .

можно ответить только "Принято к сведению".

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

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Хотите создать - создавайте.
Сделайте поиск по форуму, с год назад такая тема уже была

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

А зачем вам создавать это на Arduino? Ну могут быть разные варианты. 1. Курсовая или диплом. 2. Надо сделать какой нибудь проект. 3. Что нибудь сделать чтобы сдать зачет. Ну и много еще вариантов.

А если вы хотите помочь вахтеру давать звонки то подумайте о удобстве пользования. Вы напишете вахтеру инструкцию на это? А если он что то нажмет не так? что ему делать? он побежит вас искать. Вам наверное надо сделать удобную вещь с минимальными затратами времени и денег. Да и не забывайте про корпус. Одно дело когда это на проводках, как на рисунке. А другое дело когда нужен корпус.

Могу предложить еще вариант. Возьмите компьютер списанный или старый (в школе такие должны быть) Обязательно с LPT портом. (им проще управлять) ну и напишите программу на бэйсике. Там есть операции типа записи в порт по адресу. адрес указываете для lpt порта , который указан в биосе. Например 278h. далее на этот разряд порта вешаете типа рэлюшки, которая управляет кнопкой звонка.

-Бейсик должен уметь компилировать. То есть создавать файлы с расширением exe.

- В качестве операционки использовать старый и добрый Dos 6.22


Для тех, кому не терпится попробовать его в работе, предлагаю сразу прошить свой роутер альтернативной прошивкой CyberWrt и выбрать в меню Модули / test этот модуль, далее нажать Install и через некоторое время вы сможете самостоятельно ставить эксперименты. Для полноценной работы необходима usb-аудиокарта, которая на фото вставлена прямо внутрь корпуса роутера.


Введение

В России и мире существует несколько десятков различных реализаций автоматизированных звонковых систем. Первые такие системы появились ещё при СССР, причём кое-где до сих пор работали. Многие из них просто автоматизируют подачу традиционных звонков громкого боя. Некоторая часть позволяет вместо обычных звонков использовать систему проводного вещания, которая обычно входит в состав системы оповещения в школе.

Если мы посмотрим на исходники, то увидим, что очередной звонок представляет из себя набор shell- и javascript-скриптов. Подачей звонков управляют shell-скрипты, используя службу crond. Веб-интерфейс написан на javascript с использованием библиотеки jQuery. Роутер через аудио-карту подключается к усилителю системы проводного вещания. Доступ к управлению может быть организован как по локальной проводной сети, так и по WiFi.

Интерфейс

Общий вид и описание интерфейса представлены ниже.

Настройки

Настроек не много:

Автомат — это режим, при котором в 1 минуту первого каждый день происходит автоматическая смена расписания согласно годовому плану. Если автоматический режим выключен, то расписание будет постоянным (см. ниже).

Расписание — выбор расписания для ручного режима переключения.

Предварительный — время в минутах, за которое подаются предварительные звонки, если они включены (см. вкладку Расписания).

Мелодия — мелодия для предварительного звонка. Все мелодии из-за ограничения по месту в роутере пока ограничены набором из пяти.

Кнопка Синхронизировать устанавливает на роутере время из браузера. Дело в том, что TL-MR3020 синхронизируется через сеть, если же её нет, то устанавливается эпоха unix'а. Микросхемы RTC на борту нет. Это один из минусов этого роутера для такого применения.

Кнопка Останов останавливает службу crond, а Перезапуск — перезапускает.

Кнопка Тест тестирует звуковой тракт, проигрывая короткий звуковой файл.


Расписания


Добавлять и убирать расписания в текущей версии нельзя, но их можно редактировать. Выбираем расписание из списка, внизу появляется набор звонков для него. Добавляем / удаляем строчки, меняем мелодию, включаем или исключаем звонок из задания для службы crond, включаем или исключаем дополнительный предварительный звонок. Всё интуитивно понятно. Можно также проиграть текущую мелодию, но проигрываться она будет в браузере, а не через аудио-карту.
Кнопка Применить нужна, если сразу изменяется несколько расписаний. Сначала нужно Применить текущие изменения, чтобы перейти к следующему расписанию, а потом нажать Сохранить. После этого сохранятся все изменения.

Порядок работы

1. Устанавливаете модуль или собираете его самостоятельно для своей системы.
2. Редактируете расписания, сохраняете.
3. Составляете годовой план, сохраняете.
4. Включаете автоматический режим, сохраняете.
5. Кнопка Перезапуск.

Примечание. Если роутер не подключён к локальной сети или по другой причине не может синхронизироваться через сеть для установки времени, то эту операцию нужно выполнить вручную (кнопка Синхронизировать). К сожалению, часовой пояс тоже нужно изменять вручную в конфигурационном файле, что требует специальных познаний.

Преимущества

— замена человека, всегда точная подача звонков;
— более приятная психологическая атмосфера в школе;
— возможность настройки управления через локальную сеть или WiFi (необходима квалификация);
— настройка звонка осуществляется через браузер смартфона, планшета, ноутбука или ПК;
— работа в ручном режиме (выбранное расписание) или автоматическом — по годовому плану.

Недостатки

— требуется наличие системы проводного вещания (звонок подключается к свободному входу усилителя);
— предустановлено 5 мелодий (обычно больше не требуется), возможности загружать свои через интерфейс пока нет;
— роутер, на котором основан звонок, не имеет возможности сохранять время при выключении питания, но может синхронизироваться через сеть, если настроен для работы в сети, где есть выход в Интернет. Поэтому при включении нужно выполнить операцию синхронизации через интерфейс.
— доступно для изменения 4 произвольных расписания (в будущем появится возможность добавлять произвольное количество, хотя этого обычно не требуется);

Файлы

action.cgi — обработчик post-запросов от странички;
index.cgi — необходим как часть модуля CyberWrt;
json.cgi — парсер JSON на shell-скрипте;
scheduler.cgi — формировать задания для crond;

main.html — основная страничка;
style.css — стили для вкладок;

jquery-1.11.0.min.js — библиотека jQuery;
main.js — содержит классы для работы с объектами на страничке: расписаниями, настройками, планом и т.д.
webtoolkit.base64.js — кодек Base64;

*.json — конфигурационные файлы;
*.mp3 — мелодии;

Прочее

На работе столкнулся со следующей проблемой: каждый день выбирается дежурный из сотрудников школы, у которого одна из обязанностей - давать звонки по расписанию, нажимать на кнопку в учительской. Мне было все равно, пока не увидел этот процесс в деле - сижу в учительской, бежит женщина, буквально залетает в учительскую и со словами "пока добежишь с третьего этажа. " дает звонок, потом пол перемены приводит сердцебиение в норму. И так каждый день. Очень часто дают звонки не вовремя. Дошла очередь до меня. и понял что надо это дело автоматизировать.

Начнем с того что школа особенная, тут неделю учимся с утра (1 смена), неделю после обеда (2 смена), дни бывают сокращенные, тогда урок длится не по 45, а может по 40 и 30 минут. Составил соответствующее расписание звонков для каждого режима работы:

В качестве "мозгов" всей системы выбрал микроконтроллер ATmega8535, т.к. из имеющихся он больше всего подходит под данную задачу. Примерный интерфейс устройства:


кнопка "СМЕНА" выбирает текущий режим работы

кнопка "ЧАСЫ +" добавляет часы, "ЧАСЫ -" убавляет, и тоже самое с минутами.

Выбранную смену отображает соответствующий надписи светодиод.

В качестве индикаторов выбрал 4-ре семисегментных индикатора, 2 показывают часы, другие 2 индикатора - минуты, а между ними посекундно мигают 2 светодиода.

Сам звонок давать решил через реле, реле на 5 вольт не было, а было реле от стиральной машинки на 12 В, поэтому включать реле решил транзисторным ключем, выбрал транзистор помощней из тех что у меня был, для питания схемы необходимо 5 вольт, поэтому решил поставить стабилизатор на 5 вольт, выполненный на стабилизаторе 78L05. Питать схему решил 2-мя кронами, о чем потом пожалел и переделал на 12-вольтовый блок питания. В итоге у меня получилась следующая схема:

Схема устрйоства для автоматической подачи звонков на AVR

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




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


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


Потом прошиваем микроконтроллер и запускаем, тестируем все системы.

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


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


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



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



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


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



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


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

Следующим шагом приклеиваем сзади лист стеклотекстолита термоклеющим пистолетом и получаем готовое устройство:

Читайте также: