Подключение модуля Sim800l к микроконтроллеру esp8266. Подключение GSM модуля SIM800L к Arduino Скетчи для работы с модулем GSM

Компьютер 11.04.2024
Компьютер


SIM800L V2.0 GSM/GPRS - это четырехдиапазонный GSM/GPRS модуль, совместимый с Arduino. Модуль используется для реализации функций GSM (звонки и SMS) и GPRS. Преимуществом этого модуля являются интерфейс TTL, имеющие вольтаж равный 5В, что позволяет напрямую подключить его к Arduino или любой другой системе с напряжением питания 5В. Большинство GSM/GPRS модулей на рынке требуют подключений регулятора или преобразования уровня, в то время как в SIM800L V.2 GSM/GPRS не требует дополнительных цепей преобразования уровней интерфейсов.

Приведем пример проекта, использующего SIM800L V.2 GSM/GPRS. Смысл проекта в управлении переключателей с помощью SMS-контроллера. Вы с легкостью сможете включать и выключать большинство предметов бытовой техники в доме, как например ламу, вентилятор и так далее.

Характеристики модуля SIM800L V.2 GSM/GPRS

Ниже приведены все технические характеристики модуля SIM800L V.2 GSM/GPRS:
  • Серийный интерфейс TTL совместимый с 3,3В и 5В микроконтроллерами, совместимыми с Arduino.
  • Модуль SIM800L имеет серийный интерфейс TTL.
  • Штекер подключения антенны.
  • Поддержка сети: четыре диапазона 850/900/1800/1900 МГц, способные осуществлять звонки, SMS и передачу данных со значительно уменьшенным расходом заряда.
  • Интерфейс VDD TTL UART, так что вы сможете напрямую подключить MCU такой, как 51MCU, ARM или MSP430. Штекер VDD используется для соответствия вольтажу TTL.
  • Модель: SIMCOM SIM800L
  • Рабочий вольтаж: от 3,7В до 5В;
  • размеры: 40мм х 28мм х 3мм
  • GPRS мультислот-класс 12/10
  • GPRS пакетных сервис класс B
  • Соответствует GSM фазе 2/2+
  • Класс 4 (2 Ват @ 850/900 МГц)
  • Класс 1 (1Ват @ 1800/1900Мгц)

Необходимые материалы

ESP8266 стал настоящей новостью прошлого года для всех, кто занимается созданием девайсов на Ардуино. Дешёвый микроконтроллер, с возможностями, превышающими его дорогостоящий аналог, и при этом совместимый с АТ+.

Ардуино не остались за бортом, и теперь данный модуль официально добавлен в списки поддерживаемых платой, а соответственно, всё больше пользователей приобщится к китайскому мк для wi-fi соединения. Но бывает, что в системе необходимо отслеживать и местоположение модуля, для чего одной платы esp8266 будет недостаточно. Здесь и пригодится esp8266 sim800l.

Для смарт-домов и множества поделок требуется получать уведомление о местоположении платы, будь то дистанционная дверь или обычный трекер. Вот лишь краткий список поделок, которые можно создать, совмещая esp8266 sim800:

  1. Умный дом. Практически любую технику для умных домов можно настроить на определённые патерны при приближении объекта. Но зачем устанавливать датчики движения, если можно просто прикрепить в wi-fi плате sim800, вшить в какой-то предмет одежды мк с аккумулятором (благо, много энергии не потребуется) и автоматически включать свет или открывать дверь при приближении пользователя.
  2. Разнообразные отслеживающие устройства. Речь не идёт о противозаконных жучках и прочих устройствах, нарушающих ваше право на неприкосновенность. Однако мк может работать отдельно от ардуино, а если к нему прикрепить sim800, общие размеры устройства не превысят спичечный коробок. Просто оберните всё в металлический корпус и прикрепите к ключам, в качестве брелока. Отныне найти смартфон, ключи и даже вашу машину на парковке будет в разы проще.
  3. Робототехника и смежные направления. Здесь можно долго говорить о развитии современного виртуального интеллекта и нейросетях, но зачастую, чтобы создавать карту местности и ориентироваться в ней, железякам недостаточно датчиков. И если вы занимаетесь чем-то подобным, то gps модуль пригодится. Особенно он удобен в паре с дронами.

