SIM 800L и управление светодиодом на плате Arduino UNO
- Войдите на сайт для отправки комментариев
Сб, 03/03/2018 - 15:06
Здравсвуйте! Прошу помощи. Я только начинаю прогаммировать, с AT-командами от платы к модулю разобрался. теперь пытаюсь разобраться с исполнением команд от GSM-модуля.
Пришу скетч, пытаюсь сделать так, чтобы при зовнке светодиод на выводе 13 загорался. Что я делаю не так, помогите! Заранее спасибо
#include <SoftwareSerial.h> SoftwareSerial mySerial(2, 3); // RX, TX void setup() { Serial.begin(19200); //Скорость порта для связи Arduino с компьютером Serial.println("Hello! Software by remontmob. V 1.0 remontmob@mail.ru"); mySerial.begin(19200); //Скорость порта для связи Arduino с GSM модулем delay (3000); mySerial.println("ATI"); // вываливаем всю инфу mySerial.println("ATS0=1");// настраиваем автоответ pinMode (13, OUTPUT); } void loop() { if (mySerial.available()) Serial.write(mySerial.read()); if (Serial.available()) mySerial.write(Serial.read()); if (mySerial.write(Serial.read()== "RING" ) // вот тут буксую. { digitalWrite (13, HIGH); } else { digitalWrite (13, LOW); } }
Почитайте вот здесь, чем отличаются символьные константы от строковых. Затем посмотрите на свою строку 22. Если останутся вопросы и непоятки, переходите к началалу - почитайте вот здесь, чем .....
И закрывающую скобку в той же строке.
А, так "буксует" он скорее всего из-за скобки, а выложить сообщение компилятора религия не позволила. Ну, тогда пусть буксует дальше.
все, исправил. теперь компилятор не ругается, но прога не работает. Если я верно понимаю, то нужно считать из монитора порта "RING' и включить светодиод. Или напрямую не получится?
все, исправил.
Ни хрена не исправил.
Читайте мой пост #1 и делайте то, что там сказано!
начинаю понимать.
if
(
Serial
.read() ==
"RING"
) ошибка тут.
Serial
.read() не понимает буквы. ему нужны цифры. Значит, надо объяявить переменную и приравнять 'ring' к цифре. верно?
тут что-то связано с
charВам бы сценарии к арт-хаусным фильмам писать..
if
(
Serial
.read() ==
"RING"
) ошибка тут.
Serial
.read() не понимает буквы. ему нужны цифры. Значит, надо объяявить переменную и приравнять 'ring' к цифре. верно?
невозможно приравнять
'ring' к цифре. Это как приравнять одного слона к стаду носорогов.
Самая первая ошибка в том, что функция
Serial
.read() считывает из порта за раз только одно число или одну букву. А в слове "RING" четыре буквы. Соответсвенно, условие
(
Serial
.read() ==
"RING"
) ни при каких условиях не может выполнится.
Вам необходимо считывать буквы из порта, складывать их в слова и искать среди этих слов "RING"
if
(
Serial
.read() ==
"R"
)
if
(
Serial
.read() ==
"I"
)
if
(
Serial
.read() ==
"N"
)
if
(
Serial
.read() ==
"G"
)
так?
И в цикл ещё это запихнуть ) Или напевать под мотив Буратино - Эр ту-ту-ту-ту-ту И ту-ту-ту-ту-ту Эн ту-ту-ту-ту-ту Гэ ту-ту-ту-ту-ту
Эр И Эн ГЭ
Serial.read() не понимает буквы. ему нужны цифры. Значит, надо объяявить переменную и приравнять 'ring' к цифре. верно?
if (Serial.read() == "R" )
if (Serial.read() == "I" )
if (Serial.read() == "N" )
if (Serial.read() == "G" )
Вы знаете, Евгений Александрович Евтушенко со мною не знаком, и врядли догадывается о моём существовании, но в своей "балладе о ласточке", он писал именно обо мне в данную минуту: "... и свои чувства матом выражал ..."
Я Вам уже сказал что делать в посте №1 - изучите чем отличаются символьный тип и строкового, я Вам дал ссылку, там об этом ПРЯМО написано. Там ПРЯМО написано в чём Ваша ошибка. Так, изучите же!!!! Оторвите ленивую задницу и прочитайте тест столько раз, сколько нужно, чтобы понять! Перестаньте строить из себя дебила, не сопосбного прочитать две страницы - это уже не смешно!
я прочитал, но не могу понять, как эти абстрактые числа помогут мне решить мою задачу?
я так понимаю, что мне нужно изучать "
Строковые константы
из статьи?
Мля, я я уже не могу. Ну, во-первых, неплохо бы и всю статью целиком, но даже если в лом, вот скажите с какого хрена Вы читаете только про строковые? Я же Вам по-русски написал: "изучить чем отличаются символьные константы от строковых". Какое слово Вам в этой фразе непонятно? Там в статье есть и про те, и про другие!
Вообще-то код который мы пишем это сплошная абстракция, которую компилятор превращает в реальный код. Так что абстрактные числа, абстрактные программы . И нечего здесь нос воротить.
И главное ложки нет.https://www.youtube.com/watch?v=8EAD7CUu_F8
я прочитал, но не могу понять, как эти абстрактые числа помогут мне решить мою задачу?
Значит, Ардуино не для Вас.
Займитесь чем-нибудь другим. Например, макраме.
Serial
.read() не понимает буквы. ему нужны цифры.
перенес в http://arduino.ru/forum/otvlechennye-temy/narochno-ne-pridumaesh-origina...
Вообще-то код который мы пишем это сплошная абстракция, которую компилятор превращает в реальный код. Так что абстрактные числа, абстрактные программы . И нечего здесь нос воротить.
О_О