Отправка и прием SMS с GSM SIM900 Shield на Arduino Mega
Компоненты и материалы
| Arduino Mega 2560 | ×1 |
| GSM/GPRS Shield на базе SIM900 (Seeed Studio v1.0) | ×1 |
Приложения и сервисы
- Visuino — графическая среда разработки для Arduino
- Arduino IDE
О проекте

Ключевой элемент IoT — связь устройств. Wi-Fi и Bluetooth дешевы, но ограничены по дальности. Для удаленных объектов GSM — простое и надежное решение.
В этом уроке: отправка и прием SMS через GSM на Arduino. В следующих — подключение к интернету через GPRS и работа с голосовыми вызовами.
Шаг 1: Компоненты

- Arduino Mega 2560 (рекомендуется плата с 2+ аппаратными UART; можно использовать SoftwareSerial на других платах)
- SIM900 GSM Shield с установленной SIM-картой
- 2 перемычки Male-Female
Шаг 2: Подключение GSM Shield к Arduino Mega
- Снимите джамперы с джамперов выбора RX/TX на GSM Shield.
- Установите Shield на Arduino Mega.
- Соедините Male-Female перемычки:
- Оранжевая: RX1 Arduino Mega → центральный контакт джампера RX на Shield
- Коричневая: TX1 Arduino Mega → центральный контакт джампера TX на Shield





Шаг 3: Запуск Visuino и выбор платы
- Установите Arduino IDE 1.6.7+ и Visuino (visuino.com).
- Запустите Visuino.
- Нажмите «Tools» на компоненте Arduino → выберите «Arduino Mega 2560».
Шаг 4: Настройка скорости Serial1 = 19200
GSM Shield по умолчанию работает на 19200 бод. В Object Inspector: Serial → Item[1] → Speed → 19200.
Шаг 5: Добавление компонента GSM/GPRS Serial
- В Toolbox найдите «gsm» → компонент «GSM/GPRS Serial» → перетащите в область дизайна.
- Соедините Out компонента GSM1 → In канала Serial[1] Arduino.
- Соедините Power компонента GSM1 → Digital[9] Arduino (пин 9 управляет питанием модуля).
Шаг 6: Индикатор готовности (Text Value)
- Добавьте компонент «Text Value», установите Value = «GSM Ready».
- Соедините Ready выход GSM1 → In TextValue1.
- Out TextValue1 → In Serial[0] Arduino (вывод в монитор порта).
Шаг 7: Добавление модуля Short Message и функции Send SMS
- Выберите GSM1 → Object Inspector → Modules → добавьте «Short Message».
- В модуле Short Message → Functions → добавьте «Send SMS».
Шаг 8: Настройка Send SMS и прием сообщений
- Address функции Send SMS → номер телефона получателя (для теста — номер SIM-карты на Shield).
- Свойство Text → нажмите Pin → выберите «String SinkPin» (появится вход Text).
- Соедините Out блока MessageInfo GSM1 → In Serial[0] Arduino (входящие SMS в монитор порта).
Шаг 9: Char To Text — накопление строки из Serial
- Добавьте компонент «Char to Text».
- Out Serial[0] Arduino → In CharToText1.
- Out CharToText1 → Text вход функции Send SMS.
Шаг 10: Delay — задержка перед отправкой
- Добавьте компонент «Delay», Interval = 100 мс.
- Out CharToText1 → In Delay1.
- Out Delay1 → Clock вход функции Send SMS.
Шаг 11: Генерация, компиляция, загрузка
- В Visuino нажмите F9 (или кнопку генерации) → откроется Arduino IDE.
- Нажмите Upload.
Шаг 12: Работа!

Через ~30 сек после включения в мониторе порта появится «GSM Ready». Вводите текст, нажимайте Send — уйдет SMS. Если адресат — номер SIM на Shield, ответ придет обратно и отобразится в терминале.
Также можно отправлять SMS на этот номер с других телефонов — они появятся в мониторе порта.
Проект для Visuino прикреплен: F1FP7L0IQS4L35B.zip (открывается в Visuino).
Производственный процесс
- Надежная система учета рабочего времени на Arduino с RFID и Python
- Проект с датчиком DHT11: индикация температуры светодиодами и пьезо-динамиком на Arduino
- Монитор температуры и реальные часы на Arduino Due с TFT-дисплеем 3.2"
- Управление Roomba Create 2 через Arduino и Android: пошаговое руководство
- Сборка вольтметра на Arduino с дисплеем Nokia 5110 — Пошаговое руководство
- Точное управление сервоприводом через MPU6050 (Arduino, SG90, MG996R)
- Система мониторинга лесных пожаров в реальном времени с SMS-уведомлениями
- Модуль GPS u-blox LEA-6H 02: Интеграция с Arduino и Python
- Чтение температуры и влажности DHT11 через Blynk — пошаговый урок для Arduino
- Освоение распознавания и синтеза речи на Arduino Due