Сигнализация на Arduino, оповещающая об исчезновении напряжения сети

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

Столкнувшись с подобной проблемой, инженер Lauters Mehdi изобрел несложную сигнализацию на базе Arduino и телефона Nokia 3310, оповещающую об исчезновении и появлении сетевого напряжения. Она отсылает sms-сообщения на определенные номера и стоит дешевле своих коммерческих аналогов.

Связь с телефоном осуществляется по протоколу FBus. Ниже представлена структура кадра этого протокола:

https://alashed-media.s3.eu-north-1.amazonaws.com/wiki/digitrode/68-signalizaciya-na-arduino-preduprezhdayuschaya-ob-ischeznovenii-napryazheniya-seti/images/signalizaciya-na-arduino-preduprezhdayuschaya-ob-ischeznovenii-napryazheniya-seti-1.png

Lauters Mehdi пытался найти в интернете библиотеку для протокола FBus, которая была бы объектно-ориентированной, кроссплатформенной и работала бы на устройствах с небольшим количеством оперативной памяти. После того, как его поиски не увенчались успехом, он написал небольшую программу, которая позволяет пересылать fbus-команды с компьютера на телефон через Arduino UNO (который выступает в качестве простого ретранслятора последовательной шины): arduinoSerialTransceiver. С такой программой ваша Нокия будет доступна через последовательный порт компьютера, и сами команды можно проверять с этого компьютера.

Затем Mehdi на компьютере с ОС Linux запустил тестовую программу на основе библиотеки n61sms.c для передачи fbus-команд. Исходники можно взять тут: Nokia3310_sendSmsSerial.

Схема подключения следующая:

https://alashed-media.s3.eu-north-1.amazonaws.com/wiki/digitrode/68-signalizaciya-na-arduino-preduprezhdayuschaya-ob-ischeznovenii-napryazheniya-seti/images/signalizaciya-na-arduino-preduprezhdayuschaya-ob-ischeznovenii-napryazheniya-seti-2.png

Нумерация выводов:

https://alashed-media.s3.eu-north-1.amazonaws.com/wiki/digitrode/68-signalizaciya-na-arduino-preduprezhdayuschaya-ob-ischeznovenii-napryazheniya-seti/images/signalizaciya-na-arduino-preduprezhdayuschaya-ob-ischeznovenii-napryazheniya-seti-3.gif

Воспользовавшись всем этим, вы сможете отправить смс с вашего Arduino. Но вы также при желании можете заменить стандартный аккумулятор Nokia на свой элемент питания (например, на 9-вольтовую батарейку). Поэтому ниже приведена схема для подключения источника питания.

https://alashed-media.s3.eu-north-1.amazonaws.com/wiki/digitrode/68-signalizaciya-na-arduino-preduprezhdayuschaya-ob-ischeznovenii-napryazheniya-seti/images/signalizaciya-na-arduino-preduprezhdayuschaya-ob-ischeznovenii-napryazheniya-seti-4.jpg

Для включения и выключения телефона достаточно кнопки сброса на землю. Для переключения платы на резервный источник питания без перезагрузки используется реле с конденсатором. Этим вторичным источником питания в данном случае является батарейка 9 В. Вся схема:

https://alashed-media.s3.eu-north-1.amazonaws.com/wiki/digitrode/68-signalizaciya-na-arduino-preduprezhdayuschaya-ob-ischeznovenii-napryazheniya-seti/images/signalizaciya-na-arduino-preduprezhdayuschaya-ob-ischeznovenii-napryazheniya-seti-5.png

В итоге была собрана дешевая и полностью рабочая сигнализация на Arduino Micro. Исходники можно найти на гитхабе, а ниже представлены изображения этой самоделки:

https://alashed-media.s3.eu-north-1.amazonaws.com/wiki/digitrode/68-signalizaciya-na-arduino-preduprezhdayuschaya-ob-ischeznovenii-napryazheniya-seti/images/signalizaciya-na-arduino-preduprezhdayuschaya-ob-ischeznovenii-napryazheniya-seti-6.jpg https://alashed-media.s3.eu-north-1.amazonaws.com/wiki/digitrode/68-signalizaciya-na-arduino-preduprezhdayuschaya-ob-ischeznovenii-napryazheniya-seti/images/signalizaciya-na-arduino-preduprezhdayuschaya-ob-ischeznovenii-napryazheniya-seti-7.jpg https://alashed-media.s3.eu-north-1.amazonaws.com/wiki/digitrode/68-signalizaciya-na-arduino-preduprezhdayuschaya-ob-ischeznovenii-napryazheniya-seti/images/signalizaciya-na-arduino-preduprezhdayuschaya-ob-ischeznovenii-napryazheniya-seti-8.jpg https://alashed-media.s3.eu-north-1.amazonaws.com/wiki/digitrode/68-signalizaciya-na-arduino-preduprezhdayuschaya-ob-ischeznovenii-napryazheniya-seti/images/signalizaciya-na-arduino-preduprezhdayuschaya-ob-ischeznovenii-napryazheniya-seti-9.jpg