ساخت موبایل ساده با برد آردوینو و ماژول GSM Sim900

محتویات
سلام. ساخت موبایل ساده با برد آردوینو و ماژول GSM Sim900 را آماده کردیم.
برقراری تماس و ارسال SMS با آردوینو و سیم 900
بعضی از افراد استفاده از ماژول GSM برای تماس و پیامک را سخت و دشوار میدانند. در حالیکه این کار بسیار ساده است. در این پروژه آردوینو ما میخواهیم با استفاده از ماژول sim900 یک تلفن همراه ساده بسازیم که میتوانیم تماس بگیریم و دریافت کنیم همچنین اس ام اس بدهیم و بگیریم. این پروژه Arduino دارای میکروفن و بلندگو است.
در این پروژه تلفن همراه آردوینو، ما از Arduino Uno برای کنترل ویژگی های کل سیستم استفاده کرده ایم. از یک صفحه کلید 4×4 برای گرفتن ورودی های مختلف مثل ارسال و دریافت پیام و تماس و تایپ متن پیام استفاده میشود. ماژول سیم 900 برای برقراری ارتباط با شبکه استفاده میشود. همچنین از بلندگو و میکروفن برای صدای مکالمه و زنگ استفاده کرده ایم. از ال سی دی کاراکتری نیز برای نمایش پیام ها و … استفاده میشود.
فیلم زیر به شما در درک نحوه کار این پروژه کمک شایانی میکند.
پیشنهاد میکنم پروژه خانه هوشمند با SMS و آردوینو را نیز مشاهده کنید.
دستورالعمل ها و هشدارها استفاده می شود. Alphanumeric روشی است برای وارد کردن اعداد و حروف هر دو با استفاده از یک صفحه کلید استفاده میشود.
فیلم عملکرد پروژه در انتهای صفحه قرار داده شده است.
امکانات تلفن همراه مبتنی بر Arduino
1. برقراری تماس: برای برقراری تماس با استفاده از تلفن مبتنی بر Arduino ، باید “C” را فشار داده و سپس باید شماره موبایل را که می خواهیم با آن تماس برقرار کنیم، وارد کنیم. با استفاده از صفحه کلید شماره وارد می شود. پس از وارد کردن شماره ، مجدداً باید “C” را فشار دهیم. اکنون آردوینو برای برقراری تماس با شماره وارد شده خودش دستور زیر را اجرا میکند.
ATDxxxxxxxxxx; <Enter> xxxx شماره مورد نظر شما است
2. دریافت تماس: دریافت تماس بسیار آسان است. وقتی شخصی به شماره سیم کارت شما، که در ماژول GSM قرار داده شده است، تماس می گیرد، سیستم شما پیام “Incoming…” را روی ال سی دی کاراکتری به همراه شماره فرد نشان می دهد. برای جواب دادن به این تماس، فقط باید “A” را فشار دهیم. هنگامی که “A” را فشار می دهیم ، Arduino دستور زیر را به ماژول GSM ارسال می کند:
ATA <enter>
3. ارسال پیامک: وقتی می خواهیم با استفاده از تلفن آردوینو پیامکی بفرستیم، باید “B” را فشار دهیم. سیستم شماره گیرنده را درخواست می کند، یعنی “به چه کسی” می خواهیم اس ام اس ارسال کنیم. بعد از وارد کردن شماره ، باید “D” را فشار دهیم و اکنون ال سی دی از شما متن پیام را می خواهد. حال باید با استفاده از صفحه کلید، پیام را تایپ کنیم، و بعد از وارد کردن پیام باید دوباره “D” را فشار دهیم تا پیام کوتاه ارسال شود. سپس رزبری پای خودش این دستور را پردازش میکند و به ماژول سیم 900 میفرستد.
AT+CMGF=1 <enter> AT+CMGS=”xxxxxxxxxx” <enter> xxxx شماره مورد نظر شماست
4. دریافت و خواندن پیام کوتاه: این ویژگی نیز ساده است. ماژول Sim 900 پیامکی را دریافت کرده و آن را در سیم کارت ذخیره می کند. و Arduino بطور مداوم وضعیت پیامک های دریافتی را از طریق UART نظارت می کند. ما فقط باید “D” را فشار دهیم تا اس ام اس را بخوانیم.
+CMTI: “SM” <SMS stored location> +CMTI: “SM”,6 شش مکانی است که پیامک در سیم کارت قرار گرفته است
هنگامی که آردوینو این نشانه را دریافت کند، آنگاه به محل ذخیره پیامک میرود و آن را استخراج میکند و متن آن را در ال سی دی نمایش میدهد.
AT+CMGR=<SMS stored location><enter> AT+CMGR=6
مدار پروژه موبایل با آردوینو
شماتیک مدار این پروژه ساده است. پین های ال سی دی را مانند تصویر به آردوینو متصل کنید. پین های Rx و Tx ماژول GSM به ترتیب مستقیما به پین D3 و D2 آردوینو وصل کنید. پین های ردیف های صفحه کلید یعنی R1, R2, R3, R4 مستقیماً به پین های شماره 11،10 ، 9 ، 8 از Arduino متصل میشوند. میکروفن به طور مستقیم به پین ها mic+ و mic- ماژول سیم 900 متصل میشود. اسپیکر نیز به پین SP+ و SP- ماژول SIM900 متصل میشود.
قطعات مورد نیاز
- برد آردوینو Uno
- ماژول GSM SIM900
- ال سی دی کاراکتری 16*2
- صفحه کلید 4×4
- بلندگو
- میکروفن
برنامه نویسی ارسال و دریافت SMS با آردوینو
بخشی از برنامه نویسی این پروژه برای مبتدیان کمی پیچیده است. کد کامل پروژه در فایل دانلودی انتهای صفحه قرار داده شده است. در اینجا برخی از قسمت های کد Arduino را توضیح میدهیم.
برای ارتباط صحیح صفحه کلید با آردوینو برای وارد کردن شماره ها و پیام ها، باید کتابخانه آن را فراخوانی کنیم. همچنین همانطور که گفته شد ما از یک صفحه کلید برای وارد کردن اعداد و حروف استفاده میکنیم. بنابراین برای وارد کردن حروف الفبای انگلیسی ما تابع void alfakey () را ایجاد میکنیم. سپس میتوانیم با استفاده از 10 کلید هر کاراکتر یا عددی را وارد کنیم.
اگر کلید 2 را دو بار فشار دهیم اول a و سپس b را نمایش میدهد. و اگر دیگر دکمه را فشار ندهیم همان b ثبت میشود و اگر بار دیگر فشار دهیم c نمایش داده میشود. (مانند گوشی های دکمه ای قدیمی که با کیبورد عددی، حروف نیز تایپ میشد)
#include <Keypad.h> const byte ROWS = 4; //four rows const byte COLS = 4; //four columns char hexaKeys[ROWS][COLS] = { {'1','2','3','A'}, {'4','5','6','B'}, {'7','8','9','C'}, {'*','0','#','D'} }; byte rowPins[ROWS] = {11, 10, 9, 8}; //connect to the row pinouts of the keypad byte colPins[COLS] = {7, 6, 5, 4}; //connect to the column pinouts of the keypad //initialize an instance of class NewKeypad Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
void alfakey() { int x=0,y=0; int num=0; while(1) { lcd.cursor(); char key=customKeypad.getKey(); if(key) { if(key=='1') { num=0; lcd.setCursor(x,y); .... ..... ........ ....
به غیر از صفحه کلید، ما بسیاری از توابع دیگر مانند call void () برای ویژگی تلفن ، sms void () برای ویژگی پیام رسانی ، void lcd_status () برای نمایش وضعیت روی LCD و gsm_init () برای اولیه سازی ماژول GSM و غیره ایجاد کرده ایم.
با بارگذاری کد و انجام اتصالات مدار، ما به راحتی یک تلفن ساده را راه اندازی میکنیم. به راحتی میتوانیم با هرجا تماس بگیریم، از هر جا با ما تماس بگیرند و هر پیامی را ارسال و دریافت کنیم.
برای دانلود فایل ها باید حساب کاربری داشته باشید ثبت نام / ورود
سلام موقع آپلود سورس کد به آردینو ، ارور زیر میاد میشه راهنمایی کنید مشکل چیه؟ Arduino: 1.8.19 (Windows 10), Board: “Arduino Uno”
mobile:31:10: fatal error: Keypad.h: No such file or directory
#include
compilation terminated.
exit status 1
Keypad.h: No such file or directory
This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
سلام عزیز
کتابخانه keypad را نصب کنید
سلام
آیا میشه همین پروژه رو با ماژول SIM800L بست؟
سلام دوباره
سوال بعدی من اینه گه اگر سیم کارت شارژ برا برقراری تماس نداشته باشه باید چکار کنه ؟ آیا میشه این رو هم به برنامه نویسی اضافه کنیم که بتونیم با همین پروژه شارژ هم خریداری کرد؟
سلام جناب آیا میشه از LCD گرافیکی یا نظیر این LCD ها هم استفاده کرد
چون یک مقدار این LCD کاراکتری زیبایی پروژه رو از بین میبره و اگه بشه یک مدل LCD با شکل و شمایل بهتر و بزرگتر استفاده کرد بهتر میشه
سلام عزیز
بله میشه استفاده کرد در کد باید تفاوت زیادی ایجاد کنید
سلام اگه قصد ساخت برد اندروید رو داشته باشیم که هم ماژول جی پی اس و هم سیم کارت خور باشه که بتونیم برنامه ای که الان با گوشی کار میکنیم روی این برد نصب بشه چکار باید کرد برنامه ما در مورد رانندگان تاکسی تلفنی که هم از تاکسیمتر برنامه دارند استفاده میکنند وهم اینترنتی سرویس میگیرند چون گوشی داغ میکنه و زود باطری تموم میکنه در این مورد راهکار چیه لطفا راهنمایی بفرمایید باتشکر
سلام من مدار رو مونتاژ کردم تماسش کار میکنه ولی ارسال پیام رو انجام نمیده
سلام عزیز
برای یادگیری ارسال پیامک و برقراری تماس با آردوینو و sim800l میتونید دوره آردوینو را مشاهده کنید.
به جای ماژول GSM SIM900 میشه از چیز کم قیمت تری استفاده کرد؟
سلام وقت بخیر
بله میشه استفاده کرد نیاز به تغییر جزئی در کد هست
میشه معرفی کنین
از sim800l evb استفاده کنید
سلام لطفا یک دوره اموزش برای sim800 بزارید. چون خیلی بیشتر از sim900 کاربرد داره و sim900 هم دیگه تولید نمیشه و کمیاب هست. بعد sim800l هم خیلی کاربردیه و ارزونه.
سلام عزیز
آموزش مورد نظرتون در سایت قرار گرفته: راه اندازی Sim800L با آردوینو (تماس و پیامک SMS)
سلام جناب ببخشید دکمه اینتر کجاست؟؟؟
واقعا ممنون که رایگان گذاشتید
دکمه اینتر روی کیبورد هست
خواهش میکنم عزیز
سلام.واقعا دستتون دردنکنه که اینو رایگان گذاشتین .خیلی ممنون نمی دونین من چقدر خوشحال شدم.
سلام جناب. خوشحالم که براتون مفید بوده.
سلام و عرض ادب.
جناب مهندس رحیمی عزیز .ارزش محبت و لطف شما بسیار پسندیده وقابل ستایش هست.
خدا قوت
گلستان
سلام جناب، بسیار ممنونم از لطف شما
سلام
میشه از اردینو attiny85 استفاده کرد ؟
در صورتی ک فقط از ماژول gsm استفاده کنیم
مث یه کار اتومات با یه پیامک ارسالی
لطفا راهنمایی کنید
می شود عکس دقیق ماژولی را که خودتان استفاده کرده اید بفرستید
ممنون
سلام جناب. عکس ماژول استفاده شده در تصاویر مطلب موجود هست و نام دقیق آن sim900 هست.
سلام این ماژول سیم ۹۰۰ را باید از کجا بخریم؟؟؟؟
سلام جناب. انواع فروشگاه های اینترنتی قطعات الکترونیکی این ماژول رو موجود دارند.
می شود نام یک فروشګاه بدهید
نمیتونیم نام فروشگاه قطعات الکترونیکی بدیم.
این ماژول مشابه نداره؟ اگر داره نامش را دقیق بگویید و عکسش را بفرستید.
سلام جناب. ماژول های دیگه sim800 هم قابل استفاده هستند اما نیاز به تغییرات در کد و شماتیک دارند.
سلام این پروژه را می توان با ماژول sim 800l درست کرد ؟؟؟؟؟؟؟؟
سلام جناب. با ماژول مورد نظر شما تست نشده.
کار کرده ؟
جناب عرض کردم با ماژول مورد نظر شما تست نشده.
اره میشه هیچ تغییری نیاز نیست فقط باید راجبش تحقیق کتید
سلام فایل باز نشد
سلام عزیز. با نرم افزار winrar باز کنید.
بلدم زیپ باز کنم فایل ایراد داشت
تست کردم جناب، فایل سالمه چه ارورری دریافت میکنید ؟
NO ARCHIVE FOUND
جناب من چک کردم مشکلی نداشته شما یک بار دیگه فایل رو دانلود کنید و حتما با نرم افزار winrar باز کنید.
نمی شه به ایمیل من ارسال کنید اونی که تست کردی
بله الان به ایمیلتون ارسال کردم
سلام
نرم افزار winrar رو به آخرین ورژن آپدیت کنید.
و یا اینکه نرم افزار 7zip رو نصب کنید.
مشکلتون حل می شه با این دو مورد.
خیلی ممنون از شما
سلام خسته نباشید
ببخشید پیامک که با سیم ۸۰۰ ارسال میکنیم خالی دریافت میشه یا عبارت
Not conntent supported
دریافت میشه
به نظرتون مشکل چیه؟
سلام. از همین پروژه سایت ما استفاده کردید ؟
سلام وقت بخیر… من یک برنامه با سیم800 و اردوینو راه اندازی کردم…میخام سیم800 متن پیامک رو بگیره و داخل یک متغیر اردوینو بریزه… و یک پیام تایید هم بفرسته.لطفا راهنمایی کنید
سلام این مبحث طولانیه نمیتونم توی نظرات بگم شما “متغیر در آردوینو” رو در گوگل سرچ کنید.
باسلام.یک سوال در مورد sim800l داشتم. من یک سیم800 با اردوینو راه اندازی کردم و هر3ثانیه یکبار چشمک میزنه و پیامک هم دریافت میکنه اما ارسال پیامک انجام نمیده و دستورات AT هم در ابتدا اجرا میشدن و جواب میگرفتم اما دفعات بعدی اجرا نشدن
لطفا راهنماییم کنید با تشکر
سلام جناب. لطف کنید با یک پروژه دیگه که مربوط به sim800l هست تست کنید تا متوجه شید مشکل از برنامست یا ماژول