Система дистанційного контролю на gsm модулі sim900d - схемопедія

Отже, після тривалого часу розкурювання тонкощів роботи з GSM модулем SIM900D анонсуємо перший робочий проект, який поєднує в собі охоронну систему з можливістю віддаленого контролю. Якщо коротко, то пристрій здатний відправляти інформують SMS в разі спрацювання датчика проникнення, робити дозвон для можливості аудіоконтролю приміщення, стежити за температурою і відправляти її смс-кою за запитом, а також управляти будь-небудь навантаженням по команді відправленої по смс.

Хто стежив за даною темою, той в курсі, що у мене GSM модуль і модуль управління ім - дві різні плати, з'єднані бутербродом (див. Плата з SIM900D і плата управління). На керуючої платі крім мікроконтролера ATmega32a варто модуль живлення, виконаний на перетворювачі LM2596. він живить схему постійною напругою 3,5 вольт. В принципі підійде будь-який інший джерело живлення, головне щоб він був здатний на короткий час витягнути до 2 ампер (саме таке споживання GSM-модуля в момент реєстрації).

В результаті вийшла схема підключення вийшла така (клікабельно):

Система дистанційного контролю на gsm модулі sim900d - схемопедія

Нумерація висновків мікроконтролера на схемі наведена для DIP корпусу, тому якщо повторюєте схему з використанням мк в корпусі TQFP будьте уважні, нумерація висновків у нього відрізняється. Тактується мікроконтролер від зовнішнього кварцу на 16 МГц.

Лінія Control йде від колектора транзистора Q2 висновку PortD.4 мікроконтролера додана для перестраховки і потрібна за тим щоб стежити включений модуль. Так як поріг виключення у SIM900 становить 3,2 вольта то навіть при незначній просідання напруги модуль автоматично вимкнеться, тоді як мікроконтролер продовжить працювати і виконувати програму (поріг скидання у ATmega32a 2,7 вольта). У робочому стані на цій лінії знаходиться низький рівень. Якщо мікроконтролер виявить що на цій лінії високий рівень, виконається функція повторного запуску GSM модуля.

А ось так це виглядає в роботі на даний момент.

Система дистанційного контролю на gsm модулі sim900d - схемопедія

Після остаточної обгонки програми, все це буде засунути в корпус, а роз'ємні з'єднання для надійності будуть запаяні.

На дисплей виводиться основна інформація про стан пристрою: назва оператора, якість сигналу зв'язку, значення температури з датчика 18b20, стан виходу навантаження і датчика проникнення, а так же час і дата.

Час і дата беруться від вбудованих в GSM-модуль годин. Для їх роботи обов'язково наявність 3-х вольтової батарейки підключеної до висновку 15 (VRTC). Діод D1 рекомендується ставити з низьким падінням напруги, наприклад Шотткі. Годинника і дати робиться в ручну, команди були описані раніше тут

Дата виводиться на дисплей в тому форматі як виходить з модуля, тобто спочатку рік, потім місяць і дата. Тут поки нічого змінювати не став.

За вимір температури відповідає датчик DS18B20, він підключається до висновку PortD.3 мікроконтролера.

До PortD.6 можна підключити якусь навантаження і керувати нею за допомогою команд смс. У мене зараз висить світлодіод - D4 на схемі. Але нічого не заважає повісити сюди релюха або симистор і управляти чимось серйозніше.

Система дистанційного контролю на gsm модулі sim900d - схемопедія

Система дистанційного контролю на gsm модулі sim900d - схемопедія

Вихід датчика підключається до висновку PortD.7 мікроконтролера, на схемі, датчик умовно замінений на кнопку.

Замість датчика руху можна ставити будь-які інші засоби виявлення проникнення - датчики відкривання вікон і дверей, датчики розбиття скла, фотоелектричні датчики та ін. В загальному все на що здатна фантазія.

Для того щоб запобігти багаторазове відсилання попереджувальних смс в разі спрацювання датчика, в програму введено обмеження: після першого відправленого смс ставиться заборона на подальшу відправку. Щоб заново увімкнути надсилання повідомляючих повідомлень при спрацьовуванні датчика, необхідно відіслати на модуль смс з певною командою. Коли посилка смс заборонена на дисплей біля стану датчика, виведеться знак оклику.

А ось і список команд в смс які обробляє модуль. Для зручності і простоти комади цифрові, можливо в наступних версіях прошивки будуть більш осмислені імена команд 🙂

0 - Відключення навантаження (на виведення PortD.6 виставляється логічний 0)

1 - Включення навантаження (на виведення PortD.6 виставляється логічна 1)

4 - Запит температури. Значення температури буде відправлено нам в смс.

5 - дозвіл відсилати повідомлення в разі спрацювання датчика проникнення.

6 - Заборона на відправлення повідомляючих смс від датчика проникнення.

? - За цією командою модуль надішле нам смс, в якому знаходиться загальна інформація про пристрій, такі як значення з датчика температури, чи включена навантаження, стан на вході від датчика проникнення і дозволена відправка повідомляючих смс від нього. Наприклад, ось як може виглядати таке повідомлення: температура +24, навантаження виключена, на виході датчика руху 0, відправка смс в разі спрацювання заборонена.

Система дистанційного контролю на gsm модулі sim900d - схемопедія

Тепер як налаштувати щоб модуль відправляв sms саме на ваш номер. В архіві з програмою знаходимо основний файл програми, вона так і називається "програма" 🙂 і знаходимо в ній константу:

Const Phonenumber = "+ 7908390хххх"

Програма як і завжди написана в Bascom-AVR, тому розібратися з алгоритмом роботи з GSM модулем досить просто. Успіхів!

Ну і наостанок демонстрація того як модуль обробляє команди.

Окреме спасибі за участь і допомогу в розробці, давньому товаришеві сайту Сергію RD3AVJ!

Трохи допрацював прошивку, тепер для того щоб задати номер на який будуть слатися уведомляющие SMS не потрібно перекомпілювати програму. Достатньо лише надіслати на модуль смску з повідомленням "Firstnumber" (без лапок) і номер, з якого було відправлено ця команда, записується в енергонезалежну пам'ять мікроконтролера.

Схожі статті