Когда вы определитесь с конечной целью проекта, следует разобраться в нюансах вопроса. Подключение устройств к вышеназванному микроконтроллеру такое же, как у стандартных плат ардуино, разница лишь в количестве доступных пинов. GPS трекер требует для работы от 3.7 до 4.2 вольт, в отличие от стандартных 5, выдаваемых микроконтроллером. Это следует учитывать при построении схемы платы и соответствующе подбирать вспомогательные источники питания. Либо устанавливать трансформаторы и резисторы, в зависимости от того, что вы ещё будете подсоединять к конечной системе.

Регистрируясь в сети, модулю потребуется приблизительно 2А, но это его пиковое потребление и в дальнейшем необходимая сила тока снизится до 1-1.2 А.

Как только вы подключите трекер к системе, необходимо будет его запустить и отправить первые команды, лучше всего подойдут АТ и АТ+. Только после этих действий модуль, наконец, начнёт посылать данные и отвечать на ваши запросы, поэтому не стоит беспокоится, если вы его подсоединили, диод мигает, но никаких реакций на скрипты нет. Вам просто необходимо активировать Sim800i при первом использовании, чтобы он успел зарегистрироваться в сети.

Также не стоит рассматривать Sim800i, как альтернативу ESP8266, чем грешат многие пользователи на форумах. Если вы натыкались на подобные заявления, можете смело утверждать, что автор в жизни не работал с ардуино. В первую очередь, сравнивать вспомогательную плату и микроконтроллер – бессмысленно. Не говоря уже о том, что одно из устройств создано для координации, отправки и принятия запросов по беспроводному интернету, а второе является GSM GPRS модулем. Соответственно, они являются хорошим дополнением друг к другу, но никак не альтернативой.

Схема подключения sim800l к esp8266

Распиновка более чем стандартная. Пин с питанием подключаете к источнику, способному выдавать напряжение в пределах 3.7-4.2 Вольт, или же к трансформатору. TX идёт к RX пину и наоборот. Как только вы выполните спайку и решите протестировать работу модуля, подключив источник питания, о правильности подключения просигнализируют диоды. Далее остаётся активировать модуль по описанному выше методу, и вы сможете использовать АТ-команды для управления. Если захотите подгрузить вспомогательную библиотеку или какие-то весомые медиа, стоит ознакомиться с подключением карты памяти к системе Ардуино.

Для начала давайте протестируем скорость работы порта и информацию о модуле, для этого воспользуемся «AT+IPR?» и «AT+CPAS» соответственно. Если всё в порядке и информация выводится без ошибок, то можно продолжить проверку и протестировать уровень сигнала, а также операторов, которых может увидеть модуль.

Самое главное – Sim800i позволяет звонить на указанные номера и принимать звонки, притом с помощью базовых библиотек.

Это также открывает простор для применения систем с его участием. Если вы захотите написать определённый скрипт, запускающий что-либо по входящему звонку, то учитывайте, что модуль реагирует на него фразой «RING» в командной строке.

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

Пример реализации подключения gsm модуля sim800l к мк esp8266

После подключения и спайки по вышеописанным пинам, модуль должен начать мигать. Как только произойдёт аутентификация в сети, диоды станут реже моргать.

Если уменьшение частоты световых сигналов не произошло, то стоит, при помощи АТ-команд, удостовериться, воспринял ли вообще sim800I сеть вашего мобильного оператора и нет ли никакой ошибки. Также проверьте правильность распиновки и как установлена СИМ-карта с антенной, ошибка может быть и в них.

Ну и, конечно, поднесите систему ближе к окну, если находитесь в многоэтажном здании, вполне возможно, она просто не может поймать сигнал.

Всем привет! Давненько мы с вами не говорили про GSM. И так, начнем. Глубокоуважаемые Китайцы забацали новый бюджетный модуль под названием SIM800L. Да, да, этот модуль выпускает ихняяя же фирма SIMCOM. Я по началу боялся его тестить, мол на просторах России его нет и нет гарантии что данный модуль снюхается с нашими сетями. Заниматься перепрошивкой от другого модуля я не хотел, но мне просто чудесно повезло убить двух тараканов одним тапком. Я совсем забыл о замечательном магазине ЧипРезистор который с радостью мне предоставил данный модуль на растерзание.
Вот как выглядит это чудо.

