не работают совместно RX-TX(433) и GSM
- Войдите на сайт для отправки комментариев
Чт, 22/01/2015 - 00:11
Приветствую.
Вместе RX-TX(433) и GSM shield не хотят работать никак:
#include <VirtualWire.h> #include <GSM.h> GSM gsmAccess; GSM_SMS sms; void setup() { Serial.begin(9600); vw_set_ptt_inverted(true); vw_setup(2000); vw_rx_start(); boolean notConnected = true; while (notConnected) { if (gsmAccess.begin() == GSM_READY) { notConnected = false; }else { Serial.println("IDLE"); } } Serial.println("GSM initialized"); }
при таком раскладе, GSM не инициализируется =(
если вызвать работу с RX-TX после инициализации модема, то вызовы методов vx_*() не работают
В чем может быть проблема?
Смотрел интеренет, там в основном о конфликте VirtualWire.h с Servo, а об GSM ни слова.
Спасибо.
ВОт прочел, что:
Библиотека VirtualWire использует в Ардуино Timer1, и это сказывается на работе PWM выводов 9 и 10.
а при подключении GSM shield к MEGA с использованием стандартной GSM.h на главном сайте такое указание:
The GSM library uses digital pin 10 to communicate with the Mega. Thus, you need to route the signal from pin 2 of the GSM shield to pin 10 of the Arduino, and at the same time prevent this signal from connecting to pin 2 of the Arduino.
Как их можно подружить?
Знакомая до боли ситуация когда девайс работает по сериалу а либа TimerOne не дает нормально никому работать.
Да, я вижу, что проблема у большинства это конфликт Timer1 (при использовании VirtualWire & Servo) решение в изменении библиотеки Servo.
А есть ли подобные решения для VirtualWire или другие либы для работы RX-TX 433?
Есть еще вариант работать с SIM900 вместо GSM.h но уж больно не хочется уходить так далеко, да и не факт, что там тажефигня =)
Вообщем решил я проблему так:
- GSM RX перевел с 10 на 11
- 433 TX с 11 на 12, RX - c 12 на 13