Не работает SIM900 на UNO
- Войдите на сайт для отправки комментариев
Втр, 31/12/2013 - 17:01
Заливаю на UNO скетч:
#include "SIM900.h" #include <SoftwareSerial.h> //If not used, is better to exclude the HTTP library, //for RAM saving. //If your sketch reboots itself proprably you have finished, //your memory available. //#include "inetGSM.h" //If you want to use the Arduino functions to manage SMS, uncomment the lines below. #include "sms.h" SMSGSM sms; //To change pins for Software Serial, use the two lines in GSM.cpp. //GSM Shield for Arduino //www.open-electronics.org //this code is based on the example of Arduino Labs. //Simple sketch to send and receive SMS. int numdata; boolean started=false; char smsbuffer[160]; char n[20]; void setup() { //Serial connection. Serial.begin(9600); Serial.println("GSM Shield testing."); //Start configuration of shield with baudrate. //For http uses is raccomanded to use 4800 or slower. if (gsm.begin(2400)){ Serial.println("\nstatus=READY"); started=true; } else Serial.println("\nstatus=IDLE"); if(started){ //Enable this two lines if you want to send an SMS. //if (sms.SendSMS("3471234567", "Arduino SMS")) //Serial.println("\nSMS sent OK"); } }; void loop() { if(started){ //Read if there are messages on SIM card and print them. if(gsm.readSMS(smsbuffer, 160, n, 20)) { Serial.println(n); Serial.println(smsbuffer); } delay(1000); } };
Потом подсоединяю IComSat 1.1 SIM900, загорается кнопка PWR, иногда мигает. Включаю терминал, через некоторое время тест валится со словами
Trying to force the baud-rate to 9600
ERROR: SIM900 doesn't answer. Check power and serial pins in GSM.cpp
status=IDLE
Сим-карта от лайф. Прошу помочь.
Нет ответа от шилда.
Вам же так и написали: "Check power and serial pins in GSM.cpp"
Проверяйте настройки пинов в файле GSM.cpp с TX RX вашего шилда. и правильно ли стоят перемычки?
и кстати, светик "Power" не должен мигать! он постоянно горит! че-то у вас с питанием. где-то просадка по напряжению.
Перемычки соединил так:
В файле GSM.CPP пробовал использовать оба варианта для пинов TX и RX:
Светодиод pwr сейчас постоянно горит, остальные - нет.
так а кнопочку "Sim900-POWER" вы жмете перед запуском? Зеленая "Status" то же должна гореть! "PWR" - это значит что питание есть. а что модуль запущен - отвечает светик "status".
и попробуете менять местами пины 2-3 на оборот 3-2. или перемычками.
кстати, модуль можно запускать програмно с помощью 9-го пина.
UPD: В своей теме http://arduino.ru/forum/programmirovanie/pomogite-novichku-dopisat-kod?page=2 в посте 126 я описывал, что у меня была проблема с шилдом не работал переключатель "UART-Port - DBG-Port". Я отказался от перемычек. и просто подключился к TXD и RXD на прямую к чипу SIM900.
Вот на фото видно:
Спасибо за помощь! Но даже без использования перемычек не хочет работать.
http://www.youtube.com/watch?v=YDZ3Tmk-nws
Вот записал небольшое видео. Может, я что-то не так делаю?
Вот записал небольшое видео. Может, я что-то не так делаю?
вот в самое яблочко.. вы просто не теми руками взялись не за то дело.. оставьте. займитесь чем нибуть другим.
я так понимаю что если бы был еще один разьем для питания вы бы и его воткнули?
Так и без доп. питания делал.
Не могу оставить, понимаете...
Так и без доп. питания делал.
Не могу оставить, понимаете...
неа, не понимаю. давайте пойдем по порядку...
берем уну. одеваем на нее шильд. подключаем к ней УЗБ и втыкаем это дело в комп.
комп определяет уну.
запускаем ИДЕ
открываем пример к шильду
прописываем в нем пины приема-передачи 2-3 вроде бы в вашем случае..
прошиваем скеч
запускаем монитор и смотрим чего нам там шлють
если не шлют ничего. делаем финт ушами. в скече меняем пины местами 2 и 3. тоесть заметсо 2 пишем 3 и заместо 3 пишем 2
прошиваем опять
запускаем монитор и смотрим че пишут..
если и щас ничего не пишут. то открываем мусорное ведро и кидаем туда шильд..
прописываем в нем пины приема-передачи 2-3 вроде бы в вашем случае..
Это пины в gsm.cpp? В примере я ничего не нашел.
ага они самые
Перемычки соединил так:
В файле GSM.CPP TX и RX:
вот так должно быть
Сделал по рекомендациям. И финт ушами тоже.
Вывод такой же, что и раньше. ( Нельзя сказать что ничего, но и наоборот - тоже )
ну тогда берете и делаете как на приведеных выше фотах. паяльник в руки и проводками все это дело напрямую к чипу подключаете :)
ну либо все в мусорку и займитесь выжиганием на фанерке например
да кстати там вон еще кнопачку нужно какую то нажимать на шильде самом. выше вам уже писали.
Каким-то чудом она прошла тест.
Спасибо Вам огромное!
Будем руки прямить.
Посмотрел последнее ваше видео. у вас так и на включился шилд. зеленый светик так и не загорелся..
конечно он вам и не ответит ничего..
gsm шилд потребляет порядка 2 ампер. Проверяйте питание. От усб точно работать не будет. Проверено.
Здравствуйте товарищи! Проблема с таким же шилдом, заключается в следующем- не могу отправить/получить смс. Со звонками не пробовал.
перебрал разные библиотеки уже, остановился на той же что и ТС.
В чем может быть проблема я не пойму, шилд проходит "тест" по скетчу из примера(в 1 посте аналогичный) и даже судя по звукам стоящих рядом колонок отсылает сигналы, но на телефон смс так и не приходит=( с телефона впрочем тоже на шилд не может дойти. Кто нибудь сталкивался?
Может, проблема в симке? У меня однажды не хотела отправлять, т.к на счету был минус.
Господи, вы гений)
я 2 дня голову ломал, меня ввели в заблуждение, сказав что на той симке 200р находится, оказывается там ровно 0 было)
не понос так золотуха, теперь не могу принять смс -_-
юзал 2 примера-
и
Последний из IDE1.05 примеров. ни тот ни другой не хотят корректно работать=(
объясните каким образом прием производится, скорее всего что то элементарное делаю не так. Заранее благодарен!
по непонятным причинам смска не доходит до шилда, есть варианты почему так происходит?
Я попробовал первый пример.
На симке были смс в памяти.
Их не вывело в сериал.
Почему так - не знаю.
я сейчас со вторым экспереметирую. отправляю смс с сайта, колонки ворчат, сериал чист.
Даже если убрать в коде 1-е условие в loop, то все равно команды sms.remoteNumber и пр. не работают
Старые смски с симки удали. Память ограничена.
по непонятным причинам смска не доходит до шилда, есть варианты почему так происходит?
Промазал. см Предыдущее сообщение
Спасибо за подсказку) не знаю если честно почему не работает пример из GSM SHIELD, но пример из 1.05 пашет отлично)
Огромное спасибо Вам)
Вот рабочий пример, версия IDE 1.05-r2
Народ, подскажите.
Попробовал пример из этого поста: http://arduino.ru/forum/programmirovanie/pomogite-novichku-dopisat-kod?page=5#comment-40099
Железо: Arduino Leonardo + Шилд sim900.
Одел, загрузил скетч по ссылке выше.
Немного упростил его чтобы он сразу отсылал сообщение (но не больше 4-х), так как кнопки нет.
Потом я подаю на него питание и он ничсего не шлет.
Когда я запускаю его с зажатой кнопкой PWRKEY на шилде, он загружается и присылает мне смс. То есть инициализируется и отсылает шилд корректно все. Если выткнуть из сети и снова воткнуть - смс не шлется.
Собственно, вопрос: за каким лешим надо жать кнопку? И как обойти это, если я на автомат все поставлю, то что, мне после каждого пропадания электричества ресетить его с зажатой кнопкой?
На шилде два светодиода. Один красный pwr и один зеленый net. Никаких 'status' нет. NET моргает, когда он в сети, я так понимаю... Но если включить прибор без зажатой pwrkey, то он не будет гореть и соотв. отсылать смс.
неа, не понимаю. давайте пойдем по порядку...
берем уну. одеваем на нее шильд. подключаем к ней УЗБ и втыкаем это дело в комп.
комп определяет уну.
запускаем ИДЕ
открываем пример к шильду
прописываем в нем пины приема-передачи 2-3 вроде бы в вашем случае..
прошиваем скеч
запускаем монитор и смотрим чего нам там шлють
если не шлют ничего. делаем финт ушами. в скече меняем пины местами 2 и 3. тоесть заметсо 2 пишем 3 и заместо 3 пишем 2
прошиваем опять
запускаем монитор и смотрим че пишут..
если и щас ничего не пишут. то открываем мусорное ведро и кидаем туда шильд..
прям так сразу в мусорку ? ))
некоторые GSMшилды так работать смогут, и то если юсб питание не сильно просажено.
большинство же GSMшилдов в таком варианте если и будут работать, то криво -например в сериал порт слать, а сам GSM работать не будет . причина простая - юсб порт даёт ток 500 мА, а шилдам на модуле sim900 обычно в пике требуется до 2х ампер, т.е. в четыре раза больше, поэтому обычно большими красными буквами продавцы пишут - "ЭТОМУ ШИЛДУ НУЖНО ВНЕШНЕЕ ПИТАНИЕ".
Собственно, вопрос: за каким лешим надо жать кнопку? И как обойти это, если я на автомат все поставлю, то что, мне после каждого пропадания электричества ресетить его с зажатой кнопкой?
Это на многих шилдах так сделано.
Вот тут есть решение: http://arduino.ru/forum/apparatnye-voprosy/gsm-shield-atk-sim900a-pomogite-s-dokumentatsiei