Не густо, на плате установлен сам модуль, держатель для микросим, тантал, пару керамики, резистор и светодиод. Как ни странно Китайцы позиционируют данный модуль как шилд для Ардуины. Ардуина вроде как питается от 5 вольт и чаще всего от USB, а если меня не подводит память, то СИМкомовские модули кушают от 3,6в до 4,2 и при этом в пике хотят 2А. Ну да ладно, подключаю к отладочной плате и... Китайцы!!! Все что угодно лишь бы удешевить. Не работает данный модуль от 5 вольт. Моя память меня не подвела. Короче можно долго рассуждать чем его запитать, но я вам покажу один прекрасный девайс, который легко решит эту проблему. Прикупить его можно там же где и SIM800L , а именно в ЧипРезисторе . Модуль представляет собой понижающий импульсник до 3А.

Долее берем этот модуль и припаиваем входные и выходные провода. Заем подключаем к тостеру и настраиваем на 4 вольта.

Вот схемка, вид сверху.

Мой хаос выглядит вот так.

Проверяем на короткое, вставляем симку, подключаем USB-RS232 и питание. Если ничего не задымилось и замигал светодиод на модуле, значит все в порядке. Далее запускаем како-нибудь терминал, у меня PuTTYn и кидаем первую команду AT . В ответ если получили OK значит все работает.

Бинго! Далее кидаем AT+COPS? и если в ответ получили своего оператора, то для закрепления позвоните себе набрав команду ATD89161234567; . Точка с запятой обязательно! Если модуль дозвонился, то значит он работает с нашими сетями. Я тестил на пчелайне. Если я сейчас скажу что на этом все, то меня закидают яйцами и помидорами, а этого не хочу))) Значит давайте соберем из этого что-нибудь полезное. Например сигнализацию. Прикрутим модуль к МК и будем следить за состояние пару ножек. Как только на ножке появится изменения, то тут же пошлем SMS с оповещением об данном изменении. В роли МК будет выступать ATmegs32a. На ноги PB2 и PB3 прикрутим кнопки. Кнопки имеют общий GND, а для подтяжки используем встроенные резисторы. Для работы с модулем напишем пару функций, а именно инициализации и передачи SMS. Чтож, поехали.

