آموزش ایجاد تماس با شیلد sim900a آردوینو Arduino
در آموزش قبلی به ارسال و دریافت اساماس به وسیلهی شیلد sim900a در آردوینو پرداخیتم. در این آموزش ایجاد تماس صوتی در برد آردوینو Arduino به وسیله شیلد sim900a را توضیح خواهم داد. در ادامه با مرجع تخصصی آدروینو Arduino ، دیجی اسپارک همراه باشید.
ماژول sim900a یکی از معروفترین ماژولهای gsm/gprs با هسته پردازشی بسیار قوی AMR926EJ-S میباشد. توسط این ماژول میتوان عملیات برقرای تماس،ارسال و دریافت اساماس ، ارسال فکس و هچنین نبادل اطلاعات با اینترنت را انجام داد.از طریق کنترل این ماژول می توانید در هر جای کره زمین که امواج موبایل موجود می باشد دستگاه های خود را کنترل و به تبادل اطلاعات بپردازید. شیلد sim900a با تمامی آردوینوهای استانداز سازگار بوده و میتوان آن راه بر روی آردوینوهای استتاندار قرار داد. این شیلد را میتوان به وسیلهی پروتکل سریال به آردوینو متصل نمود و توسط دستورات AT Command کنترل نمود.
ویژگی شیلد GSM سیم کارت sim900a
- پشتیبانی از دو باند ۹۰۰ و ۱۸۰۰ مگاهرتز
- GPRS کلاس ۸/۱۰
- ایستگاه موبایل GPRS کلاس B
- مطابق با GSM phase 2/2+
- دارای جک اسپیکر و میکروفون
- کنترل از طریق AT Command
- جریان مصرفی بسیار پایین در حدود ۱٫۵ میلیآمپر در حالت خواب
- کد کنندههای صدا Half rate (HR) ,Full rate (FR) ,Enhanced Full rate (EFR)
- عمل کرد هندس فری AMR ,Half rate (HR),Full rate (FR)
- ۱۲ عدد GPIO به همراه ۲عدد pwm و ۱ عدد
قطعات در شیلد سیم کارت sim900a
- Power select –انتخاب تغذیه ماژول که از ولتاژ آردوینو استفاده کند یا ولتاژ خارجی
- Power jack – جک تغدیه اتصال به ۴٫۸ الی ۵ ولت
- Antenna interface – اتصال به آنتن خارجی
- Serial port select – تنظیم استفاده از پورت سریال نرمافزاری یا سخت افزاری
- Hardware Serial – D0/D1 of Arduino/Seeeduino (منظور همان ارتباط سریال معمولی است که به وسیله پین شماره ۰ و ۱ انجام میشود.)
- Software serial – D7/D8 of Arduino/Seeeduino only (منظور ارتباط سریالی است که به وسیله سایر پینهای دیجیتال آردوینو انجام میشود)
- Status LED – هنگام روشن بودن بودن ماژول این چراغ روشن میشود
- Net light – هنگامی که ماژول به اینترنت متصل شود این چراغ روشن میشود
- UART of SIM900 – UART پینهای
- Microphone – میکروفون
- Speaker اسپیکر-
- GPIO,PWM and ADC of SIM900 – GPIO,PWM and ADC pins breakout of SIM900
- Power key – سوئیچ تغذیه
سخت افزار مورد نیاز
آردوینو Uno
شیلد sim900a (خرید از فروشگاه)
آمادهسازی شیلد GSM sim900a
در ابتدا پینهدر را بر روی شیلد sim900a آردوینو لحیم کنید و سپس شیلد را بر روی آردوینو Uno قرار دهید.
در هنگامی که شما shield sim900a را خریداری میکنید ، جامپر مربوط به تنظیم سریال سخت افزاری یا نرمافزاری همانند حالت زیر میباشد:
اکنون میابست جامپر را جدا کرده و در وضعیت زیر قرار دهید:
هم اکنون کتابخانهی شیلد sim900a را از لینک زیر دانلود کنید.این کتابخانه توسط تیم تخصصی دیجی اسپارک اصلاح شده است و فقط برای این شیلد تست شده است .این کتابخانه از دو پین شماره ۷ و ۸ به منظور ارتباط سریال نرمافزاری با آردوینو استفاده میکند.
دانلود کتابخانه shiled GSM sim900a arduino
معرفی توابع برای برقراری و دریافت تماس
byte CallStatus(void)
به وسیلهی این تابع وضعیت تماس را دریافت میکنیم. این تابع مقادیر زیر را بر میگرداند:
CALL_NONE: تماسی دریافت نشده است
CALL_INCOM_VOICE: تماسی به شماره خط شما گرفته شده است
CALL_ACTIVE_VOICE: یک تماس فعال دارید
CALL_NO_RESPONSE : تماس گرفته شده پاسخ نمیهد
void Call(char *number_string)
به وسیلهی این تابع میتوان با شمارهی موردنظری که به جای number_string قرار میگیرد ، تماس میگیرد.
مثال: در این مثال با شماره +۹۸۹۱۳۶۹۸۷۱۲۱ تماس میگیرد.
call.Call("+989136987121");
این تابع یک اورلود دیگری به شکل تابع زیر دارد:
void Call(int sim_position)
که به وسیلهی آن میتوانید با شمارهی ذخیره شده در حافظه سیمکارت تماس بگیرید. به جای sim_position عددی بین ۱ الی ۲۰ قرار میگیرد.
مثال: در این مثال به شمارهی ذخیره شده در خانه شمارهی ۱ سیمکارت تماس میگیرد.
call.call(1);
void HangUp(void)
به وسیلهی این تابع تماس دریافتی یا تماس فعال قطع میشود.
void PickUp(void)
به وسیلهی این تابع به تماس دریافتی پاسخ داده میشود.
پروژه با GSM Sim900a
در این پروژه با استفاده از دو تاچ سویچ عملیات برقراری تماس و دریافت تماس را انجام میدهیم.
تذکر: در این پروژه برای تشخیص فشرده شدن کلیدها از کتابخانه دیبانسنگ استفاده شده است که آموزش آن را در لینک زیر میتوانید مشاهده کنید.
اتصالات GSM Sim900a
یه عدد تاچ سوییچ به پین شماره ۲ آردوینو به صورت پول آپ متصل شده است . از این کلید به منظور برقراری تماس با شماره مشخص شده در برنامه استفاده میشود.
یک عدد LED به پین شماره ۱۳ متصل شده است.در هنگامی که تماس تبفنی را با شماره مورد نظر برقرار کنیم این LED روشن میشود.
یک عدد تاچ سوییچ نیز به صورت پولآپ به پین شماره ۳ متصل شده است.از این کلید برای پاسخگویی به تماس دریافتی استفاده میشود.
یک عدد بازر به پین شماره ۴ متصل شده است که در هنگامی تماسی دریافت شود ، این بازر به صدا در میآید.
کدهای پروژه
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
[…] زیر قرار دادم آموزش تماس http://digispark.ir/make-call-shiled-sim900a-ardino/ آموزش اس ام اس آموزش ارسال و دریافت sms با استفاده از […]
سلام
لطفا میشه آموزش sim800 را هم بزارید؟
لطفا کمکم کنید، آخه خیلی نیاز دارم
با تشکر
سلام زیاد تفاوتی ندارن
هفته ی آینده قرار میدم
سلام. ممنون
لطفا اگر میشه آموزش ارسال و دریافت پیام و همچنین تماس صوتی ماژول sim800 رو بذارید و بگید چطور میشه از طریق ارسال پیام، وسیل رو کنترل کرد.
با سلام.
لطفا آموزش کامل sim800c را هم بزارید. خیلی بهش نیاز دارم. با تشکر
سلام
لطفا آموزش ارسال و دریافت پیام توسط ماژول SIM5216E رو هم قرار دهید.
سلام سعی میکنیم ماژولش را تهیه کنیم
با سلام.
لطفا آموزش کامل sim800c را هم بزارید. خیلی بهش نیاز دارم. با تشکر
سلام
پس آموزش sim800c چی شد؟
لطفا آموزش رو زود تر بذارید، آخه خیلی بهش نیاز دارم.
با سلام
بالاخره شیلد Sim800 راه اندازی شد
و به زودی آموزش آن در سایت قرار میگیره
پیگیر مطالب باشید
با سلام
متشکرم بابت وقتی که میذارید و پاسخ سوالا رو میدید.
اگر سریعتر آموزش sim800c رو بذارید، ممنون میشم، آخه برای پروژه ام خیلی بهش نیاز دارم و لنگشم. باتشکر
سلام
قسمت اول آموزش قرار داده شد
درود بر شما دوست عزیز
سپاس از اینکه خیلی زود وبا حوصله جواب سئوالها رو میدید.
من ماژول (sim900A) دارم اما شیلد نیست دوطرف آنهم ۱۴تا پین هدر داره ولی روش نصب اونرو روی آردوینو نمیدونم خواستم شکل اونرو براتون بفرستم که ممکن نیست تو سایت آپلود کنم خواهشمندم درصورت امکان آموزش لازم رو قرار بدید .
با آرزوی شادی و شاد کامی شما.
درود
راه اندازی ماژول شما کار پیچیده ای نداره
فقط کافیست پین های rx و tx را به آردوینو متصل کنید و توابعی که در این پست آموزش داده شده استفاده کنید
salam
ye poroje dashtam kontorole vasayele khanegi ba sim900 az tarighe tamas telefoni
chetoriyas … mitoni anjamesh bedi (faghat
برای انجام پروژه با دانشجوکیت تماس بگیرین
با سلام
بنده از gsm sim900a استفاده میکنم ، شیلد نیست ،
پین ۷ را به tx و ۸ را به rx متصل کردم،
عینا کد که در همین پست هست را ریختم و بدون ارور ریخته شده،ولی هیچ کاری انجام نمیدهد،gsm انتن دارد چون زنگ میخورد و اما با توجه به بررسی که انجام دادم در اجرا به شرط (gsm.begin(9600)که میرسد میماند و نوشته ready or idle نمیاد در سریال
راه حل چیست؟
ایا این کد پروژه که گذاشتید کامل هست؟
ببخشید که طولانی شد ، متشکر از پاسخ گویی سریعتون
سلام
بله تمام کد ها کامل هستن و همینتطور هم که مشاهده میکنید به درستی جواب دادن. بادریت را چک کنید و همچنین سریال مانیتور نرم افزاری را بر روی newline قرار دهید
با سلام و تشکر فراوان اگر امکانش باشه اموزش ماژول SIM808 رو که دارای gps هستش رو هم فراهم کنین
سلام
مدتی است برای راه اندازی ماژول sim800l با آردوینو due دچار مشکل شده ام و هیچ کتابخانه و حتی کدی برای سینک کردن این دو وجود ندارد ، لطفا در صورت امکان روش و آموزش راه اندازی این ماژول با آردوینو due را قرار دهید.
با سپاس فراوان
سلام خسته نباشید می خواستم بدونم که ایا میشه با استفاده از یکی از شیلد های GSM با یک پیامک خاصی که برا ی سیم کارتی که روی GSM نصب هستش یک لامپ رو خاموش و یا روشن کرد با کیت اردینو مگا۲۵۶۰؟
ممنون
با سلام دوستان عزیز . من یک سوالی داشتم که ذهنم رو درگیر کرده و از دوستان اهل فن درخواست پاسخ دارم و آن اینکه آیا با در دست داشتن فقط و فقط سریال نامبر دستگاه گیرنده اس ام اس اعم از تلفن همراه ساعت هوشمند انگشتر هوشمند و .. میتوان از فوروارد دوباره همان اس ام اس از دستگاه دریافت کننده باخبر شد یا خیر . شدیدا نیاز به یاری و کمک اساتید اهل فن هستم ممنون
با سلام
همانطور که در پست دیگر پاسخ این سوال داده شد؛ با توجه به قوانین حریم خصوصی چنین موضوعی امکان پذیر نمیباشد.
با سلام و تشکر فراوان
من یه شیلد sim ۹۰۰ دارم و این کارها و کد هایی که دادیت رو امتحان کردم جواب گرفتم
ولی من میخوام با ارسال یک پیام به شیلد( مثال on )یک رله رو روشن یا با ارسال( off)یک رله رو خاموش کنم
چطور باید این کار رو انجام بدم با استفاده از چه دستوراتی میتونم این کارو انجام بدم
اگه امکانش هست کمکم کنید من مبتدی هستم
این پروژه رو واسه دانشگاه احتیاج دارم و کد هایی زیادی رو تست کردم ولی نتیجه نگرفتم
با سلام
ضمن تشکر از توجه شما، برای این منظور از کدهای زیر استفاده کنید:
void ProcessSms( String sms ){
if( sms.indexOf(“on”) >= 0 ){
digitalWrite( relay, HIGH );
}
if( sms.indexOf(“off”) >= 0 ){
digitalWrite( relay, LOW );
}
Arduino: 1.6.12 (Windows 8.1), Board: “Arduino/Genuino Uno”
GSM_GPRSLibrary_SMS:68: error: stray ‘\223’ in program
if( sms.indexOf(“on”) >= 0 ){
^
GSM_GPRSLibrary_SMS:68: error: stray ‘\224’ in program
GSM_GPRSLibrary_SMS:72: error: stray ‘\223’ in program
if( sms.indexOf(“off”) >= 0 ){
^
GSM_GPRSLibrary_SMS:72: error: stray ‘\224’ in program
C:\Users\Mehrdad1\AppData\Local\Temp\arduino_modified_sketch_259388\GSM_GPRSLibrary_SMS.ino: In function ‘void setup()’:
C:\Users\Mehrdad1\AppData\Local\Temp\arduino_modified_sketch_259388\GSM_GPRSLibrary_SMS.ino:53:50: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
if (sms.SendSMS(“09389817833”, “Arduino SMS”))
^
C:\Users\Mehrdad1\AppData\Local\Temp\arduino_modified_sketch_259388\GSM_GPRSLibrary_SMS.ino:53:50: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
C:\Users\Mehrdad1\AppData\Local\Temp\arduino_modified_sketch_259388\GSM_GPRSLibrary_SMS.ino: In function ‘void loop()’:
GSM_GPRSLibrary_SMS:66: error: a function-definition is not allowed here before ‘{‘ token
{void ProcessSms( String sms ){
^
GSM_GPRSLibrary_SMS:100: error: expected ‘}’ at end of input
};
^
exit status 1
stray ‘\223’ in program
This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
با عرض سلام و خسته نباشید وتشکر ویژه از شما بابت پاسخ گویی به سوالات .
کد قبلی رو که دادیت این خطا رو میده
این کد رو کجای برنامه باید بزارم ؟
ومشکلش چیه ؟
لطفا راهنمایی کنید
با سلام
خواهش میکنم. کد ارسال شده فقط یک راهنمایی برای دستیابی به هدف مدنظر شما بود و بایستی با علم برنامه نویسی کدها را تغییر و اضافه کنید.
سلام، به غیر از پایه tx و rx و هم گراند کردن به پایه دیگه ای هم برای اتصال شیلد به برد آردوینو نیازه ؟!؟!؟
شیلد هم روی برد نمیشینه با سیم میخوام برای اتصال استفاده کنم.
با سلام
اگر شیلد شما روی برد قرار نمیگیرد، احتمالا مربوط به برد دیگری است. برای سیم کشی حتما Pinout شیلد و ماژول را باهم تطابق دهید.
ببخشید اگه اطلاعاتی راجع به ارسال دیتا با SIM900یا همون برنامه ی WEB SERVER دارین ممنون میشم راهنمایی کنید
با سلام
آموزشی در این خصوص منتشر نکردهایم. منتظر باشید، با اسپارکرها هماهنگ خواهم کرد.
سلام ممنون میشم اگه اطلاعاتی راجع به ارسال دیتا یا همون برنامه WEB SERVER دارین راهنماییم کنین .من APN را وارد میکنم اما وصل نمیشم
سلام مجدد
در حال پیگیری هستم. اگر مقدور باشد، آموزشی منتشر خواهیم کرد.
سلام چند تا سوال دارم ممنون میشم راهنماییم کنید
یه عدد تاچ سوییچ به پین شماره ۲ آردوینو به صورت پول آپ متصل شده است
تاچ سوییچ چی هست؟! پول آپ یعنی چی؟
ماژول GSM Sim900
من این ماژول دارم آیا باید لحیم کنم طبق گفته شما؟
با سلام و تشکر از شما
همانظور که در متن آموزش توضیح داده شده است، میکروسوئیچ را بین پایه ۲ آردوینو و پایه ۵ ولت متصل میکنید.
اگر از شیلد Sim900 استفاده میکنید، میتوانید از پینهدرهای روی آن اتصالات را برقرار کنید.
سلام چجوری با این شیلد میتونم موقعیت مکانی ارسال کنم
با سلام
این شیلد از پشتیبانی مکانی یا همان GPS پشتیبانی نمیکند. برای این منظور بایستی از ماژول جی پی اس استفاده کنید.
ممنون بابت پاسخ یعنی کار این شیلد فقط ارسال دریافت اس ام اس و تماس هست؟
با سلام
بله همینطور است. تماس هم فقط برای موارد مشخص و تعریف شده قابل اجراست. به صورت تلفن معمولی نمیتوانید تماس دائمی داشته باشید.
با سلام من ماژول جی پی اس تهیه کردم هر چی گشتم ارسال موقعیت مکانی با این نتونستم پیدا کنم کد جدا تونستم پیدا کنم یعنی بدست آوردن موقعیت مکانی ولی ارسالش مشکل دارم هر چند با آموزش شما امکان ارسال و دریافت پیام میتونم میشه راهنمایی کنید این دو رو با هم انجام بدم
با سلام
برای این منظور بایستی کد نویسی انجام شود. از بخش نظرات امکان رسیدگی ندارد. در صورت تمایل میتوانید درخواستتان را از طریق پرتال پشتیبانی دانشجو کیت پیگیری کنید.
سلام میخواستم بدونم جریان مصرفی این برد در حالت عادی چقدر است؟
چون یه جا دیدم نوشته ۲ آمپر یعنی یه باتری ۴۰۰۰ میلی آمپلی را ظرف دو ساعت تخلیه میکند؟
با سلام
بستگی دارد چه فرآیندی را توسط این ماژول انجام بدهید. اگر دائما در حال پردازش و ارسال و دریافت باشد، طبیعتا جریان زیادی مصرف میکند. ولی براساس نوع پروژه بایستی این موارد دقیقا مشخص و حتی محدود شده باشند.
سلام.
خیلی ممنون از آموزش خوبتان.اگر امکانش هست، آموزش تبادل اطلاعات با اینترنت را هم بگذارید.
با سلام و تشکر از شما
آموزش درخواستی شما منتشر شده است. لینکهای زیر را بررسی کنید.
راه اندازی و کار با ماژول SIM800L بخش پنجم: اینترنت GPRS سیم کارت
راه اندازی و کار با ماژول SIM800L بخش ششم: آپلود و دانلود فایل در اینترنت