ARDUINO Вопросы по Sim800L

xof

★✩✩✩✩✩✩
24 Окт 2020
123
44
Читал.
Без "понижайки" ни как!?.
Без понижайки "как". В 20 посте я написал что понижающий модуль я предлагаю использовать в законченном проекте, а для теста использовать банку 18650.
Так что итоговая схема питания для теста такая:

18650 подключаем к сим800л, землю от 18650\сим800л подключаем к ардуине. Ардуину питаем от чего угодно подходящего для этих целей.
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
473
@KOTOFEY, так у Вас с питанием беда. Определитесь уже с питанием микросхем, и будет Вам счастье. Если нет у Вас достаточно мощного блока питания - так бросьте это дело. Все симптомы, которые Вы описываете, очень уж похожи на отсутствие нужного тока от источника питания.
 
  • Лойс +1
Реакции: Старик Похабыч

KOTOFEY

✩✩✩✩✩✩✩
2 Янв 2020
39
1
Не заводится.


#include <SoftwareSerial.h>
SoftwareSerial mySerial(0,1); // RX, TX
//SoftwareSerial mySerial(D7,D8); // RX, TX

void setup() {
// put your setup code here, to run once:
Serial.begin(9600); //Скорость порта для связи Arduino с компьютером
Serial.println("system test");
mySerial.begin(9600); //Скорость порта для связи Arduino с GSM модулем
//mySerial.begin(115200); //Скорость порта для связи Arduino с GSM модулем
mySerial.println("AT");// если связь с модулем есть то пишется АТ-ОК
mySerial.println("AT+GSV");
}

void loop() {
// put your main code here, to run repeatedly:
if ( mySerial.available() ) {Serial.write(mySerial.read());}
if ( Serial.available() ) {mySerial.write(Serial.read());}

//Serial.println("system test 2");
mySerial.println("AT");
}

В монитор порта такое


system test
AT⸮MYR⸮⸮⸮⸮1⸮⸮⸮)⸮⸮⸮*⸮R⸮⸮*⸮⸮⸮⸮⸮⸮⸮R⸮UE⸮H⸮⸮⸮⸮⸮⸮⸮⸮⸮Q⸮⸮⸮ATPCE⸮⸮Q⸮⸮*c


Что делал:
  • пробовал менять/перебирать пины куда подключено. Вот на 0 и 1 более менее разшевелилось.
  • добавить два резистора. Один между TX арудинки и RX модули, второй на землю.
  • менял скорость

Всё! Руки опустились.
 

xof

★✩✩✩✩✩✩
24 Окт 2020
123
44
Не заводится.

Всё! Руки опустились.
C++:
#include <SoftwareSerial.h>
SoftwareSerial SIM800(8, 9);        // 8 - RX Arduino (TX SIM800L), 9 - TX Arduino (RX SIM800L)
void setup() {
  Serial.begin(9600);             
  Serial.println("Start!");
  SIM800.begin(9600);             
  SIM800.println("AT");
}

void loop() {
  if (SIM800.available())         
    Serial.write(SIM800.read()); 
  if (Serial.available())         
    SIM800.write(Serial.read()); 
}
1607676367890.png
 
  • Лойс +1
Реакции: KOTOFEY

ilyad_MILL

✩✩✩✩✩✩✩
8 Апр 2020
7
0
Добрый день! Решил собрать GSM-сигнализацию вот по этой схеме:
Схема сигнализац.SIM800L ..jpg.jpg
Единственное - использовал вот такой модуль SIM800L^
1.jpg
Вот так все это выгляди на стадии отладки.

1608999560162.jpg
Модем работает когда на выходе с преобразователя 5 вольт, я звоню на него и слышу гудки, но на команду AT нет реакции и нет отправки смс при замыкании охранного реле. Деньги на балансе есть, смс на телефон приходят. в чем может быть проблема?
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,233
1,295
Москва
  • Лойс +1
Реакции: andyparker

ilyad_MILL