Для начала сконфигурим проект при помощи генератора кода axlib . Для этого выберем МК ATmega32, внешний кварц на 7372800 (такой кварц нужен для уменьшения ошибок при передаче по UART) . Настроим UART на скорость 9600. Далее сгенерив проект откроем его в AtmelStudio 6. Первым делом создадим файл sim800l.h в корне проекта и подключим его. #include #include "main_init.h" #include "axlib/usart.h" #include "sim800l.h" Теперь переходим в наш созданный файл и впишем туда нужные нам дефайны. // Первая команда, овет OK #define SIM800L_AT_AT "AT" // Команда на ввод номера абонента для отправки ему SMS сообщения #define SIM800L_AT_SMS "AT+CMGS=\"" // Настройка формата покета #define SIM800L_AT_SMS_SET "AT+CMGF=1" Такс, дефайны для упрощения записали, теперь пишем сложную функцию инициализации. void sim800l_init(void) { usart_str_rn(SIM800L_AT_AT); } Вся сложность данной функции заключается в том, что мы просто передаем команду АТ модулю. С этой команды должен начинать работать модуль. Следующая функция немного посложнее. BYTE sim800l_send_sms(BYTE *num, BYTE *text, BYTE lenght) { // Массив для получения ответов от модуля BYTE str = {0}; _delay_ms(1000); // Настройка режима передачи usart_str_rn(SIM800L_AT_SMS_SET); // Подача номера телефона абонента usart_str_out(SIM800L_AT_SMS, 9); usart_str_out(num, 12); usart_str_rn("\""); // Ожидание начала ввода текста _delay_ms(3000); // Отправка текста usart_str_out(text, lenght); str = 0x1A; str = 0; usart_str_rn(str); // Ждем OK usart_str_in(str, 18); if(!((str == 0x4F) & (str == 0x4B))) return 0x34; return 0x30; } Вот тут я понял всю сущность дешевизны данного модуля. Эта фиговина напрочь отказывалась стабильно возвращать ответы. Как я только не извращался, и ставил таймауты по приходу данных гигантские, и задержки лепил. Короче плюнул на те ответы что плавали во времени и натыкал задержек. Для работы это не сильно мешает. Платим за дешевизну. Поехали по функции. Первым делом тыкаем настройку передачи пакета. Это нужно чтобы модуль отправлял данные получив номер телефона, а затем ожидал принятия текста. Затем передаем номер телефона абонента которому отправляем SMS. Берем его из аргумента данной функции. Есть одно но! Номер телефона должен иметь формат вида: +79161234567. +7 обязательно, этот модуль в отличии от 900-тых не понимает 8. После передачи номера абонента просто тупим 3 секунды. Все это время модуль не спеша пережевывает номер и по хрен знает какому алгоритму, как раз на этих задержках я подорвался, выдает нам приглашение на ввод текста значком > 3 секунд железно хватает пережевать и выплюнуть приглашение. После 3 секунд кидаем текст сообщения. Его так же берем из аргумента данной функции и от туда же длину текста для функций UART. Ведь мы не знаем сколько буковок вы собираетесь послать. Если внимательно присмотреться, то можно заметить байт 0x1A в конце текста сообщения. Это команда Ctrl+Z нужна для окончания передачи текста. Когда модуль получит эту команду, то все бросит и передаст SMS. Все, с данным файлом закончили, переходим в основной файл программы. #define BUTTON_1 "Nazhata knopka 1" #define BUTTON_2 "Nazhata knopka 2" // Инициализация GSM модуля sim800l_init(); // Настройка портов ввода вывода на чтение DDRB = 0x00; // Включаем подтяжку внутренним резистором PORTB |= (1 // Если нажали кнопку 1 if(!(PINB & (1 // Ждем пока не отпустили кнопку while(!(PINB & (1 // Если нажали кнопку 2 if(!(PINB & (1 // Ждем пока не отпустили кнопку while(!(PINB & (1 Что мы тут видим. Два дефайна с заранее подготовленным текстом. Затем мы инициализируем модуль. Затем настраиваем ножки 2 и 3 порта В на вход и подтягиваем внутренний резистор к плюсу питания. Затем в бесконечном цикле проверяем на нажатие кнопок. Как только какая-либо из кнопок будет нажата, сразу вваливаемся в бесконечный цикл и ждем пока не отпустят кнопку. После того как кнопку отпустили вызываем функцию отправки SMS с заранее продефаненым текстом. Вот и все.))) Проект выкладывать не буду так как его можно сгенерить axlib генератором и скопипастить текст отсюда. Ой, да, вот что я получил на телефон.))


Фыва 09.10.16 23:29

Если верить mt-system, то 800 серия это приемник 900 серии, которую якобы сворачивают к концу 2016 года. Поэтому довольно странно читать о таких досадных косяках как зажатые ответы.
может чего в датишах нового завелось? Или ты чисто по аналогии с 900 кидал команды, особо не раскуривая?

Алексей 09.10.16 23:39

Меня эти паузы насторожили еще когда я с ней общался через терминал. Думал порт тормозит, но на ноуте та же песня.

Юрий 05.03.17 20:36

Подскажите как заставить модуль, по запросу USSD отправлять баланс,считывать и устанавливать на ножках Avrки уровнь. В общем хочется сделать "Умный дом" Спасибо

Алексей 06.03.17 12:36
Олег 28.03.17 02:43


передаётся \n ,для работы с симмодулем это нужно или на всякий случай?
Что делает символ /" тут

#define SIM800L_AT_SMS "AT+CMGS=\""

usart_str_out (SIM800L_AT_SMS, 9);
usart_str_out (num, 12);
usart_str_rn ("\"");
тут тоже /" /r /n
почему нельзя разом usart_str_rn (AT+CMGS="+7xxxxxxxxxx") , как в терминале?
И

usart_str_out (text, lenght);
str = 0x1A;понятно
str = 0; зачем ноль?
usart_str_rn (str); и ещё /r /n ?

Алексей 28.03.17 12:33

--> Что делает символ /" тут
Символ \ ставится перед служебными символами для того чтобы эти символы превратить в простые. Дело в том что двойная кавычка это служебный символ. Его используют чтобы передать строку в массив. А для того чтобы компилятор прочитал именно как символ, то перед служебными символами ставят обратную косую черту.
Пример:


BYTE data = "Какой-то текст \"Текст в кавычках\"";

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

--> почему нельзя разом usart_str_rn (AT+CMGS="+7xxxxxxxxxx") , как в терминале?

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

