Пустой вывод в последовательном мониторе
Итак, мой SIM900 GSM Shield работает нормально, индикатор Netlight мигает, а индикатор состояния горит постоянно. После того, как я загрузил код, ничего не происходит с mySerial() в моем последовательном мониторе. Могу я занять ваше время, чтобы вы проверили этот код? Интересно, проблема здесь?
#include<SoftwareSerial.h>
//Создаем программный последовательный объект для связи с SIM900
SoftwareSerial mySerial(7, 8); //SIM900 Tx & Rx подключен к Arduino #7 & #8
/*void SIM900power()
{
pinMode(9, OUTPUT);
digitalWrite(9,LOW);
delay(1000);
digitalWrite(9,HIGH);
delay(2000);
digitalWrite(9,LOW);
delay(3000);
}*/
void setup() {
// поместите сюда код установки для однократного запуска:
// Начать последовательную связь с Arduino и Arduino IDE (последовательный монитор)
Serial.begin(9600);
//Начнем последовательную связь с Arduino и SIM900
mySerial.begin(9600);
Serial.println("Initializing...");
delay(1000);
mySerial.println("AT"); //Подтверждение связи с SIM900
updateSerial();
mySerial.println("AT+CSQ"); //Тест качества сигнала, диапазон значений 0-31, 31 — лучший
updateSerial();
mySerial.println("AT+CCID"); //Прочитайте информацию о SIM-карте, чтобы убедиться, что SIM-карта подключена
updateSerial();
mySerial.println("AT+CREG?"); //Проверяем, зарегистрировался ли он в сети
updateSerial();
mySerial.println("AT+COPS?"); // Убедитесь, что вы подключены к сети;
updateSerial();
}
void loop() {
// поместите сюда ваш основной код для многократного запуска:
updateSerial();
}
void updateSerial()
{
delay(500);
while (Serial.available())
{
mySerial.write(Serial.read());//Пересылаем полученный Serial на программный последовательный порт
}
while(mySerial.available())
{
Serial.write(mySerial.read());//Пересылаем то, что Software Serial получил в последовательный порт
}
}
Вывод:
@TechHermit, 👍0
Обсуждение1 ответ
Лучший ответ:
Шаг 1) Проверьте соединения RX TX Шаг 2) Измените скорость передачи данных на 115200. Выключите Arduino. Выключить гсм. Сначала запустите GSM, а затем Arduino.
или Шаг 3) Загрузите серийный код программного обеспечения и просто отправьте «AT» без кавычек, используя последовательный монитор. Если ваши соединения правильные, вы должны получить ответ как AT. Также убедитесь, что скорость передачи данных установлена на 115200. Большинство модулей GSM имеют скорость передачи по умолчанию 115 200 бод или имеют автоматическую настройку скорости, но их необходимо выключить и снова включить.
- Проблема с получением SMS - GSM-модуль Arduino Uno и SIM900A
- Мини-модем SIM900a, IMEI 0, помощь с контактами TX RX
- Как получить данные из базы данных моего сервера в переменную в моем Arduino?
- Как отправить команду AT на sim800l с помощью SoftwareSerial
- SIM800L не регистрируется в сети
- Как проверить, работает ли GSM-модуль?
- Как отправлять сообщения на несколько номеров с помощью модуля Arduino uno и SIM800?
- Клиент MQTT на Arduino + SIM900
Какова цель
SIM900power()
? Вы определили его, но никогда не использовали., @Edgar BonetЯ только что прокомментировал это, и все же он выводит только «инициализация..»., @TechHermit
ваш код содержит команду, которая заставляет Arduino останавливаться и ничего не делать в течение 500 мс при каждой итерации цикла (), @jsotola
посмотрите пример серийного кода программного обеспечения arduino и сравните его с вашим кодом, @jsotola
Это сайт, на который я копирую код: [ссылка](https://lastminuteengineers.com/sim900-gsm-shield-arduino-tutorial). Это не объяснило часть о том, почему это была задержка (500), поэтому я не знаю, как это работает. @jsotola, @TechHermit
Я пересмотрю ваше предложение. :), @TechHermit
Вы уверены, что используете правильную скорость передачи данных? Когда связь не работает, но в остальном модуль ведет себя правильно, это может быть проблемой., @chrisl
Я понял! Дурак я. Я просто переделал его. Спасибо за ваше мнение. :D, @TechHermit
@TechHermit Тогда, пожалуйста, ответьте на свой вопрос или удалите вопрос. Комментарии не постоянны. Если они будут удалены, другие будут думать, что проблема не решена., @chrisl