Официальный сайт компании Arduino по адресу arduino.cc
Arduino+sim900A
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Сб, 23/06/2018 - 21:56
В програмировании я 0. Ребята нужна помощь я думаю кто разберется. Перерыл весь интернет. Есть в наличии sim900A (ATK-SIM900A-17). Саму GSM я перепрошил все работает сигналы принимает. Но вот схему подключения и сетчи для управления хотя бы одним сигналом най ти не смог. Те что есть GSM в сети и их схемы подключения не как не подходят к моей выше указанной АТК. Помогите со схемой подключения, и скетчем, и может с программами которые нужны для управления. Хотя бы одним элементом. Все что есть на этом сайте программы мне пока не нужны хотя они хороши.
Помощь можно получить только в двух случаях:
1. Вы что-то делаете сами, выкладываете схему и скетч и пишете, чего хотите добиться, и что конкретно у Вас не получается.
2. Идете в раздел "Ищу исполнителя" и заказываете скетч и схему за деньги.
Нашел скетч залил в ардуину. Все соеденил как нужно. Но пишет ошибку.
01
#include <SoftwareSerial.h>
02
SoftwareSerial mySerial(2, 3);
// RX, TX
03
int
ch = 0;
04
int
led = 13;
05
String val =
""
;
06
07
void
setup
() {
08
delay(2000);
//время на инициализацию модуля
09
pinMode(led, OUTPUT);
10
digitalWrite(led, LOW);
11
Serial
.begin(9200);
//скорость порта
12
Serial
.println(
"GSM tester v17.0"
);
13
mySerial.begin(9200);
14
mySerial.println(
"AT+CLIP=1"
);
//включаем АОН
15
delay(100);
16
mySerial.println(
"AT+CMGF=1"
);
//режим кодировки СМС - обычный (для англ.)
17
delay(100);
18
mySerial.println(
"AT+CSCS=\"GSM\""
);
//режим кодировки текста
19
delay(100);
20
mySerial.println(
"AT+CMGL=ALL"
);
21
delay(100);
22
pinMode(4, INPUT);
23
}
24
25
void
loop
() {
26
if
(mySerial.available()) {
//если GSM модуль что-то послал нам, то
27
while
(mySerial.available()) {
//сохраняем входную строку в переменную val
28
ch = mySerial.read();
29
val +=
char
(ch);
30
delay(10);
31
}
32
if
(val.indexOf(
"RING"
) > -1) {
//если звонок обнаружен, то проверяем номер
33
if
(val.indexOf(
"7ХХХХХХХХХХ"
) > -1) {
//если номер звонящего наш. Укажите свой номер без "+"
34
Serial
.println(
"--- MASTER RING DETECTED ---"
);
35
mySerial.println(
"ATH0"
);
//разрываем связь
36
}
37
}
else
38
Serial
.println(val);
//печатаем в монитор порта пришедшую строку
39
val =
""
;
40
}
41
42
if
(digitalRead(4)==1) {
//если увидели команду отправки СМС
43
sms(String(
"hello world"
), String(
"+7ХХХХХХХХХХ"
));
//отправляем СМС на номер +71234567890
44
}
45
val =
""
;
//очищаем
46
}
47
48
void
sms(String text, String phone)
//процедура отправки СМС
49
{
50
Serial
.println(
"SMS send started"
);
51
mySerial.println(
"AT+CMGS=\""
+ phone +
"\""
);
52
delay(500);
53
mySerial.print(text);
54
delay(500);
55
mySerial.print((
char
)26);
56
delay(500);
57
Serial
.println(
"SMS send complete"
);
58
delay(2000);
59
}
Но пишет
GSM tester v17.0
AT+CLIP=1
Переключить режим чтения смс в текстовый режим или вместо all написать 4
Или all в кавычки заключить
Вы издеваетесь? Три причины я озвучил, просто не помню синтаксис, а даташит лень читать, и тексты скетчей все на работе.
Все три варианта попробовали? Кавычки добавьте.
Исправить 20 строку по образу 18 ой кавычки нарисовать.
Все это по кругу. И так и ковычки, и без ковычек, и даже 4 брал в ковычки. И нашел обшибку место 9600 было 9200, я даже этот скетч со скоростью 115 с чемто так которая бы в этом скетче пробовал все бестолку.
В програмировании я 0.
Вот именно что ноль. И помочь тебе нельзя. Изучай программирование с самого начала, возьми пример с миганием диодом. За GSM взялся рано, если не бросишь - через годик до модемов доберешься. Пока не начнешь что-то понимать сам - ничего не выйдет. А тупо подбирать "ковычки - не ковычки" бестолку.
со светодиодом я разобрался. Уже.
Странно, неужели с sim900 так сильно команды от sim800 отличаются......
со светодиодом я разобрался. Уже.
если считаешь , что готов к модему - найди в гугле описание его АТ-команд и разберись, где нужны кавычки, а где нет.
И не пиши ерунды "в гугле не нашел". - значит и не искал.
Test2.
OK