Serial monitor не выводит команды.

VeD
Offline
Зарегистрирован: 21.02.2016

Такая вот беда. Хотелось отследить AT команды, но монитор порта ничего не выводит. Менял скорость порта, на все доступные, всё равно 0 эмоций. 

Оборудование arduino uno и gsm shield sim900 с aliexpress 

Все рабочее, так делал управление реле по смс, дозвон с шилда на телефон и смс с шилда г=на телефон. С этим всё ок. Но вот на монитор ничего не выводит. 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Хрустальные шары нонче редкость. Поэтому лучше сразу приводить скетч и схему подключения.

VeD
Offline
Зарегистрирован: 21.02.2016

а без скетча не должны появляться команды. например, при звонке на шилд?

VeD
Offline
Зарегистрирован: 21.02.2016

VeD
Offline
Зарегистрирован: 21.02.2016

Желтый: 7 пин

Оранжевый: 8 пин

Красный: 5 вольт

Черный: gnd

 

 

VeD
Offline
Зарегистрирован: 21.02.2016
#include <SoftwareSerial.h>
 
SoftwareSerial gprsSerial(7, 8);
 
int btnPin = 12;
boolean prevBtn = LOW;
 
void setup()
{
    gprsSerial.begin(19200);
}
 
void loop()
{
    boolean currBtn = digitalRead(btnPin);
    if (prevBtn != currBtn && currBtn == HIGH) {
        //сразу после нажатия кнопки начинаем звонить по заданному номеру
        gprsSerial.println("ATD + +79031034424;");
    }
    prevBtn = currBtn;
}

 

VeD
Offline
Зарегистрирован: 21.02.2016
вот набросал программу с дальномером.
Если расстояние меньше или равно 10 сантиметров, то звоним на указанный номер
Иначе сбрасываем.
Но как отследить в мониторе порта состояние звонка через AT+CLCC например?
Если в loop пишу Serial.print("AT+CLCC");
То в мониторе просто идет это друг за другом
AT+CLCC AT+CLCC AT+CLCC ........
Даже когда принимаю вызов, тоже самое


#include<SoftwareSerial.h>
SoftwareSerial gprsSerial(7,8);
int echo=2;
int trig=4;
unsigned long timeUs=0;
unsigned long distance=0;

void setup()
{
  gprsSerial.begin(19200);
  Serial.begin(9600);

  pinMode(trig, OUTPUT);
}


void loop()
{
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig,LOW);
timeUs=pulseIn(echo, HIGH);
distance=timeUs/58;


if(distance<=10)
{
  gprsSerial.println("ATD+ +79xxxxxxxxx;");
  Serial.print("AT+CLCC");
}
else
{
  gprsSerial.println("AT+CHUP");
}
delay(100);
}