امتحان میکنماز این انتن کوچیک فنری ها هم دارم . باید لحیم بشه. اونا دسی بلش بالاتر هست ؟
حالا یه اس رو چطوری بگم اگه یه متن خاص بود یه خروجی بده ؟
راستی یه چی دیگه. من هرکاری میکنم واسه اینکه میس بزنم به ماژول که با میس یه چی فعال بشه نمیشه ! یعنی یبار که زنگ میخوره دیگه میوفته توو حلقه و با همون یه میس 1000بار تکرار میکنه
این کدش:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(9, 10); //tx gsm = 9 rx arduino , rx gsm = 10 tx arduino
void setup()
{
mySerial.begin(9600);
Serial.begin(9600);
delay(1000);
Serial.println("start");
}
void loop()
{
while (mySerial.available())
Serial.println("zang khordan");
}
با اینا هم امتحان کردم
if (mySerial.available()>0)
if (mySerial.available()== HIGH)
و...
ویرایش توسط feredy2011 : 08-10-2016 در ساعت 08:09 AM
میدونی کدی که نوشتی داره چیکار می کنه؟
داره میگه هر موقع سیم 800 یه چیزی ارسال کرد ( که اصلا مهم نیست اون چیزه چیه ) تو برو فلان کار رو بکن. خب معلومه تو لوپ میفته
از این لینک لیست کامندها رو ببین :
https://cdn-shop.adafruit.com/datash...nual_v1.01.pdf
طبق چیزی که نوشته زمانی که یکی بهت زنگ بزنه تو کنسول سریال باید Ring رو ببینی
بنابراین باید تو کدنویسیت بگه اگه داده ای که سیم 800 برمیگردونه Ring هست فلان کار رو بکن
مرسی مهندس تلاشمو میکنم نتیجه رو میگم . بازم ممنون
دقیقا قصد دارید تابعتون چکار کنه.
اگه قصد دارید تابعی بنویسید که مثلا بعد از 3 تا زنگ answer کنه خب راه حل های ساده تر از تابع هم هست .
شما با یه کامند میتونی این کار رو انجام بدی
کامند مربوط به این کار ATS0 هست.
تنها نکته ای که توی کارکردن با این کامند باید بهش دقت کنی اینه که Save اش کنی با at&w
میتونی لیست کامندها رو هم از اینجا https://cdn-shop.adafruit.com/datash...nual_v1.01.pdf دانلود کنی.
مهندس من میخوام وقتی به sim زنگ میخوره شماره رو نشون بده بتونم شماره ای که داره نشون میده رو بعنوان contact ذخیره کنم
ATA و ATH جواب گرفتم واسه هر کدوم case گذاشتم اگه a و تو serial monitor وارد کنم تماس برقرار میشه b و وارد کنم قطع میشه
این دستورات و نوشتم ولی جواب نگرفتم
شماره رو نمیتونم نمایش بدم
ویرایش توسط magmagmary : 09-28-2016 در ساعت 07:42 AM
برای این که شماره رو سیو کنید میتونید از مثالهای این آموزش Using the GSM/GPRS & GPS Shield: call examples | Open Electronics استفاده کنید.
باید کدها رو مطالعه کنید.
************************************************
اگر هم خودتبخوای دست به کار بشی ( که کار جالب تریه ) میتونی ازروند زیر استفاده کنی:
کامند AT+CLIP رو وارد می کنی این کامند شماره ای که داره بهت زنگ میزنه رو نشون میده . خروجی ای که دیده میشه اینه مثلا :
حالا شما باید از این 15124532672 رو در بیاری بعد با یه دستور توی یه متغیر save اش کنی.
برای این قسمت از دستور substing https://www.arduino.cc/en/Tutorial/StringSubstring میتونی استفاده کنی بگی از مثلا کاراکتر شماره 8 تا کاراکتر شماره 19 رو برات بکشه بیرون
بعد از اون هم میتونی این متغیر رو تبدیل کنی به int با دستور toInt https://www.arduino.cc/en/Reference/StringToInt و ذخیرش کنی.
برای قسمت دومش دقیق نفهمیدم چی شد
الان شما تونستی با کامند دادن ata و ath به صورت کدی قطع و وصل کنی اما با کامند نتونستی درسته ؟
این رو تست بگیر ببین موفق میشی!!!کد:if (Serial.available() > 0) { char c = Serial.read(); if (c == 'a') { sendcomman("ATA\r"); } if (c == 'b') { sendcomman("ATH\r"); } }
ترجیحا آخر همه کامندهات r\ بزار .