--> Разъясните пожалуйста. Для чего в функции usart_str_rn
передаётся \n

Потому что документация на модуль SIMCOM требует в конце команды вводить код конца строки и перевода каретки.

Олег 28.03.17 14:05

Спасибо, Алексей это осознал, имею проблему с передачей 1А, в таблице служебных символов нет комбинации с \... .

Алексей 28.03.17 15:04

А как должен выглядеть символ Ctrl+z? Или например пробел, табуляция. Поэтому передается именно кодом. Например \r\n можно записать как два байта 0x0D, 0x0A. Это одно и тоже.

Олег 28.03.17 16:59

Это я понял, коммада отправилась вот так


str = 0x4D;
str = 0x4B;
str = 0x4D;// три буквы текст для теста.
str = 0x1A;
str = 0;
usart_str_rn (str);
, текст наверно могу строкой, но 1А получается только через массив, как-то проще нельзя?

Алексей 28.03.17 17:14

void usart_char_out (BYTE data)

Просто посылает один байт в порт.

Евгений 07.05.17 17:47

BYTE sim800l_send_sms(BYTE *num, BYTE *text, BYTE lenght)
{
// Массив для получения ответов от модуля
BYTE str = {0};
далее исходник
// Ждем OK
usart_str_in(str, 18);
if(!((str == 0x4F) & (str == 0x4B))) return 0x34;
Откуда взялись 14 и 15 индекс в массиве, если он объявлен явно str ?

Алексей 07.05.17 20:05

А вот такой я валенок. Массив не на 10 ячеек, а на 20)))

Евгений 08.05.17 20:13

Бывает)) Так и понял что опечатка. Начал свой код писать, взял за основу и просто сразу увидел

Алексей 08.05.17 21:34

Советую лучше использовать SIM800C вместо L. Те же деньги но у C есть синезуб в модуле.

Евгений 12.05.17 06:43