✩✩✩✩✩✩✩
8 Апр 2020
7
0
Залил этот скетч:



#include <SoftwareSerial.h>
SoftwareSerial SIM800(8, 9); // 8 - RX Arduino (TX SIM800L), 9 - TX Arduino (RX SIM800L)
void setup() {
Serial.begin(9600);
Serial.println("Start!");
SIM800.begin(9600);
SIM800.println("AT");
}

void loop() {
if (SIM800.available())
Serial.write(SIM800.read());
if (Serial.available())
SIM800.write(Serial.read());
}
Не совсем понимаю, что значат цифры 8 и 9. Это пины на ардуине?
 

ilyad_MILL

✩✩✩✩✩✩✩
8 Апр 2020
7
0
статью прочитал, собрал по схеме с резисторами в 10 кОм - результат такой же, звоню на модуль - есть гудок, на команду AT реакции нет. На плате S800L есть выводы UTX URX и MTX MRX к каким надо подключаться?
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,233
1,295
Москва
Возможно модуль пробует общаться с ардуино на другой скорости. не на 9600, такое предположение.
Светодиод присутствует на плате ? как мигает?
 

ilyad_MILL

✩✩✩✩✩✩✩
8 Апр 2020
7
0
Возможно модуль пробует общаться с ардуино на другой скорости. не на 9600, такое предположение.
Светодиод присутствует на плате ? как мигает?
2 диода. Красный горит постоянно при 5в, при меншем пульсирует, зеленый горит и периодически мигает. судя по тому, что я могу звонить на эту сим-карту, модуль регистрируется в сети и работает. Может я не на те TX RX контакты подключился?
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,233
1,295
Москва
да, зеленый свидетельствует о работе сим карты. частые мигания - ищет сеть.
Может, но я не вижу какие пины есть на этой плате. у меня стандартная красная и там только 2 вывода подписанyых rx-tx
 

bort707

★★★★★★✩
21 Сен 2020
3,028
902
На плате S800L есть выводы UTX URX и MTX MRX к каким надо подключаться?
начните с UTX URX
то что выводы подключаются крест-накрест ( RX - TX TX - RX) - помните?
Если все равно не работает - попробуйте поменять местами RX - TX на модуле - иногда китайцы подписывают контакты наоборот
 

ilyad_MILL

✩✩✩✩✩✩✩
8 Апр 2020
7
0
начните с UTX URX
то что выводы подключаются крест-накрест ( RX - TX TX - RX) - помните?
Если все равно не работает - попробуйте поменять местами RX - TX на модуле - иногда китайцы подписывают контакты наоборот
Я подключаю TX и RX модуля к 8 и 9 пинам ардуины.
Заказал модуль как в описании, посмотрим как он будет себя вести
 

puhloschiok

✩✩✩✩✩✩✩
8 Окт 2018
22
0
Товарищи, может кто сталкивался с тем же, что и я... помогите.
Использовал заготовку кода Виктора Кравченко (coudius.ru). Всё работает, но программа зависает из-за этой строки:

C++:
"while (!SIM800.available() && millis() < _timeout) {};
Т.е. ожидание ответа от модуля вешает программу на время ожидания этого самого ответа.
Подобное встречал и на Arduino.ru и в комментах под статьёй автора. Но никто решения нормального не публиковал.
У меня же познаний недостаточно, чтобы продвинуться в этом направлении.

Заранее благодарю за помощь!
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,233
1,295
Москва
Зависание может быть из за нехватки памяти. Вот код, который выдает свободную память для нано и мег вских.
C++:
int memoryFree()
{
   int freeValue;
   if((int)__brkval == 0)
      freeValue = ((int)&freeValue) - ((int)&__bss_end);
   else
      freeValue = ((int)&freeValue) - ((int)__brkval);
   return freeValue;
}
Вставьте в loop вызов функции и вывод в монитор порта значения. Если менее 450 для наны, то вполне возможно и зависание
 
  • Лойс +1
Реакции: puhloschiok