Да, у меня как раз 800C модули. Алексей, после выполнения чтения, в str пусто, в чем может быть проблема? Команды на модуль уходят и модуль отвечает (проверено лог.анализатором), но в str пусто
// Ждем OK
usart_str_in(str, 18);
if(!((str ==

Евгений 12.05.17 18:57

Алексей. Разобрался в чем проблема, в функции usart_str_in было принятие 18 байт, а модуль отвечал только 9тью байтами, соответственно функция воспринимала данный ответ как таймаут. (BYTE usart_str_in(BYTE *str, BYTE count)
{
BYTE out = 0;
BYTE data = 0;
BYTE timeout = 0;

While(count > data) // здесь пока 18>9 - таймаут
{
data = GetData();

// Если в течении 250 мс данные не пришли
// то выйти из функции и вернуть 0
if(timeout >= 250)
{
ClearBuffer();
return out;
}

Timeout++;
_delay_ms(1);
}

Out = OutBufferStr(str, count);
return out;
}
А как быть если не известно какой длины придет ответ?

Алексей 12.05.17 20:03

Опрашивать буфер на прием больше одного байта, а потом подождав вычитать весь пакет из буфера.

Евгений 12.05.17 20:21

Алексей, не совсем понял идею, поясни плз

Алексей 12.05.17 20:58


main()
{

// Количество принятых байт в буфер
BYTE len_pocket = 0;

// Массив для данных
BYTE data = {0};

while (1)
{
// Смотрим что в буфере
len_pocket = usart_data();

// Проверяем пришло ли что в буфер
if (len_pocket > 0)
{
// Если пришло, ждем
// расчет паузы (1000/(битрейт/10)) * макс байт.
// Пример битрейт 19200, макс байт 40. (1000/1920) * 40 = 20.8мс

// Пауза для гарантированного получения всех байт
_delay_ms(22);

// Получаем количество принятых байт
len_pocket = usart_data();

// Записываем данные в массив
usart_str_in (data, len_pocket);

// Теперь в массиве data лежат все принятые байты.
}
}
}

Евгений 12.05.17 21:25

Алексей, спасибо, идею понял наглядно, буду пробовать. Еще хотел спросить про два слейва и мастер, по поводу потери связи при сдергивании линии, не пробовал макетировать?

Алексей 12.05.17 22:18

Пока нет. Очень много работы. Я вообще из-за нее подзабил на сайт.

Олег 08.07.17 23:28

Алексей, расскажите как согласовать уровни если мк питается 5в а модуль 3,3в? На али нашел модуль питания KIS-3R33S, он имеет управление выходом, есть ли смысл затевать перезагрузку SIM модуля снятием питания или хватит резета и вывода включения модуля?

Алексей 09.07.17 12:28

Во первых для согласования с модулем нужно не 3,3в, а 3в. Для этого достаточно поставить резистивный делитель, где RXD МК будет на входе резистора верхнего плеча, а резистор нижнего плеча подключен к общему сигналу.
Во вторых. Затевать перезагрузку передергиванием питания можно если модуль завис. Если модуль работает, то это категорически нельзя, та как это может привести к убиванию прошивки в модуле. Рестарт нужно делать передергиванием ножки PWR или АТ командой.

Олег 09.07.17 12:44

Спасибо, по первому всё понятно.
По второму, такой жесткий резет и планируется если модуль не отвечает и дергание rst и pwr не даёт результата,к стати есть pcb модулей без pwr или без rst, вопрос а как прошивка при выключении питания всего устройства, есть рекомендации?

Алексей 09.07.17 14:48

Это китайский баг. Подпаиватся к контактам. Китайцы особо не парятся, они даже питание не всегда реализовывают правильно. Лишь бы было дешево.

Олег 09.07.17 15:05

А когда модуль повис что вначале дергать pwr или rst, и если пвр и резет не помогает как правильно по питанию передернуть?

Алексей 09.07.17 19:29

Если завис наглухо, то просто снять питание секунды на три. А потом подать и проинициализировать по правилам.

Игорь 12.09.19 19:21

Подскажите как передать номер бз кавычек модем MC52i
// Подача номера телефона абонента
usart_str_out(SIM800L_AT_SMS, 9);
usart_str_out(num, 12);
usart_str_rn(""");

GSM/GPRS модуль на основе SIM800L самостоятельно подключить просто. Выполните несколько этапов и используйте современный компактный элемент в своих целях.

Корпорация SimCom предлагает пользователям компактный GSM/GPRS модуль на основе SIM800L. Улучшить сигнал позволяет встроенный разъем. Также можно воспользоваться антенной, которая идет в комплекте с этой модульной системой.

GSM/GPRS модуль SIM800L — описание

Детальное описание:

  • Питание модуля производится при помощи внешних источников или через DC-DC преобразовательные системы
  • Диапазон для питания должен быть в пределах 3.7В — 4.2В. Стоит отметить, что 5В от Arduino опасны для работы модуля, так как приведут его к поломке, а 3.3В помогут реагировать на пользовательские команды, но к сети подключение будет отсутствовать
  • Управление происходит через UART, но для Rx и Tx используется делитель напряжения, чтобы не производилась нагрузка на плату
  • Низкое энергопотребление модуля SIM800L позволяет его успешно использовать для техники с аккумуляторным питанием
  • При подаче питания модуль сразу же начинает искать сеть. Когда она найдена, начинает подавать сигнал светодиод, медленно мигая. Об отсутствии сети говорит этот же светодиод, но при помощи быстрого мигания лампочки
  • Модуль поддерживает micro SIM карты 1.8В и 3В

GSM/GPRS модуль SIM800L — подключение

Для подключения, кроме самого модуля, преобразователя и контроллера Arduino UNO R3, понадобится USB кабель, батарея на 12В и соединительные провода. Выполните следующие этапы:

  1. Сначала подайте питание к системе от батареи через DC-DC: от «минуса» напряжение должно идти на ардуино в «GND», от «GND» в преобразовательный элемент в «минус» на входе
  2. Подключение нужно производить после того, как вы настроите модуль, выставляя выходное напряжение в допустимом диапазоне (3.7В — 4.2В)
  3. Все контакты, которые выходят от преобразователя, подключите к SIM800L, соблюдая полярность
  4. TX и RX контакты на модуле соедините со 2-м и 3-м цифровыми контактами соответственно на ардуино

Важно: Если вам необходимо подключить два или три модуля к ардуино, тогда используйте другие коды, прописывая их в скетче через SoftwareSerial.

Наглядно в нижеследующем видео представлено, как подключить модуль SIM800L к Ардуино.

Видео: Подключение GSM модуля SIM800L к Arduino

Рекомендуем почитать

Наверх