SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
«‫الرحیم‬ ‫الرحمن‬ ‫اهلل‬ ‫بسم‬»
‫دیجیتال‬ ‫درس‬ ‫به‬ ‫مربوط‬ ‫پروژه‬ ‫گزارش‬2
‫کنترولر‬ ‫(میکرو‬AVR)
: ‫پروژه‬ ‫عنوان‬
‫کنترلر‬ ‫میکرو‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫مداری‬ ‫طراحی‬ATMEGA32‫که‬‫دما‬ ‫مانند‬ ‫محیطی‬ ‫کمیت‬ ‫یک‬
‫روی‬ ‫بر‬ ‫نمایش‬ ‫از‬ ‫پس‬ ‫و‬ ‫گرفته‬ ‫را‬LCD‫در‬ ‫ساعت‬ ‫و‬ ‫تاریخ‬ ‫با‬ ‫همراه‬ ‫را‬ ‫دمایی‬ ‫اطالعات‬ ‫این‬ ،
‫یک‬MMC CARD‫مکانی‬ ‫موقعیت‬ ‫و‬ ‫دما‬ ‫شامل‬ ‫که‬ ‫را‬ ‫اطالعات‬ ‫این‬ ‫همچنین‬ ‫و‬ ‫کرده‬ ‫ذخیره‬
‫صورت‬ ‫به‬ ‫را‬ ‫است‬SMS.‫کند‬ ‫ارسال‬
‫دانیالی‬ ‫دکتر‬ : ‫مربوطه‬ ‫استاد‬
: ‫دانشجویان‬
‫کیهانی‬ ‫پوریا‬-129232129
‫صیادی‬ ‫سعید‬-129232129
‫ایالم‬ ‫دانشگاه‬
‫ماه‬ ‫خرداد‬79
‫را‬ ‫پروژه‬ ‫این‬ ‫در‬ ‫رفته‬ ‫کار‬ ‫به‬ ‫قطعات‬ ‫ابتدا‬ ‫در‬. ‫دهیم‬ ‫می‬ ‫شرح‬ ‫مختصر‬ ‫صورت‬ ‫به‬‫قطعات‬‫مهم‬: ‫از‬ ‫اند‬ ‫عبارت‬
‫کنترلر‬ ‫میکرو‬ATMEGA32،LCD 16*2‫انداز‬ ‫راه‬ ‫ماژول‬ ،MMC CARD‫کارت‬ ‫یه‬ ‫و‬1GB‫انداز‬ ‫راه‬ ‫ماژول‬ ،
SIM808L.
‫کنترلر‬ ‫میکرو‬ATMEGA32:
‫معرفی‬lcd‫کارکتری‬16*2:
‫این‬lcd‫دارای‬91‫شماره‬ ‫ی‬ ‫پایه‬ ‫و‬ ‫میباشد‬ ‫پایه‬۱(Vss‫گراند‬ ‫پایه‬ )lcd.‫شود‬ ‫وصل‬ ‫مدار‬ ‫زمین‬ ‫به‬ ‫باید‬ ‫و‬ ‫میباشد‬
‫پایه‬Vdd‫به‬ ‫باید‬ ‫که‬Vcc،5‫شماره‬ ‫میشود.پایه‬ ‫وصل‬ ‫ولت‬5‫وضعیت‬ ‫دو‬ ‫دارای‬ ‫پایه‬ ‫این‬Rw=1‫از‬ ‫خواندن‬ ‫برای‬lcd‫و‬
Rw=0‫در‬ ‫نوشت‬ ‫برای‬lcd‫روی‬ ‫اطالعات‬ ‫میخواهیم‬ ‫ما‬ ‫چون‬ ،lcd‫در‬ ‫دهیم(نوشتن‬ ‫نمایش‬lcd)‫به‬ ‫را‬ ‫پایه‬ ‫این‬ ‫پس‬
.‫کنیم‬ ‫می‬ ‫وصل‬ ‫زمین‬
‫پایه‬2(Rs‫کردن‬ ‫آماده‬ )lcd‫یک‬ ‫به‬ ‫که‬ ‫باشد‬ ‫می‬ ‫اطالعات‬ ‫دریافت‬ ‫برای‬‫از‬ ‫ی‬pin.‫شود‬ ‫می‬ ‫وصل‬ ‫میکرو‬ ‫های‬
‫پایه‬1(e.‫میکرو‬ ‫به‬ ‫متصل‬ )
‫های‬ ‫پایه‬99-92-93-92(d4-d5-d6-d7‫ا‬ ‫برای‬ )‫به‬ ‫میکرو‬ ‫از‬ ‫دیتا‬ ‫رسال‬lcd.
‫سنسور‬ ‫معرفی‬: ‫دما‬
‫سنسورهای‬ ‫از‬ ‫ما‬lm35dz.‫کنیم‬ ‫می‬ ‫استفاده‬‫پایه‬ ‫باشد.که‬ ‫می‬ ‫پایه‬ ‫سه‬ ‫دارای‬ ‫سنسور‬ ‫این‬9‫منبع‬ ‫،به‬Vcc‫پایه‬ ‫و‬
‫شماره‬3‫شماره‬ ‫پایه‬ ‫و‬ ‫زمین‬ ‫به‬2‫قسمت‬ ‫از‬ ‫باید‬ ‫میکرو‬ ‫به‬ ‫سنسورها‬ ‫اتصال‬ ‫باشد.برای‬ ‫می‬ ‫سنسور‬ ‫خروجی‬adc‫(مبدل‬
‫در‬ ‫که‬ ‫باشند‬ ‫می‬ ‫میکرو‬ ‫از‬ ‫مشخصی‬ ‫پورت‬ ‫به‬ )‫دیجیتال‬ ‫به‬ ‫آنالوگ‬atmega32‫پورت‬ ‫مربوطه‬a.‫باشد‬ ‫می‬
(‫دیجیتال‬ ‫به‬ ‫آنالوگ‬ ‫مبدل‬adc: )
‫به‬ ‫ای‬ ‫وسیله‬ ‫از‬ ‫کار‬ ‫این‬ ‫برای‬ ‫شود‬ ‫گیری‬ ‫اندازه‬ ‫محیط‬ ‫از‬ )... ‫و‬ ‫(مانند:دما،سرعت‬ ‫بیرونی‬ ‫کمیت‬ ‫یک‬ ‫است‬ ‫نیاز‬ ‫گاهی‬
‫میش‬ ‫استفاده‬ ‫سنسور‬ ‫نام‬‫ولتا‬ ‫به‬ ‫را‬ ‫آنالوگ‬ ‫کمیت‬ ‫یه‬ ‫مقدار‬ ‫ود.سنسورها‬‫ولتاژ‬ ‫این‬ ‫کند.سپس‬ ‫می‬ ‫تبدیل‬ ‫جریان‬ ‫یا‬ ‫ژ‬
‫واحد‬ ‫به‬ ‫آنالوگ‬adc‫کند،سپس‬ ‫می‬ ‫تبدیل‬ ‫متناظر‬ ‫دیجیتال‬ ‫کمیت‬ ‫به‬ ‫را‬ ‫ولتاژ‬ ‫مقدار‬ ‫واحد‬ ‫این‬ ‫و‬ ‫میشود‬ ‫داده‬ ‫میکرو‬
.‫میشود‬ ‫تبدیل‬ ‫بیرونی‬ ‫کمیت‬ ‫آن‬ ‫با‬ ‫متناظر‬ ‫عددی‬ ‫مقدار‬ ‫به‬ ‫ریاضی‬ ‫اعمال‬ ‫با‬ ‫دیجیتال‬ ‫مقدار‬ ‫این‬
‫واحد‬adc‫میشود‬ ‫اندازی‬ ‫راه‬ ‫زیر‬ ‫دستور‬ ‫با‬ ‫بسکام‬ ‫افزار‬ ‫نرم‬ ‫در‬:
Config adc = single/free , prescaler=auto , refrence=AVcc
‫گزینه‬single‫دستور‬ ‫توسط‬ ‫آنالوگ‬ ‫سیگنال‬ ‫دیجیتال‬ ‫مقدار‬ ‫که‬ ‫میباشد‬ ‫حالتی‬ ‫برای‬getadc()‫جنس‬ ‫از‬ ‫متغیری‬ ‫در‬
word.‫میشود‬ ‫ریخته‬
Prescaler‫کالک‬ :adc‫مقادیر‬ ‫میکند،که‬ ‫مشخص‬ ‫را‬2-2-8-‫تا‬ ...928‫یا‬ ‫و‬auto‫آن‬ ‫بهترین‬ ‫خودکار‬ ‫صورت‬ ‫به‬ ‫که‬
.‫کند‬ ‫می‬ ‫انتخاب‬ ‫را‬
Refrencr‫های‬ ‫حالت‬ ‫برای‬ ‫میتواند‬ ‫گزینه‬ ‫این‬ :opt‫و‬AVcc‫و‬internal‫ی‬ ‫گزینه‬ ‫از‬ ‫ما‬ ‫که‬ ‫میشود‬ ‫تنظیم‬AVcc
‫ولتاژ‬ ‫یعنی‬refrence‫ی‬ ‫پایه‬ ‫به‬ ‫مربوط‬ ‫که‬ ‫خروجی‬32‫و‬32.‫کردیم‬ ‫استفاده‬ ‫باشد‬ ‫می‬ ‫میکرو‬
‫برای‬refrence‫خروج‬ ‫شده‬ ‫تعیین‬‫ی‬5‫به‬ ‫که‬ ‫گرفتیم‬ ‫اندازه‬ ‫را‬ ‫ولت‬Vcc‫ی‬ ‫پایه‬ ‫در‬ ‫آنالوگ‬ ‫شود،سیگنال‬ ‫می‬ ‫وصل‬
adc0‫ولتاژ‬ ‫از‬2‫تا‬5‫بین‬ ‫اعدادی‬ ‫به‬ ‫را‬ ‫ولت‬2‫تا‬9223،‫دیتاشیت‬ ‫به‬ ‫توجه‬ ‫با‬ ‫که‬ ‫دهد‬ ‫می‬ ‫اختصاص‬lm35‫رابطه‬ ‫یک‬ ‫از‬
.‫رسید‬ ‫بیرونی‬ ‫کمیت‬ ‫متناظر‬ ‫مقدار‬ ‫به‬ ‫توان‬ ‫می‬ ‫ساده‬ ‫تقسیم‬ ‫یک‬ ‫با‬ ‫و‬ .‫کند‬ ‫می‬ ‫تبعیت‬ ‫خطی‬ ‫ی‬
MMC CARD:
‫و‬ ‫میکرو‬ ‫بین‬ ‫ارتباط‬ ‫باید‬ ‫ابتدا‬ ‫کار‬ ‫این‬ ‫داریم.برای‬ ‫ماژول‬ ‫این‬ ‫به‬ ‫نیاز‬ ‫ما‬ ‫اطالعات‬ ‫ذخیره‬ ‫برای‬mmc.‫دهیم‬ ‫شرح‬ ‫را‬
Mmc‫میکنند‬ ‫پشتیبانی‬ ‫ارتباطی‬ ‫پروتکل‬ ‫دو‬ ‫از‬ ‫ها‬‫پروتکل‬ ‫.یکی‬mmc‫دیگری‬ ‫و‬spi‫ت‬ ‫باشد.با‬ ‫می‬‫اینکه‬ ‫به‬ ‫وجه‬avr
‫پروتکل‬ ‫از‬spi.‫کند‬ ‫می‬ ‫پشتیبانی‬‫پروتکل‬ ‫از‬ ‫نیز‬ ‫ما‬spi.‫میکنیم‬ ‫استفاده‬
‫پروتکل‬MMC‫اقدام‬ ‫دستورات‬ ‫ارسال‬ ‫با‬ ‫و‬ ‫داریم‬ ‫سروکار‬ ‫ها‬ ‫بایت‬ ‫تک‬ ‫تک‬ ‫با‬ ‫ما‬ ‫آن‬ ‫در‬ ‫که‬ ‫پایین‬ ‫سطح‬ ‫دسترسی‬ ‫یک‬ :
‫به‬‫در‬ ‫نوشتن‬ ‫یا‬ ‫خواندن‬mmc‫ک‬ ‫باشد‬ ‫می‬ ‫پیچیده‬ ‫بسیار‬ ‫روش‬ ‫کنیم.این‬ ‫می‬.‫کنیم‬ ‫می‬ ‫نظر‬ ‫صرف‬ ‫آن‬ ‫از‬ ‫ه‬
‫قوانین‬ ‫به‬ ‫توجه‬ ‫با‬ ‫ها‬ ‫فایل‬ ‫تمام‬ ‫ایم‬ ‫کرده‬ ‫استفاده‬ ‫آن‬ ‫از‬ ‫ما‬ ‫که‬ ‫باال‬ ‫سطح‬ ‫دسترسی‬ ‫در‬fat32‫دسترس‬ ‫قابل‬ ‫ما‬ ‫برای‬
‫دستورات‬ ‫از‬ ‫میتوانیم‬ ‫ما‬ ‫و‬ ‫بود‬ ‫خواهد‬dos‫و‬ ‫سازی‬ ‫ذخیره‬ ‫برای‬ ‫ما‬ ‫حالت‬ ‫این‬ ‫کنیم.در‬ ‫می‬ ‫استفاده‬‫بایت‬ ‫یک‬ ‫با‬ ‫بازیابی‬
‫معادل‬ ‫که‬ ‫سکتور‬ ‫یک‬ ‫انتقال‬ ‫هربار‬ ‫در‬ ‫بلکه‬ ‫نداریم‬ ‫سروکار‬592.‫میشود‬ ‫نوشته‬ ‫یا‬ ‫خوانده‬ ‫است‬ ‫بایت‬
‫ارتباطی‬ ‫های‬ ‫پین‬mmc:
‫با‬ ‫ارتباط‬ ‫برای‬mmc‫از‬ ‫پین‬ ‫چهار‬ ‫به‬avr‫برا‬ ‫پین‬ ‫داریم.یک‬ ‫نیاز‬(‫ارسال‬ ‫ی‬miso)( ‫دریافت‬ ‫برای‬ ‫پین‬ ‫یک‬ ،mosi)‫،یک‬
(‫کالک‬ ‫برای‬ ‫پین‬sck‫انتخاب‬ ‫برای‬ ‫آخر‬ ‫پین‬ ‫و‬ )mmc‫پروتکل‬ ‫در‬spi(ss).mmc‫تغذیه‬ ‫به‬ ‫نیاز‬3.3.‫دارد‬ ‫ولت‬‫یک‬ ‫از‬ ‫ما‬
‫ولتاژ‬ ‫رگالتور‬ld1585cv33‫کرد‬ ‫اسنفاده‬ ‫دیگر‬ ‫های‬ ‫مدل‬ ‫یا‬‫ایم‬ ‫ه‬.
‫تغذیه‬ ‫به‬ ‫توجه‬ ‫با‬mmc‫ی‬ ‫پایه‬ ‫توانیم‬ ‫نمی‬ ‫ما‬avr‫به‬ ‫مستقیما‬ ‫را‬mmc‫استفاده‬ ‫مقاومتی‬ ‫تقسیم‬ ‫از‬ ‫باید‬ ‫و‬ ‫کنیم‬ ‫وصل‬
‫کن‬‫زیر‬ ‫شکل‬ ‫یم.در‬pin‫های‬mmc‫خور‬ ‫رم‬ ‫و‬mmc.‫میکنیم‬ ‫مشاهده‬ ‫را‬
‫انداز‬ ‫راه‬ ‫ماژول‬ ‫توسط‬ ‫کارها‬ ‫این‬ ‫همه‬ ‫البته‬MMC.‫نیست‬ ‫رگوالتور‬ ‫و‬ ‫مقاومتی‬ ‫تقسیم‬ ‫به‬ ‫نیازی‬ ‫و‬ ‫است‬ ‫شده‬ ‫انجام‬
: ‫نکته‬mmc.‫کنیم‬ ‫استفاده‬ ‫میکرو‬ ‫با‬ ‫ارتباط‬ ‫برای‬ ‫طوالنی‬ ‫مسیر‬ ‫از‬ ‫نباید‬ ‫است.بنابراین‬ ‫حساس‬ ‫نویز‬ ‫به‬ ‫بسیار‬
‫کتابخانه‬avr-dos‫ها‬ ‫فایل‬ ‫نوشتن‬ ‫و‬ ‫خواندن‬ ‫برای‬ ‫دستوراتی‬ ‫دارای‬ ‫باشد‬ ‫می‬ ‫موجود‬ ‫نیز‬ ‫بسکام‬ ‫در‬ ‫که‬ ‫کتابخانه‬ ‫این‬ :
.‫باشد‬ ‫می‬
‫برنامه‬ ‫ابتدای‬ ‫در‬confing-avr-dos.bas‫و‬confing-mmc.bas‫فراخانی‬ ‫زیر‬ ‫دستوارات‬ ‫با‬ ‫برنامه‬ ‫داخل‬ ‫در‬ ‫که‬
‫میشوند‬.
$include”config-avr-dos.bas”
$includ”config-mmc.bas”
‫ارتباط‬ ‫تنظیم‬ ‫برای‬ ‫آنها‬ ‫نام‬ ‫به‬ ‫توجه‬ ‫با‬ ‫فایل‬ ‫دو‬ ‫این‬mmc‫اصلی‬ ‫برنامه‬ ‫کنار‬ ‫در‬ ‫در‬ ‫باید‬ ‫فایل‬ ‫دو‬ ‫این‬ .‫میباشد‬ ‫کتابخانه‬ ‫و‬
‫پوشه‬ ‫در‬ ‫و‬‫آن‬.‫کند‬ ‫پیدا‬ ‫را‬ ‫آنها‬ ‫بتواند‬ ‫کامپایلر‬ ‫تا‬ ‫شوند‬ ‫ذخیره‬
‫فایل‬ ‫در‬config-mmc.bas.‫کنیم‬ ‫می‬ ‫تنظیم‬ ‫دلخواه‬ ‫صورت‬ ‫به‬ ‫تنظیم‬ ‫چند‬
‫ثابت‬ ‫عدد‬cmmc-soft=0‫مد‬ ‫نوع‬ ‫دهنده‬ ‫نشان‬ ‫است‬ ‫صفر‬ ‫فرض‬ ‫پیش‬ ‫صورت‬ ‫به‬ ‫که‬spi‫تنظیم‬ ‫صفر‬ ‫روی‬ ‫اگر‬ ‫است‬
‫شود‬spi‫افزاری‬ ‫سخت‬ ‫مد‬ ‫در‬config‫روی‬ ‫خاصی‬ ‫های‬ ‫پایه‬ ‫از‬ ‫و‬ ‫شده‬avr‫باشد‬ ‫یک‬ ‫اگر‬ ‫و‬ ‫کرد‬ ‫استفاده‬ ‫باید‬spi‫مد‬ ‫در‬
‫می‬ ‫قرار‬ ‫افزاری‬ ‫نرم‬.‫میباشد‬ ‫دلخواه‬ ‫آن‬ ‫های‬ ‫پایه‬ ‫ترتیب‬ ‫و‬ ‫گیرد‬
‫استفاده‬ ‫مد‬ ‫همین‬ ‫از‬ ‫ما‬ ‫که‬ ‫میباشد‬ ‫بیشتر‬ ‫ها‬ ‫داده‬ ‫انتقال‬ ‫سرعت‬ ‫باشیم‬ ‫افزاری‬ ‫سخت‬ ‫مد‬ ‫روی‬ ‫اگر‬ ‫که‬ ‫است‬ ‫ذکر‬ ‫به‬ ‫الزم‬
.‫کنیم‬ ‫می‬
‫فایل‬config-avr-das.bas:
‫تنظ‬ ‫را‬ ‫خانه‬ ‫کتاب‬ ‫توانیم‬ ‫می‬ ‫آن‬ ‫تغیر‬ ‫با‬ ‫که‬ ‫دارد‬ ‫وجود‬ ‫ثابت‬ ‫چند‬ ‫نیز‬ ‫فایل‬ ‫این‬ ‫در‬‫ثابت‬ ‫اولین‬ .‫کنیم‬ ‫یم‬
cfilehanles=2‫دهد‬ ‫می‬ ‫نشان‬ ‫را‬ ‫فایلی‬ ‫تعداد‬ ‫ثابت‬ ‫این‬ ‫است‬ ‫شده‬ ‫تنظیم‬ ‫دو‬ ‫روی‬ ‫بر‬ ‫فرض‬ ‫پیش‬ ‫صورت‬ ‫به‬ ‫که‬ ‫است‬
‫روی‬ ‫نوشتن‬ ‫و‬ ‫خواندن‬ ،‫کردن‬ ‫باز‬ ‫قابل‬ ‫زمان‬ ‫هم‬ ‫طور‬ ‫به‬ ‫که‬mmc.‫است‬
‫به‬ ‫نیاز‬ ‫فایل‬ ‫هر‬592‫از‬ ‫بایت‬sram.‫دارد‬ ‫را‬
‫از‬ ‫ما‬ ‫چون‬ ‫بنابراین‬atmega32‫دارای‬ ‫که‬ ‫کنیم‬ ‫می‬ ‫استفاده‬sram‫روی‬ ‫را‬ ‫ثابت‬ ‫این‬ ‫باید‬ ‫باشد‬ ‫می‬ ‫بایت‬ ‫کیلو‬ ‫دو‬9
‫و‬ ‫کنیم‬ ‫تنظیم‬1kb.‫میدهیم‬ ‫اختصاص‬ ‫ها‬ ‫برنامه‬ ‫دیگر‬ ‫به‬ ‫را‬ ‫آن‬ ‫بقی‬ ‫ما‬
‫اتصال‬avr‫به‬mmc:‫افزاری‬ ‫سخت‬ ‫مد‬ ‫طبق‬spi‫های‬ ‫پایه‬ ‫از‬ ‫باید‬ss،slk،miso‫و‬mosi‫به‬ ‫اتصال‬ ‫برای‬mmc
.‫کنیم‬ ‫استفاده‬
‫ماژول‬GSM:
‫های‬ ‫ماژول‬ ‫از‬ ‫باید‬ ‫پیامک‬ ‫ارسال‬ ‫برای‬sim‫انواع‬ ‫که‬.‫کرد‬ ‫استفاده‬ ‫دارد‬ ‫مختلفی‬‫از‬ ‫برنامه‬ ‫این‬ ‫در‬ ‫ما‬sim808l‫استفاده‬
‫شبکه‬ ‫دارای‬ ‫که‬ ‫کردیم‬gsm/gprs/gps‫موقیت‬ ‫اخرین‬ ‫و‬ ‫دما‬ ‫شامل‬ ‫که‬ ‫پیامک‬ ‫ارسال‬ ‫برای‬ ‫ماژول‬ ‫این‬ .‫باشد‬ ‫می‬
‫صورت‬ ‫بدین‬ ‫شود‬ ‫می‬ ‫استفاده‬ ‫باشد‬ ‫می‬ ‫مکانی‬‫حرف‬ ‫اگر‬ ‫ما‬ ‫تعریف‬ ‫به‬ ‫توجه‬ ‫با‬ ‫که‬t‫اخرین‬ ‫میکرو‬ ‫شود‬ ‫ارسال‬ ‫ماژول‬ ‫به‬
‫حرف‬ ‫اگر‬ ‫و‬ ‫کند‬ ‫می‬ ‫ارسال‬ ‫شده‬ ‫تعیین‬ ‫پیش‬ ‫از‬ ‫که‬ ‫ای‬ ‫شماره‬ ‫به‬ ‫رو‬ ‫دمایی‬ ‫اطالعات‬L‫شود‬ ‫ارسال‬ ‫ماژول‬ ‫به‬‫میکرو‬
.‫کند‬ ‫می‬ ‫ارسال‬ ‫نظر‬ ‫مورد‬ ‫شماره‬ ‫به‬ ‫و‬ ‫گرفته‬ ‫رو‬ ‫مکانی‬ ‫موقیت‬ ‫اخرین‬
‫اتصال‬ ‫برای‬sim808l‫پایه‬ ‫دو‬ ‫از‬ ‫میکرو‬ ‫به‬TXD‫و‬RXD‫متناظر‬ ‫صورت‬ ‫به‬ ‫که‬ ‫باشند‬ ‫می‬ ‫سریالی‬ ‫پورت‬ ‫های‬ ‫پایه‬ ‫که‬
‫پایه‬ ‫که‬ ‫صورت‬ ‫بدین‬ ‫شوند‬ ‫می‬ ‫استفاده‬RXD‫پایه‬ ‫به‬ ‫ماژول‬TXD‫پایه‬ ‫و‬ ‫میکرو‬TXD‫پایه‬ ‫به‬ ‫ماژول‬RXD‫میکرو‬
‫اسم‬ ‫به‬ ‫دیگر‬ ‫پایه‬ ‫از‬ .‫شود‬ ‫می‬ ‫متصل‬RI‫اگر‬ ‫که‬ ‫منظور‬ ‫بدین‬ ‫کنیم‬ ‫می‬ ‫استفاده‬‫ماژول‬SMS‫صفر‬ ‫پایه‬ ‫این‬ ‫کند‬ ‫دریافت‬
‫برای‬ ‫منظور‬ ‫این‬ ‫از‬ ‫و‬ ‫شود‬ ‫می‬INTERRUPTS.‫کنیم‬ ‫می‬ ‫استفاده‬ ‫میکرو‬
‫کردن‬ ‫فعال‬ ‫و‬ ‫پیامک‬ ‫دریافت‬ ‫و‬ ‫ارسال‬ ‫دستورات‬GPS‫دستورات‬ ‫مجموعه‬ ‫از‬AT-COMMOND‫ک‬ ‫کنیم‬ ‫می‬ ‫استفاده‬‫ه‬
‫قسمت‬ ‫در‬‫جلوتر‬.‫شود‬ ‫می‬ ‫داده‬ ‫شرح‬
‫شبیه‬ ‫در‬‫ارسال‬ ‫و‬ ‫دریافت‬ ‫چون‬ ‫سازی‬SMS‫نمایشگر‬ ‫یک‬ ‫از‬ ‫نداریم‬ ‫واقعی‬ ‫صورت‬ ‫به‬ ‫را‬VIRTUAL TERMINAL
‫قسمت‬ ‫در‬ ‫همچنین‬ ‫و‬ ‫کنیم‬ ‫می‬ ‫استفاده‬MMC CARD‫در‬ ‫اطالعات‬ ‫بار‬ ‫یک‬ ‫ثانیه‬ ‫چند‬ ‫بدهیم‬ ‫نشان‬ ‫اینکه‬ ‫برای‬MMC
‫یک‬ ‫از‬ ‫شود‬ ‫می‬ ‫ذخیره‬LED.‫میکنیم‬ ‫استفاده‬
: ‫پروژه‬ ‫کلی‬ ‫شماتیک‬
‫سورس‬ ‫توضیحات‬‫کد‬)‫(بسکام‬:
‫مقداری‬ ، ‫ایم‬ ‫کرده‬ ‫استفاده‬ ‫خارجی‬ ‫کریستال‬ ‫از‬ ‫ما‬ ‫که‬ ‫کریستال‬ ‫تعیین‬ ‫و‬ ‫میکرو‬ ‫معرفی‬ ‫از‬ ‫پس‬ ، ‫برنامه‬ ‫اول‬ ‫خطوط‬ ‫در‬
‫پروتکل‬ ‫توسط‬ ‫اطالعات‬ ‫انتقال‬ ‫برای‬ ‫را‬ ‫میکرو‬ ‫رم‬ ‫حافظه‬ ‫از‬SPI‫و‬‫ریت‬ ‫بائود‬ ‫همچنین‬1122(Baud= 9600‫برای‬ )
‫سریال‬ ‫انتقال‬RXD‫و‬TXD.‫ایم‬ ‫داده‬ ‫اختصاص‬ ،
‫کتابخانه‬ ‫دو‬ ‫سپس‬AVR-DOS‫و‬MMC2‫داده‬ ‫انجام‬ ‫دلخواه‬ ‫صورت‬ ‫به‬ ‫را‬ ‫آن‬ ‫تنظیمات‬ ‫پیش‬ ‫از‬ ‫که‬ ‫کرده‬ ‫فراخوانی‬ ‫را‬
. ‫است‬ ‫شده‬ ‫داده‬ ‫شرح‬ ‫کامل‬ ‫صورت‬ ‫به‬ ‫باال‬ ‫قسمت‬ ‫در‬ ‫که‬ ، ‫ایم‬
‫از‬ ‫پس‬‫خارجی‬ ‫وقفه‬ ، ‫شده‬ ‫مشخص‬ ‫های‬ ‫پورت‬ ‫بودن‬ ‫خروجی‬ ‫و‬ ‫ورودی‬ ‫تعیین‬2(INT0‫تنظیم‬ ‫را‬ ‫آن‬ ‫و‬ ‫کرده‬ ‫فعال‬ ‫)را‬
‫میکنیم‬‫پایه‬ ‫به‬ ‫پایه‬ ‫این‬RI‫میشود‬ ‫متصل‬ ‫ماژول‬‫برنامه‬ ‫زیر‬ ‫دو‬ ‫سپس‬ ،RED2‫و‬SAVE_data‫میکنیم‬ ‫تعریف‬.
‫کانفیگ‬ ‫از‬ ‫تاریخ‬ ‫و‬ ‫ساعت‬ ‫تنظیم‬ ‫برای‬ ‫سپس‬DATE‫و‬CLOCK‫مشخص‬ ‫اولیه‬ ‫مقدار‬ ‫آن‬ ‫برای‬ ‫و‬ ‫کرده‬ ‫استفاده‬ ‫بسکام‬
‫های‬ ‫پایه‬ ‫به‬ ‫که‬ ‫دارد‬ ‫نیاز‬ ‫ساعت‬ ‫کریستال‬ ‫یک‬ ‫به‬ ‫عمل‬ ‫در‬ ‫زمان‬ ‫تنظیم‬ ‫برای‬ ‫روش‬ ‫این‬ ‫که‬ ‫داشت‬ ‫توجه‬ ‫باید‬ . ‫ایم‬ ‫کرده‬
TOSC1‫و‬TOSC2‫آنتن‬ ‫های‬ ‫نماد‬ ‫و‬ ‫درجه‬ ‫نماد‬ ‫مانند‬ ‫ها‬ ‫نماد‬ ‫از‬ ‫بعضی‬ ‫نمایش‬ ‫برای‬ ‫سپس‬ .‫میشود‬ ‫وصل‬ ‫میکرو‬ ‫از‬
‫کا‬ ‫سیم‬‫شامل‬ ‫بعدی‬ ‫خطوط‬ . ‫ایم‬ ‫داده‬ ‫اختصاص‬ ‫ها‬ ‫آن‬ ‫به‬ ‫را‬ ‫ها‬ ‫کد‬ ‫این‬ ‫و‬ ‫کرده‬ ‫طراحی‬ ‫بسکام‬ ‫در‬ ‫را‬ ‫ها‬ ‫آن‬ ‫رت‬
‫پیکربندی‬LCD‫واحد‬ ‫پیکربندی‬ ‫و‬ADC.‫کنیم‬ ‫می‬ ‫تعریف‬ ‫را‬ ‫نیاز‬ ‫مورد‬ ‫های‬ ‫متغیر‬ ‫و‬ ‫دهیم‬ ‫می‬ ‫انجام‬ ‫را‬ ‫میکرو‬
‫روی‬ ‫بر‬ ‫اولیه‬ ‫های‬ ‫پیغام‬ ‫نمایش‬ ‫از‬ ‫پس‬LCD‫ماژول‬ ‫کردن‬ ‫روشن‬ ‫برای‬ ،sim808l‫ورودی‬ ‫باید‬pwr key‫حدود‬ ‫را‬ ‫آن‬
‫پایه‬ ‫منظور‬ ‫بدین‬ ‫میکنیم‬ ‫صفر‬ ‫را‬ ‫آن‬ ‫سپس‬ ‫دهیم‬ ‫قرار‬ ‫یک‬ ‫حالت‬ ‫در‬ ‫ثانیه‬ ‫یک‬portd.3‫ثانیه‬ ‫یک‬ ‫مدت‬ ‫به‬ ‫را‬set‫و‬
‫سپس‬reset‫شبکه‬ ‫تنظیم‬ ‫شامل‬ ‫دستور‬ ‫تا‬ ‫چند‬ ‫.سپس‬ ‫کنیم‬ ‫می‬GSM‫پورت‬ ‫طریق‬ ‫از‬ ، ‫ماژول‬ ‫وضعیت‬ ‫از‬ ‫اطالع‬ ‫و‬
‫برای‬ ‫و‬ ‫کرده‬ ‫ارسال‬ ‫سریال‬‫شامل‬ ‫که‬ ‫آن‬ ‫جواب‬ ‫خواندن‬OK‫برنامه‬ ‫زیر‬ ‫باشد‬ ‫می‬Red2‫جلو‬ ‫در‬ ‫که‬ ‫کرده‬ ‫فراخوانی‬ ‫را‬
.‫شود‬ ‫می‬ ‫داده‬ ‫شرح‬
‫برنامه‬ ‫زیر‬Red2:‫های‬ ‫پایه‬ ‫از‬ ‫اطالعات‬ ‫دریافت‬ ‫برای‬RXD‫و‬TXD‫دستور‬ ‫از‬inkey()‫دستور‬ ‫این‬ ، ‫ایم‬ ‫کرده‬ ‫استفاده‬
‫یک‬ ‫به‬ ‫یک‬ ‫را‬ ‫کدها‬ ‫این‬ ‫باید‬ ‫ما‬ ، ‫شود‬ ‫می‬ ‫جایگزین‬ ‫بعدی‬ ‫کد‬ ‫سپس‬ ‫و‬ ‫میکند‬ ‫ذخیره‬ ‫بافر‬ ‫در‬ ‫را‬ ‫کاراکتر‬ ‫هر‬ ‫اسکی‬ ‫کد‬
‫کاراکتر‬ ‫رشته‬ ‫چند‬ ‫شامل‬ ‫میکرو‬ ‫به‬ ‫میشود‬ ‫ارسال‬ ‫ماژول‬ ‫طرف‬ ‫از‬ ‫که‬ ‫پیامی‬ ، ‫کنیم‬ ‫ذخیره‬ ‫متغیری‬ ‫در‬ ‫و‬ ‫کرده‬ ‫دریافت‬
‫ا‬ ‫ها‬ ‫رشته‬ ‫این‬ .‫باشد‬ ‫می‬‫گر‬‫حاوی‬sms، ‫تلفن‬ ‫شماره‬ ‫شامل‬ ‫اول‬ ‫رشته‬ ‫که‬ ‫میباشد‬ ‫رشته‬ ‫سه‬ ‫شامل‬ ‫باشند‬ ‫شده‬ ‫دریافت‬
‫باید‬ ‫اصلی‬ ‫متن‬ ‫به‬ ‫یابی‬ ‫دست‬ ‫برای‬ ، ‫باشد‬ ‫می‬ ‫پیامک‬ ‫اصلی‬ ‫متن‬ ‫شامل‬ ‫سوم‬ ‫رشته‬ ‫و‬ ‫ساعت‬ ‫و‬ ‫تاریخ‬ ‫شامل‬ ‫دوم‬ ‫رشته‬
‫دنبا‬ ‫را‬ ‫باال‬ ‫الگوریتم‬ ‫منظور‬ ‫بدین‬ ، ‫کنیم‬ ‫استخراج‬ ‫را‬ ‫سوم‬ ‫رشته‬ ‫و‬ ‫کنیم‬ ‫فیلتر‬ ‫را‬ ‫آن‬‫ک‬ ‫الگوریتم‬ ‫این‬ ‫در‬ ، ‫کنیم‬ ‫می‬ ‫ل‬‫د‬2
‫و‬93‫اسکی‬ ‫کد‬ ‫شامل‬ ‫که‬"‫هیچی‬"‫و‬"‫فاصله‬"‫های‬ ‫متغیر‬ ‫در‬ ‫اطالعات‬ ‫نهایت‬ ‫در‬ .‫ایم‬ ‫کرده‬ ‫حذف‬ ‫ابتدا‬ ‫در‬ ‫را‬ ‫هست‬
SMS‫و‬SMS1‫و‬SMS2.‫شود‬ ‫می‬ ‫ذخیره‬
‫برنامه‬ ‫زیر‬Save_data:‫ماژول‬ ‫کردن‬ ‫چک‬ ‫برای‬MMC‫فرمت‬ ‫و‬ ‫آن‬ ‫های‬ ‫پایه‬ ‫شدن‬ ‫متصل‬ ‫نحوه‬ ‫کردن‬ ‫چک‬ ‫شامل‬ ‫که‬
‫حتما‬ ‫باید‬ ‫که‬ ‫حافظه‬ ‫کارت‬ ‫ساختمانی‬FAT32‫تعریف‬ ‫شمارنده‬ ‫یک‬ ‫قسمت‬ ‫این‬ ‫در‬ . ‫ایم‬ ‫کرده‬ ‫اجرا‬ ‫را‬ ‫باال‬ ‫برنامه‬ ‫باشد‬
‫تا‬ ‫را‬ ‫حافظه‬ ‫کارت‬ ‫کردن‬ ‫تست‬ ‫انجام‬ ‫که‬ ‫ایم‬ ‫کرده‬5‫دستور‬ .‫دهد‬ ‫می‬ ‫انجام‬ ‫را‬ ‫عمل‬ ‫این‬ ‫بار‬Driveinit()‫های‬ ‫پایه‬
‫پروتکل‬ ‫از‬ ‫که‬ ‫کند‬ ‫می‬ ‫بررسی‬ ‫را‬ ‫میکرو‬ ‫و‬ ‫حافظه‬ ‫کارت‬SPI‫مقدار‬ ‫دستور‬ ‫این‬ ‫نباشد‬ ‫خطایی‬ ‫اگر‬ ، ‫است‬ ‫شده‬ ‫استفاده‬
‫دستور‬ .‫برمیگرداند‬ ‫را‬ ‫صفر‬ ‫غیر‬ ‫مقداری‬ ‫صورت‬ ‫این‬ ‫غیر‬ ‫در‬ ‫برمیگرداند‬ ‫را‬ ‫صفر‬Initfilesystem()‫یا‬ ‫سیستم‬ ‫فایل‬ ،
‫عددی‬ ‫خطا‬ ‫صورت‬ ‫در‬ ‫که‬ ‫میکند‬ ‫بررسی‬ ‫را‬ ‫سیستم‬ ‫فرمت‬ ‫همان‬‫دستور‬ .‫برمیگرداند‬ ‫صفر‬ ‫غیر‬Drivecheck()‫کارت‬
.‫کند‬ ‫می‬ ‫اطالعات‬ ‫نوشتن‬ ‫و‬ ‫خواندن‬ ‫آماده‬ ‫را‬ ‫حافظه‬
‫دستور‬ ‫با‬ ، ‫تنظیمات‬ ‫این‬ ‫از‬ ‫پس‬Disksize()‫روی‬ ‫بر‬ ‫و‬ ‫کرده‬ ‫مشاهده‬ ‫را‬ ‫حافظه‬ ‫کارت‬ ‫حجم‬ ‫توانیم‬ ‫می‬LCD‫نمایش‬
.‫دهیم‬
‫برنامه‬ ‫زیر‬ ‫ادامه‬ ‫در‬ ، ‫ها‬ ‫برنامه‬ ‫زیر‬ ‫معرفی‬ ‫از‬ ‫پس‬Save_date‫ذخیره‬ ‫آماده‬ ‫را‬ ‫حافظه‬ ‫کارت‬ ‫تا‬ ‫کنیم‬ ‫می‬ ‫فراخوانی‬ ‫را‬
‫دستور‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫سپس‬ .‫کند‬ ‫اطالعات‬open‫مد‬ ‫در‬ ‫تکست‬ ‫فایل‬ ‫یک‬ ،output‫تا‬ ‫نموده‬ ‫ایجاد‬‫فایل‬ ‫اولیه‬ ‫خطوط‬
. ‫کنیم‬ ‫آماده‬ ‫را‬ ‫آن‬ ‫و‬ ‫نوشته‬ ‫آن‬ ‫در‬ ‫را‬
‫واحد‬ ‫از‬ ، ‫شویم‬ ‫می‬ ‫برنامه‬ ‫اصلی‬ ‫ی‬ ‫حلقه‬ ‫وارد‬ ، ‫سپس‬ADC‫روی‬ ‫بر‬ ‫ساعت‬ ‫با‬ ‫همراه‬ ‫و‬ ‫خوانده‬ ‫را‬ ‫دما‬ ‫مقدار‬LCD‫نمایش‬
‫صفر‬ ‫به‬ ‫وقتی‬ ‫و‬ ‫کند‬ ‫می‬ ‫پیدا‬ ‫کاهش‬ ‫بار‬ ‫هر‬ ‫اولیه‬ ‫مقدار‬ ‫یک‬ ‫با‬ ‫که‬ ‫کرده‬ ‫تعریف‬ ‫متغیر‬ ‫یک‬ ‫ما‬ ‫حلقه‬ ‫این‬ ‫در‬ ، ‫دهیم‬ ‫می‬
‫هر‬ ‫فرآیند‬ ‫این‬ ، ‫میکند‬ ‫ذخیره‬ ‫تاریخ‬ ‫و‬ ‫ساعت‬ ‫با‬ ‫همراه‬ ‫را‬ ‫دما‬ ‫و‬ ‫رفته‬ ‫اطالعات‬ ‫ذخیره‬ ‫قسمت‬ ‫به‬ ‫برنامه‬ ‫برسد‬3‫ثانیه‬
.‫افتد‬ ‫می‬ ‫اتفاق‬ ‫بار‬ ‫یک‬
‫های‬ ‫فایل‬ ‫در‬ ‫را‬ ‫اطالعات‬ ‫قسمت‬ ‫این‬ ‫در‬ : ‫اطالعات‬ ‫ذخیره‬ ‫برنامه‬ ‫زیر‬TXT‫و‬XLSX، ‫کنیم‬ ‫می‬ ‫ذخیره‬ )‫اکسل‬ ‫(فایل‬
‫مد‬ ‫در‬ ‫را‬ ‫آن‬ ‫فایل‬ ‫ایجاد‬ ‫برای‬ ‫اول‬ ‫بار‬ ‫که‬ ‫داشت‬ ‫توجه‬ ‫باید‬output‫برای‬ ‫سپس‬ ‫میکنیم‬ ‫ذخیره‬ ‫را‬ ‫اطالعات‬ ‫و‬ ‫کرده‬ ‫باز‬
‫م‬ ‫که‬ ‫بعد‬ ‫دفعات‬‫مد‬ ‫در‬ ‫باید‬ ‫بنویسیم‬ ‫را‬ ‫اطالعات‬ ‫فایل‬ ‫آن‬ ‫ادامه‬ ‫در‬ ‫خواهیم‬ ‫ی‬Append‫مد‬ ‫اگر‬ ‫که‬ ‫چرا‬ ‫شوند‬ ‫باز‬
output‫اطالعات‬ ‫نوشتن‬ ‫از‬ ‫پس‬ ‫که‬ ‫داشت‬ ‫توجه‬ ‫باید‬ ‫نیز‬ ‫و‬ ‫شوند‬ ‫می‬ ‫قدیمی‬ ‫اطالعات‬ ‫جایگزین‬ ‫جدید‬ ‫اطالعات‬ ‫باشد‬
‫را‬ ‫فایل‬ ‫باید‬ ‫حتما‬ ‫ذخیره‬ ‫برای‬ ‫فایل‬ ‫در‬close. ‫کرد‬
‫دریافت‬ ‫برنامه‬ ‫زیر‬( ‫پیامک‬ ‫ارسال‬ ‫و‬GSM: )
‫ماژول‬ ‫طریق‬ ‫از‬ ‫پیامک‬ ‫دریافت‬ ‫از‬ ‫پس‬sim808l‫وقفه‬ ‫توسط‬ ‫برنامه‬0‫این‬ ‫در‬ ، ‫شود‬ ‫می‬ ‫هدایت‬ ‫برنامه‬ ‫قسمت‬ ‫این‬ ‫به‬
‫قسمت‬ ‫سپس‬ ‫و‬ ‫دهد‬ ‫می‬ ‫ای‬ ‫ثانیه‬ ‫یک‬ ‫هشدار‬ ‫یک‬ ‫بازر‬ ، ‫پیامک‬ ‫دریافت‬ ‫با‬ ‫قسمت‬Red2‫متن‬ ‫تا‬ ‫کرده‬ ‫فراخوانی‬ ‫را‬
‫روی‬ ‫پیامک‬ ‫متن‬ ‫سپس‬ .‫کنیم‬ ‫استخراج‬ ‫را‬ ‫پیامک‬LCD‫که‬ ‫است‬ ‫شده‬ ‫تعریف‬ ‫گونه‬ ‫این‬ ‫برنامه‬ ، ‫شود‬ ‫می‬ ‫داده‬ ‫نمایش‬
‫حرف‬ ‫پیامک‬ ‫متن‬ ‫اگر‬T‫ارسال‬ ‫شده‬ ‫تعریف‬ ‫شماره‬ ‫به‬ ‫پیامک‬ ‫صورت‬ ‫به‬ ‫را‬ ‫شده‬ ‫ثبت‬ ‫دمای‬ ‫مقدار‬ ‫آخرین‬ ‫میکرو‬ ، ‫باشد‬
‫حاوی‬ ‫پیامک‬ ‫متن‬ ‫اگر‬ ‫همچنین‬ .‫میکند‬‫حرف‬L‫ماژول‬ ‫به‬ ‫دستور‬ ‫چند‬ ، ‫باشد‬Sim808l‫تا‬ ‫شده‬ ‫ارسال‬GPS‫فعال‬ ‫را‬
‫نقطه‬ ‫کردن‬ ‫پیدا‬ ‫پس‬ ، ‫کند‬FIX‫و‬ ‫وتاریخ‬ ‫زمان‬ ، ‫ارتفاع‬ ‫سطح‬ ، ‫جغرافیایی‬ ‫طول‬ ‫و‬ ‫عرض‬ ‫شامل‬ ‫که‬ ‫مکانی‬ ‫موقعیت‬ ،
‫دریافت‬ ‫پیام‬ ‫از‬ ‫اضافی‬ ‫های‬ ‫رشته‬ ‫حذف‬ ‫و‬ ‫فیلتر‬ ‫پس‬ ، ‫کند‬ ‫می‬ ‫ارسال‬ ‫میکرو‬ ‫به‬ ‫را‬ ‫دیگر‬ ‫اطالعات‬ ‫چندین‬، ‫شده‬
.‫خورد‬ ‫می‬ ‫بازگشت‬ ‫اصلی‬ ‫حلقه‬ ‫به‬ ‫برنامه‬ ‫و‬ ‫شود‬ ‫می‬ ‫ارسال‬ ‫شده‬ ‫تعیین‬ ‫شماره‬ ‫به‬ ‫مکانی‬ ‫موقعیت‬
‫ماژول‬ ‫اتصال‬ ‫نحوه‬MMC CARD: ‫میکرو‬ ‫به‬
‫ماژول‬ ‫اتصال‬ ‫نحوه‬SIM808L: ‫میکرو‬ ‫به‬
: ‫است‬ ‫ذکر‬ ‫به‬ ‫الزم‬ ‫پروژه‬ ‫عملی‬ ‫انجام‬ ‫در‬ ‫که‬ ‫نکاتی‬
1.‫ماژول‬ ‫و‬ ‫میکرو‬ ‫کاری‬ ‫فرکانس‬ ‫اینکه‬ ‫برای‬sim808l‫خارجی‬ ‫کریستال‬ ‫باید‬ ، ‫باشند‬ ‫یکسان‬ ‫هم‬ ‫با‬
11059200 HZ‫از‬ ‫نامشخصی‬ ‫های‬ ‫پیام‬ ‫صورت‬ ‫این‬ ‫غیر‬ ‫در‬ .‫کرد‬ ‫استفاده‬sim808l‫خواهیم‬
.‫داشت‬
2.‫همچنین‬‫در‬‫پیا‬ ‫ایجاد‬ ‫برای‬ ‫نیز‬ ‫سازی‬ ‫شبیه‬ ‫فایل‬‫م‬‫فرکانس‬ ‫از‬ ‫باید‬ ‫مشخص‬ ‫های‬HZ0000000
‫در‬ ‫دلیل‬ ‫همین‬ ‫به‬ .‫کرد‬ ‫استفاده‬‫فایل‬ ‫یک‬ ‫و‬ ‫بسکام‬ ‫فایل‬ ‫یک‬ ، ‫مربوطه‬ ‫برنامه‬ ‫پوشه‬HEX‫اسم‬ ‫به‬
temptest1‫اجرا‬ ‫درستی‬ ‫به‬ ‫سازی‬ ‫شبیه‬ ‫فایل‬ ‫تا‬ ‫ایم‬ ‫داده‬ ‫قرار‬.‫شود‬
3.‫ماژول‬sim808l‫سه‬ ‫دارای‬LED، ‫باشد‬ ‫می‬LED‫برای‬ ‫قرمز‬power‫و‬LED‫در‬ ‫؛‬ ‫رنگ‬ ‫آبی‬ ‫و‬ ‫سبز‬
‫شبکه‬ ‫به‬ ‫که‬ ‫زمانی‬ ‫تا‬ ‫شروع‬ ‫هنگام‬gsm‫است‬ ‫نشده‬ ‫متصل‬LED‫هر‬ ‫رنگ‬ ‫آبی‬ms000‫بار‬ ‫یک‬
‫شبکه‬ ‫به‬ ‫شدن‬ ‫متصل‬ ‫محض‬ ‫به‬ ‫و‬ ‫میزند‬ ‫چشمک‬s3.‫میزند‬ ‫چشمک‬ ‫بار‬ ‫یک‬
4.‫ماژول‬ ‫تغذیه‬sim808l‫منبع‬ ‫یک‬ ‫باید‬v5-v4.3،A2‫به‬ ‫شدن‬ ‫وصل‬ ‫برای‬ ‫زیرا‬ ، ‫باشد‬
‫حدود‬ ‫تا‬ ‫جریانی‬ ‫شبکه‬2‫حدود‬ ‫جریانی‬ ‫معمول‬ ‫حالت‬ ‫در‬ .‫دارد‬ ‫نیاز‬ ‫آمپر‬0.1‫تا‬0.2‫از‬ ‫آمپر‬
.‫کشد‬ ‫می‬ ‫منبع‬
‫خازن‬ ‫یک‬ ‫میتوان‬ ‫مدار‬ ‫در‬ ‫توان‬ ‫افت‬ ‫جبران‬ ‫برای‬ ‫منظور‬ ‫همین‬ ‫به‬uF3300‫ماژول‬ ‫تغذیه‬ ‫با‬
sim808.‫کرد‬ ‫موازی‬
5.‫د‬‫ش‬ ‫قسمت‬ ‫ر‬‫روی‬ ‫بر‬ ‫شده‬ ‫ذخیره‬ ‫های‬ ‫فایل‬ ‫مشاهده‬ ‫برای‬ ‫سازی‬ ‫بیه‬MMC‫افزار‬ ‫نرم‬ ‫از‬ ‫باید‬ ،
win Image.‫کرد‬ ‫استفاده‬
6.‫برنامه‬avr_dos‫تا‬ ‫تواند‬ ‫می‬GB0‫های‬ ‫ثابت‬ ‫در‬ ‫تغییراتی‬ ‫که‬ ‫است‬ ‫الزم‬ ‫فقط‬ ‫کند‬ ‫ساپورت‬ ‫را‬ ‫رم‬
‫رم‬ ‫برای‬ ‫را‬ ‫برنامه‬ ‫این‬ ‫ما‬ .‫شود‬ ‫ایجاد‬ ‫برنامه‬ ‫این‬GB1.‫ایم‬ ‫کرده‬ ‫تنظیم‬
«‫پایان‬»

Contenu connexe

Similaire à avr project , sim808l, mmc card

آزمایشگاه شبکه‏های کامپیوتری
آزمایشگاه شبکه‏های کامپیوتریآزمایشگاه شبکه‏های کامپیوتری
آزمایشگاه شبکه‏های کامپیوتری
guest6b58d0df
 

Similaire à avr project , sim808l, mmc card (20)

MicroController AVR ATMEGA32#1
MicroController AVR ATMEGA32#1MicroController AVR ATMEGA32#1
MicroController AVR ATMEGA32#1
 
Amjadi - Ebook 5 - Function - v1
Amjadi - Ebook 5 - Function - v1Amjadi - Ebook 5 - Function - v1
Amjadi - Ebook 5 - Function - v1
 
بخش دوم :كاربرد رايانه در برق (آموزش ساده سيمولينك )
بخش دوم :كاربرد رايانه در برق (آموزش ساده سيمولينك )بخش دوم :كاربرد رايانه در برق (آموزش ساده سيمولينك )
بخش دوم :كاربرد رايانه در برق (آموزش ساده سيمولينك )
 
مروری برتکنیکهای با اشکال و بدون اشکال نگاشت در شبکه روی تراشه- سیده مریم سلی...
مروری برتکنیکهای با اشکال و بدون اشکال نگاشت در شبکه روی تراشه- سیده مریم سلی...مروری برتکنیکهای با اشکال و بدون اشکال نگاشت در شبکه روی تراشه- سیده مریم سلی...
مروری برتکنیکهای با اشکال و بدون اشکال نگاشت در شبکه روی تراشه- سیده مریم سلی...
 
برنامه سازی3
برنامه سازی3برنامه سازی3
برنامه سازی3
 
Quantom
QuantomQuantom
Quantom
 
Socket Programming in C++
Socket Programming in C++Socket Programming in C++
Socket Programming in C++
 
آزمایشگاه شبکه‏های کامپیوتری
آزمایشگاه شبکه‏های کامپیوتریآزمایشگاه شبکه‏های کامپیوتری
آزمایشگاه شبکه‏های کامپیوتری
 
final
finalfinal
final
 
مسیردهی و پروتوکولهای مسیریابی
مسیردهی و پروتوکولهای مسیریابیمسیردهی و پروتوکولهای مسیریابی
مسیردهی و پروتوکولهای مسیریابی
 
Cisco Exploration 2 In Persion-Muhibullah Aman
Cisco Exploration 2 In Persion-Muhibullah AmanCisco Exploration 2 In Persion-Muhibullah Aman
Cisco Exploration 2 In Persion-Muhibullah Aman
 
Input devices
Input devicesInput devices
Input devices
 
Plc 1
Plc 1Plc 1
Plc 1
 
02 vectorization fundamentals_of_parallelism_and_code_optimization-www.astek.ir
02 vectorization fundamentals_of_parallelism_and_code_optimization-www.astek.ir02 vectorization fundamentals_of_parallelism_and_code_optimization-www.astek.ir
02 vectorization fundamentals_of_parallelism_and_code_optimization-www.astek.ir
 
قلاب سازی در تحلیل بدافزارهاHooking in Malware Analysis
 قلاب سازی در تحلیل بدافزارهاHooking  in Malware Analysis قلاب سازی در تحلیل بدافزارهاHooking  in Malware Analysis
قلاب سازی در تحلیل بدافزارهاHooking in Malware Analysis
 
Jozve c#2 mohamady_zahedy
Jozve c#2 mohamady_zahedyJozve c#2 mohamady_zahedy
Jozve c#2 mohamady_zahedy
 
Neural networks
Neural networksNeural networks
Neural networks
 
ANSYS Applications in Materials Engineering by MR.Govahi
ANSYS Applications in Materials Engineering by MR.GovahiANSYS Applications in Materials Engineering by MR.Govahi
ANSYS Applications in Materials Engineering by MR.Govahi
 
بخش اول :كاربرد رايانه در برق (آموزش ساده سيمولينك )
بخش اول :كاربرد رايانه در برق (آموزش ساده سيمولينك )بخش اول :كاربرد رايانه در برق (آموزش ساده سيمولينك )
بخش اول :كاربرد رايانه در برق (آموزش ساده سيمولينك )
 
نگار پژوه :: شبیه سازی و طراحی بیهنه عملکرد یک بازوی ربات آتشنشان با نازل چند...
نگار پژوه :: شبیه سازی و طراحی بیهنه عملکرد یک بازوی ربات آتشنشان با نازل چند...نگار پژوه :: شبیه سازی و طراحی بیهنه عملکرد یک بازوی ربات آتشنشان با نازل چند...
نگار پژوه :: شبیه سازی و طراحی بیهنه عملکرد یک بازوی ربات آتشنشان با نازل چند...
 

avr project , sim808l, mmc card

  • 1. «‫الرحیم‬ ‫الرحمن‬ ‫اهلل‬ ‫بسم‬» ‫دیجیتال‬ ‫درس‬ ‫به‬ ‫مربوط‬ ‫پروژه‬ ‫گزارش‬2 ‫کنترولر‬ ‫(میکرو‬AVR) : ‫پروژه‬ ‫عنوان‬ ‫کنترلر‬ ‫میکرو‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫مداری‬ ‫طراحی‬ATMEGA32‫که‬‫دما‬ ‫مانند‬ ‫محیطی‬ ‫کمیت‬ ‫یک‬ ‫روی‬ ‫بر‬ ‫نمایش‬ ‫از‬ ‫پس‬ ‫و‬ ‫گرفته‬ ‫را‬LCD‫در‬ ‫ساعت‬ ‫و‬ ‫تاریخ‬ ‫با‬ ‫همراه‬ ‫را‬ ‫دمایی‬ ‫اطالعات‬ ‫این‬ ، ‫یک‬MMC CARD‫مکانی‬ ‫موقعیت‬ ‫و‬ ‫دما‬ ‫شامل‬ ‫که‬ ‫را‬ ‫اطالعات‬ ‫این‬ ‫همچنین‬ ‫و‬ ‫کرده‬ ‫ذخیره‬ ‫صورت‬ ‫به‬ ‫را‬ ‫است‬SMS.‫کند‬ ‫ارسال‬ ‫دانیالی‬ ‫دکتر‬ : ‫مربوطه‬ ‫استاد‬ : ‫دانشجویان‬ ‫کیهانی‬ ‫پوریا‬-129232129 ‫صیادی‬ ‫سعید‬-129232129 ‫ایالم‬ ‫دانشگاه‬ ‫ماه‬ ‫خرداد‬79
  • 2. ‫را‬ ‫پروژه‬ ‫این‬ ‫در‬ ‫رفته‬ ‫کار‬ ‫به‬ ‫قطعات‬ ‫ابتدا‬ ‫در‬. ‫دهیم‬ ‫می‬ ‫شرح‬ ‫مختصر‬ ‫صورت‬ ‫به‬‫قطعات‬‫مهم‬: ‫از‬ ‫اند‬ ‫عبارت‬ ‫کنترلر‬ ‫میکرو‬ATMEGA32،LCD 16*2‫انداز‬ ‫راه‬ ‫ماژول‬ ،MMC CARD‫کارت‬ ‫یه‬ ‫و‬1GB‫انداز‬ ‫راه‬ ‫ماژول‬ ، SIM808L. ‫کنترلر‬ ‫میکرو‬ATMEGA32:
  • 3. ‫معرفی‬lcd‫کارکتری‬16*2: ‫این‬lcd‫دارای‬91‫شماره‬ ‫ی‬ ‫پایه‬ ‫و‬ ‫میباشد‬ ‫پایه‬۱(Vss‫گراند‬ ‫پایه‬ )lcd.‫شود‬ ‫وصل‬ ‫مدار‬ ‫زمین‬ ‫به‬ ‫باید‬ ‫و‬ ‫میباشد‬ ‫پایه‬Vdd‫به‬ ‫باید‬ ‫که‬Vcc،5‫شماره‬ ‫میشود.پایه‬ ‫وصل‬ ‫ولت‬5‫وضعیت‬ ‫دو‬ ‫دارای‬ ‫پایه‬ ‫این‬Rw=1‫از‬ ‫خواندن‬ ‫برای‬lcd‫و‬ Rw=0‫در‬ ‫نوشت‬ ‫برای‬lcd‫روی‬ ‫اطالعات‬ ‫میخواهیم‬ ‫ما‬ ‫چون‬ ،lcd‫در‬ ‫دهیم(نوشتن‬ ‫نمایش‬lcd)‫به‬ ‫را‬ ‫پایه‬ ‫این‬ ‫پس‬ .‫کنیم‬ ‫می‬ ‫وصل‬ ‫زمین‬ ‫پایه‬2(Rs‫کردن‬ ‫آماده‬ )lcd‫یک‬ ‫به‬ ‫که‬ ‫باشد‬ ‫می‬ ‫اطالعات‬ ‫دریافت‬ ‫برای‬‫از‬ ‫ی‬pin.‫شود‬ ‫می‬ ‫وصل‬ ‫میکرو‬ ‫های‬ ‫پایه‬1(e.‫میکرو‬ ‫به‬ ‫متصل‬ ) ‫های‬ ‫پایه‬99-92-93-92(d4-d5-d6-d7‫ا‬ ‫برای‬ )‫به‬ ‫میکرو‬ ‫از‬ ‫دیتا‬ ‫رسال‬lcd. ‫سنسور‬ ‫معرفی‬: ‫دما‬ ‫سنسورهای‬ ‫از‬ ‫ما‬lm35dz.‫کنیم‬ ‫می‬ ‫استفاده‬‫پایه‬ ‫باشد.که‬ ‫می‬ ‫پایه‬ ‫سه‬ ‫دارای‬ ‫سنسور‬ ‫این‬9‫منبع‬ ‫،به‬Vcc‫پایه‬ ‫و‬ ‫شماره‬3‫شماره‬ ‫پایه‬ ‫و‬ ‫زمین‬ ‫به‬2‫قسمت‬ ‫از‬ ‫باید‬ ‫میکرو‬ ‫به‬ ‫سنسورها‬ ‫اتصال‬ ‫باشد.برای‬ ‫می‬ ‫سنسور‬ ‫خروجی‬adc‫(مبدل‬ ‫در‬ ‫که‬ ‫باشند‬ ‫می‬ ‫میکرو‬ ‫از‬ ‫مشخصی‬ ‫پورت‬ ‫به‬ )‫دیجیتال‬ ‫به‬ ‫آنالوگ‬atmega32‫پورت‬ ‫مربوطه‬a.‫باشد‬ ‫می‬
  • 4. (‫دیجیتال‬ ‫به‬ ‫آنالوگ‬ ‫مبدل‬adc: ) ‫به‬ ‫ای‬ ‫وسیله‬ ‫از‬ ‫کار‬ ‫این‬ ‫برای‬ ‫شود‬ ‫گیری‬ ‫اندازه‬ ‫محیط‬ ‫از‬ )... ‫و‬ ‫(مانند:دما،سرعت‬ ‫بیرونی‬ ‫کمیت‬ ‫یک‬ ‫است‬ ‫نیاز‬ ‫گاهی‬ ‫میش‬ ‫استفاده‬ ‫سنسور‬ ‫نام‬‫ولتا‬ ‫به‬ ‫را‬ ‫آنالوگ‬ ‫کمیت‬ ‫یه‬ ‫مقدار‬ ‫ود.سنسورها‬‫ولتاژ‬ ‫این‬ ‫کند.سپس‬ ‫می‬ ‫تبدیل‬ ‫جریان‬ ‫یا‬ ‫ژ‬ ‫واحد‬ ‫به‬ ‫آنالوگ‬adc‫کند،سپس‬ ‫می‬ ‫تبدیل‬ ‫متناظر‬ ‫دیجیتال‬ ‫کمیت‬ ‫به‬ ‫را‬ ‫ولتاژ‬ ‫مقدار‬ ‫واحد‬ ‫این‬ ‫و‬ ‫میشود‬ ‫داده‬ ‫میکرو‬ .‫میشود‬ ‫تبدیل‬ ‫بیرونی‬ ‫کمیت‬ ‫آن‬ ‫با‬ ‫متناظر‬ ‫عددی‬ ‫مقدار‬ ‫به‬ ‫ریاضی‬ ‫اعمال‬ ‫با‬ ‫دیجیتال‬ ‫مقدار‬ ‫این‬ ‫واحد‬adc‫میشود‬ ‫اندازی‬ ‫راه‬ ‫زیر‬ ‫دستور‬ ‫با‬ ‫بسکام‬ ‫افزار‬ ‫نرم‬ ‫در‬: Config adc = single/free , prescaler=auto , refrence=AVcc ‫گزینه‬single‫دستور‬ ‫توسط‬ ‫آنالوگ‬ ‫سیگنال‬ ‫دیجیتال‬ ‫مقدار‬ ‫که‬ ‫میباشد‬ ‫حالتی‬ ‫برای‬getadc()‫جنس‬ ‫از‬ ‫متغیری‬ ‫در‬ word.‫میشود‬ ‫ریخته‬ Prescaler‫کالک‬ :adc‫مقادیر‬ ‫میکند،که‬ ‫مشخص‬ ‫را‬2-2-8-‫تا‬ ...928‫یا‬ ‫و‬auto‫آن‬ ‫بهترین‬ ‫خودکار‬ ‫صورت‬ ‫به‬ ‫که‬ .‫کند‬ ‫می‬ ‫انتخاب‬ ‫را‬
  • 5. Refrencr‫های‬ ‫حالت‬ ‫برای‬ ‫میتواند‬ ‫گزینه‬ ‫این‬ :opt‫و‬AVcc‫و‬internal‫ی‬ ‫گزینه‬ ‫از‬ ‫ما‬ ‫که‬ ‫میشود‬ ‫تنظیم‬AVcc ‫ولتاژ‬ ‫یعنی‬refrence‫ی‬ ‫پایه‬ ‫به‬ ‫مربوط‬ ‫که‬ ‫خروجی‬32‫و‬32.‫کردیم‬ ‫استفاده‬ ‫باشد‬ ‫می‬ ‫میکرو‬ ‫برای‬refrence‫خروج‬ ‫شده‬ ‫تعیین‬‫ی‬5‫به‬ ‫که‬ ‫گرفتیم‬ ‫اندازه‬ ‫را‬ ‫ولت‬Vcc‫ی‬ ‫پایه‬ ‫در‬ ‫آنالوگ‬ ‫شود،سیگنال‬ ‫می‬ ‫وصل‬ adc0‫ولتاژ‬ ‫از‬2‫تا‬5‫بین‬ ‫اعدادی‬ ‫به‬ ‫را‬ ‫ولت‬2‫تا‬9223،‫دیتاشیت‬ ‫به‬ ‫توجه‬ ‫با‬ ‫که‬ ‫دهد‬ ‫می‬ ‫اختصاص‬lm35‫رابطه‬ ‫یک‬ ‫از‬ .‫رسید‬ ‫بیرونی‬ ‫کمیت‬ ‫متناظر‬ ‫مقدار‬ ‫به‬ ‫توان‬ ‫می‬ ‫ساده‬ ‫تقسیم‬ ‫یک‬ ‫با‬ ‫و‬ .‫کند‬ ‫می‬ ‫تبعیت‬ ‫خطی‬ ‫ی‬ MMC CARD: ‫و‬ ‫میکرو‬ ‫بین‬ ‫ارتباط‬ ‫باید‬ ‫ابتدا‬ ‫کار‬ ‫این‬ ‫داریم.برای‬ ‫ماژول‬ ‫این‬ ‫به‬ ‫نیاز‬ ‫ما‬ ‫اطالعات‬ ‫ذخیره‬ ‫برای‬mmc.‫دهیم‬ ‫شرح‬ ‫را‬ Mmc‫میکنند‬ ‫پشتیبانی‬ ‫ارتباطی‬ ‫پروتکل‬ ‫دو‬ ‫از‬ ‫ها‬‫پروتکل‬ ‫.یکی‬mmc‫دیگری‬ ‫و‬spi‫ت‬ ‫باشد.با‬ ‫می‬‫اینکه‬ ‫به‬ ‫وجه‬avr ‫پروتکل‬ ‫از‬spi.‫کند‬ ‫می‬ ‫پشتیبانی‬‫پروتکل‬ ‫از‬ ‫نیز‬ ‫ما‬spi.‫میکنیم‬ ‫استفاده‬
  • 6. ‫پروتکل‬MMC‫اقدام‬ ‫دستورات‬ ‫ارسال‬ ‫با‬ ‫و‬ ‫داریم‬ ‫سروکار‬ ‫ها‬ ‫بایت‬ ‫تک‬ ‫تک‬ ‫با‬ ‫ما‬ ‫آن‬ ‫در‬ ‫که‬ ‫پایین‬ ‫سطح‬ ‫دسترسی‬ ‫یک‬ : ‫به‬‫در‬ ‫نوشتن‬ ‫یا‬ ‫خواندن‬mmc‫ک‬ ‫باشد‬ ‫می‬ ‫پیچیده‬ ‫بسیار‬ ‫روش‬ ‫کنیم.این‬ ‫می‬.‫کنیم‬ ‫می‬ ‫نظر‬ ‫صرف‬ ‫آن‬ ‫از‬ ‫ه‬ ‫قوانین‬ ‫به‬ ‫توجه‬ ‫با‬ ‫ها‬ ‫فایل‬ ‫تمام‬ ‫ایم‬ ‫کرده‬ ‫استفاده‬ ‫آن‬ ‫از‬ ‫ما‬ ‫که‬ ‫باال‬ ‫سطح‬ ‫دسترسی‬ ‫در‬fat32‫دسترس‬ ‫قابل‬ ‫ما‬ ‫برای‬ ‫دستورات‬ ‫از‬ ‫میتوانیم‬ ‫ما‬ ‫و‬ ‫بود‬ ‫خواهد‬dos‫و‬ ‫سازی‬ ‫ذخیره‬ ‫برای‬ ‫ما‬ ‫حالت‬ ‫این‬ ‫کنیم.در‬ ‫می‬ ‫استفاده‬‫بایت‬ ‫یک‬ ‫با‬ ‫بازیابی‬ ‫معادل‬ ‫که‬ ‫سکتور‬ ‫یک‬ ‫انتقال‬ ‫هربار‬ ‫در‬ ‫بلکه‬ ‫نداریم‬ ‫سروکار‬592.‫میشود‬ ‫نوشته‬ ‫یا‬ ‫خوانده‬ ‫است‬ ‫بایت‬ ‫ارتباطی‬ ‫های‬ ‫پین‬mmc: ‫با‬ ‫ارتباط‬ ‫برای‬mmc‫از‬ ‫پین‬ ‫چهار‬ ‫به‬avr‫برا‬ ‫پین‬ ‫داریم.یک‬ ‫نیاز‬(‫ارسال‬ ‫ی‬miso)( ‫دریافت‬ ‫برای‬ ‫پین‬ ‫یک‬ ،mosi)‫،یک‬ (‫کالک‬ ‫برای‬ ‫پین‬sck‫انتخاب‬ ‫برای‬ ‫آخر‬ ‫پین‬ ‫و‬ )mmc‫پروتکل‬ ‫در‬spi(ss).mmc‫تغذیه‬ ‫به‬ ‫نیاز‬3.3.‫دارد‬ ‫ولت‬‫یک‬ ‫از‬ ‫ما‬ ‫ولتاژ‬ ‫رگالتور‬ld1585cv33‫کرد‬ ‫اسنفاده‬ ‫دیگر‬ ‫های‬ ‫مدل‬ ‫یا‬‫ایم‬ ‫ه‬. ‫تغذیه‬ ‫به‬ ‫توجه‬ ‫با‬mmc‫ی‬ ‫پایه‬ ‫توانیم‬ ‫نمی‬ ‫ما‬avr‫به‬ ‫مستقیما‬ ‫را‬mmc‫استفاده‬ ‫مقاومتی‬ ‫تقسیم‬ ‫از‬ ‫باید‬ ‫و‬ ‫کنیم‬ ‫وصل‬ ‫کن‬‫زیر‬ ‫شکل‬ ‫یم.در‬pin‫های‬mmc‫خور‬ ‫رم‬ ‫و‬mmc.‫میکنیم‬ ‫مشاهده‬ ‫را‬ ‫انداز‬ ‫راه‬ ‫ماژول‬ ‫توسط‬ ‫کارها‬ ‫این‬ ‫همه‬ ‫البته‬MMC.‫نیست‬ ‫رگوالتور‬ ‫و‬ ‫مقاومتی‬ ‫تقسیم‬ ‫به‬ ‫نیازی‬ ‫و‬ ‫است‬ ‫شده‬ ‫انجام‬ : ‫نکته‬mmc.‫کنیم‬ ‫استفاده‬ ‫میکرو‬ ‫با‬ ‫ارتباط‬ ‫برای‬ ‫طوالنی‬ ‫مسیر‬ ‫از‬ ‫نباید‬ ‫است.بنابراین‬ ‫حساس‬ ‫نویز‬ ‫به‬ ‫بسیار‬ ‫کتابخانه‬avr-dos‫ها‬ ‫فایل‬ ‫نوشتن‬ ‫و‬ ‫خواندن‬ ‫برای‬ ‫دستوراتی‬ ‫دارای‬ ‫باشد‬ ‫می‬ ‫موجود‬ ‫نیز‬ ‫بسکام‬ ‫در‬ ‫که‬ ‫کتابخانه‬ ‫این‬ : .‫باشد‬ ‫می‬ ‫برنامه‬ ‫ابتدای‬ ‫در‬confing-avr-dos.bas‫و‬confing-mmc.bas‫فراخانی‬ ‫زیر‬ ‫دستوارات‬ ‫با‬ ‫برنامه‬ ‫داخل‬ ‫در‬ ‫که‬ ‫میشوند‬.
  • 7. $include”config-avr-dos.bas” $includ”config-mmc.bas” ‫ارتباط‬ ‫تنظیم‬ ‫برای‬ ‫آنها‬ ‫نام‬ ‫به‬ ‫توجه‬ ‫با‬ ‫فایل‬ ‫دو‬ ‫این‬mmc‫اصلی‬ ‫برنامه‬ ‫کنار‬ ‫در‬ ‫در‬ ‫باید‬ ‫فایل‬ ‫دو‬ ‫این‬ .‫میباشد‬ ‫کتابخانه‬ ‫و‬ ‫پوشه‬ ‫در‬ ‫و‬‫آن‬.‫کند‬ ‫پیدا‬ ‫را‬ ‫آنها‬ ‫بتواند‬ ‫کامپایلر‬ ‫تا‬ ‫شوند‬ ‫ذخیره‬ ‫فایل‬ ‫در‬config-mmc.bas.‫کنیم‬ ‫می‬ ‫تنظیم‬ ‫دلخواه‬ ‫صورت‬ ‫به‬ ‫تنظیم‬ ‫چند‬ ‫ثابت‬ ‫عدد‬cmmc-soft=0‫مد‬ ‫نوع‬ ‫دهنده‬ ‫نشان‬ ‫است‬ ‫صفر‬ ‫فرض‬ ‫پیش‬ ‫صورت‬ ‫به‬ ‫که‬spi‫تنظیم‬ ‫صفر‬ ‫روی‬ ‫اگر‬ ‫است‬ ‫شود‬spi‫افزاری‬ ‫سخت‬ ‫مد‬ ‫در‬config‫روی‬ ‫خاصی‬ ‫های‬ ‫پایه‬ ‫از‬ ‫و‬ ‫شده‬avr‫باشد‬ ‫یک‬ ‫اگر‬ ‫و‬ ‫کرد‬ ‫استفاده‬ ‫باید‬spi‫مد‬ ‫در‬ ‫می‬ ‫قرار‬ ‫افزاری‬ ‫نرم‬.‫میباشد‬ ‫دلخواه‬ ‫آن‬ ‫های‬ ‫پایه‬ ‫ترتیب‬ ‫و‬ ‫گیرد‬ ‫استفاده‬ ‫مد‬ ‫همین‬ ‫از‬ ‫ما‬ ‫که‬ ‫میباشد‬ ‫بیشتر‬ ‫ها‬ ‫داده‬ ‫انتقال‬ ‫سرعت‬ ‫باشیم‬ ‫افزاری‬ ‫سخت‬ ‫مد‬ ‫روی‬ ‫اگر‬ ‫که‬ ‫است‬ ‫ذکر‬ ‫به‬ ‫الزم‬ .‫کنیم‬ ‫می‬ ‫فایل‬config-avr-das.bas: ‫تنظ‬ ‫را‬ ‫خانه‬ ‫کتاب‬ ‫توانیم‬ ‫می‬ ‫آن‬ ‫تغیر‬ ‫با‬ ‫که‬ ‫دارد‬ ‫وجود‬ ‫ثابت‬ ‫چند‬ ‫نیز‬ ‫فایل‬ ‫این‬ ‫در‬‫ثابت‬ ‫اولین‬ .‫کنیم‬ ‫یم‬ cfilehanles=2‫دهد‬ ‫می‬ ‫نشان‬ ‫را‬ ‫فایلی‬ ‫تعداد‬ ‫ثابت‬ ‫این‬ ‫است‬ ‫شده‬ ‫تنظیم‬ ‫دو‬ ‫روی‬ ‫بر‬ ‫فرض‬ ‫پیش‬ ‫صورت‬ ‫به‬ ‫که‬ ‫است‬ ‫روی‬ ‫نوشتن‬ ‫و‬ ‫خواندن‬ ،‫کردن‬ ‫باز‬ ‫قابل‬ ‫زمان‬ ‫هم‬ ‫طور‬ ‫به‬ ‫که‬mmc.‫است‬ ‫به‬ ‫نیاز‬ ‫فایل‬ ‫هر‬592‫از‬ ‫بایت‬sram.‫دارد‬ ‫را‬ ‫از‬ ‫ما‬ ‫چون‬ ‫بنابراین‬atmega32‫دارای‬ ‫که‬ ‫کنیم‬ ‫می‬ ‫استفاده‬sram‫روی‬ ‫را‬ ‫ثابت‬ ‫این‬ ‫باید‬ ‫باشد‬ ‫می‬ ‫بایت‬ ‫کیلو‬ ‫دو‬9 ‫و‬ ‫کنیم‬ ‫تنظیم‬1kb.‫میدهیم‬ ‫اختصاص‬ ‫ها‬ ‫برنامه‬ ‫دیگر‬ ‫به‬ ‫را‬ ‫آن‬ ‫بقی‬ ‫ما‬ ‫اتصال‬avr‫به‬mmc:‫افزاری‬ ‫سخت‬ ‫مد‬ ‫طبق‬spi‫های‬ ‫پایه‬ ‫از‬ ‫باید‬ss،slk،miso‫و‬mosi‫به‬ ‫اتصال‬ ‫برای‬mmc .‫کنیم‬ ‫استفاده‬
  • 8. ‫ماژول‬GSM: ‫های‬ ‫ماژول‬ ‫از‬ ‫باید‬ ‫پیامک‬ ‫ارسال‬ ‫برای‬sim‫انواع‬ ‫که‬.‫کرد‬ ‫استفاده‬ ‫دارد‬ ‫مختلفی‬‫از‬ ‫برنامه‬ ‫این‬ ‫در‬ ‫ما‬sim808l‫استفاده‬ ‫شبکه‬ ‫دارای‬ ‫که‬ ‫کردیم‬gsm/gprs/gps‫موقیت‬ ‫اخرین‬ ‫و‬ ‫دما‬ ‫شامل‬ ‫که‬ ‫پیامک‬ ‫ارسال‬ ‫برای‬ ‫ماژول‬ ‫این‬ .‫باشد‬ ‫می‬ ‫صورت‬ ‫بدین‬ ‫شود‬ ‫می‬ ‫استفاده‬ ‫باشد‬ ‫می‬ ‫مکانی‬‫حرف‬ ‫اگر‬ ‫ما‬ ‫تعریف‬ ‫به‬ ‫توجه‬ ‫با‬ ‫که‬t‫اخرین‬ ‫میکرو‬ ‫شود‬ ‫ارسال‬ ‫ماژول‬ ‫به‬ ‫حرف‬ ‫اگر‬ ‫و‬ ‫کند‬ ‫می‬ ‫ارسال‬ ‫شده‬ ‫تعیین‬ ‫پیش‬ ‫از‬ ‫که‬ ‫ای‬ ‫شماره‬ ‫به‬ ‫رو‬ ‫دمایی‬ ‫اطالعات‬L‫شود‬ ‫ارسال‬ ‫ماژول‬ ‫به‬‫میکرو‬ .‫کند‬ ‫می‬ ‫ارسال‬ ‫نظر‬ ‫مورد‬ ‫شماره‬ ‫به‬ ‫و‬ ‫گرفته‬ ‫رو‬ ‫مکانی‬ ‫موقیت‬ ‫اخرین‬ ‫اتصال‬ ‫برای‬sim808l‫پایه‬ ‫دو‬ ‫از‬ ‫میکرو‬ ‫به‬TXD‫و‬RXD‫متناظر‬ ‫صورت‬ ‫به‬ ‫که‬ ‫باشند‬ ‫می‬ ‫سریالی‬ ‫پورت‬ ‫های‬ ‫پایه‬ ‫که‬ ‫پایه‬ ‫که‬ ‫صورت‬ ‫بدین‬ ‫شوند‬ ‫می‬ ‫استفاده‬RXD‫پایه‬ ‫به‬ ‫ماژول‬TXD‫پایه‬ ‫و‬ ‫میکرو‬TXD‫پایه‬ ‫به‬ ‫ماژول‬RXD‫میکرو‬ ‫اسم‬ ‫به‬ ‫دیگر‬ ‫پایه‬ ‫از‬ .‫شود‬ ‫می‬ ‫متصل‬RI‫اگر‬ ‫که‬ ‫منظور‬ ‫بدین‬ ‫کنیم‬ ‫می‬ ‫استفاده‬‫ماژول‬SMS‫صفر‬ ‫پایه‬ ‫این‬ ‫کند‬ ‫دریافت‬ ‫برای‬ ‫منظور‬ ‫این‬ ‫از‬ ‫و‬ ‫شود‬ ‫می‬INTERRUPTS.‫کنیم‬ ‫می‬ ‫استفاده‬ ‫میکرو‬ ‫کردن‬ ‫فعال‬ ‫و‬ ‫پیامک‬ ‫دریافت‬ ‫و‬ ‫ارسال‬ ‫دستورات‬GPS‫دستورات‬ ‫مجموعه‬ ‫از‬AT-COMMOND‫ک‬ ‫کنیم‬ ‫می‬ ‫استفاده‬‫ه‬ ‫قسمت‬ ‫در‬‫جلوتر‬.‫شود‬ ‫می‬ ‫داده‬ ‫شرح‬ ‫شبیه‬ ‫در‬‫ارسال‬ ‫و‬ ‫دریافت‬ ‫چون‬ ‫سازی‬SMS‫نمایشگر‬ ‫یک‬ ‫از‬ ‫نداریم‬ ‫واقعی‬ ‫صورت‬ ‫به‬ ‫را‬VIRTUAL TERMINAL ‫قسمت‬ ‫در‬ ‫همچنین‬ ‫و‬ ‫کنیم‬ ‫می‬ ‫استفاده‬MMC CARD‫در‬ ‫اطالعات‬ ‫بار‬ ‫یک‬ ‫ثانیه‬ ‫چند‬ ‫بدهیم‬ ‫نشان‬ ‫اینکه‬ ‫برای‬MMC ‫یک‬ ‫از‬ ‫شود‬ ‫می‬ ‫ذخیره‬LED.‫میکنیم‬ ‫استفاده‬
  • 9. : ‫پروژه‬ ‫کلی‬ ‫شماتیک‬ ‫سورس‬ ‫توضیحات‬‫کد‬)‫(بسکام‬: ‫مقداری‬ ، ‫ایم‬ ‫کرده‬ ‫استفاده‬ ‫خارجی‬ ‫کریستال‬ ‫از‬ ‫ما‬ ‫که‬ ‫کریستال‬ ‫تعیین‬ ‫و‬ ‫میکرو‬ ‫معرفی‬ ‫از‬ ‫پس‬ ، ‫برنامه‬ ‫اول‬ ‫خطوط‬ ‫در‬ ‫پروتکل‬ ‫توسط‬ ‫اطالعات‬ ‫انتقال‬ ‫برای‬ ‫را‬ ‫میکرو‬ ‫رم‬ ‫حافظه‬ ‫از‬SPI‫و‬‫ریت‬ ‫بائود‬ ‫همچنین‬1122(Baud= 9600‫برای‬ ) ‫سریال‬ ‫انتقال‬RXD‫و‬TXD.‫ایم‬ ‫داده‬ ‫اختصاص‬ ،
  • 10. ‫کتابخانه‬ ‫دو‬ ‫سپس‬AVR-DOS‫و‬MMC2‫داده‬ ‫انجام‬ ‫دلخواه‬ ‫صورت‬ ‫به‬ ‫را‬ ‫آن‬ ‫تنظیمات‬ ‫پیش‬ ‫از‬ ‫که‬ ‫کرده‬ ‫فراخوانی‬ ‫را‬ . ‫است‬ ‫شده‬ ‫داده‬ ‫شرح‬ ‫کامل‬ ‫صورت‬ ‫به‬ ‫باال‬ ‫قسمت‬ ‫در‬ ‫که‬ ، ‫ایم‬ ‫از‬ ‫پس‬‫خارجی‬ ‫وقفه‬ ، ‫شده‬ ‫مشخص‬ ‫های‬ ‫پورت‬ ‫بودن‬ ‫خروجی‬ ‫و‬ ‫ورودی‬ ‫تعیین‬2(INT0‫تنظیم‬ ‫را‬ ‫آن‬ ‫و‬ ‫کرده‬ ‫فعال‬ ‫)را‬ ‫میکنیم‬‫پایه‬ ‫به‬ ‫پایه‬ ‫این‬RI‫میشود‬ ‫متصل‬ ‫ماژول‬‫برنامه‬ ‫زیر‬ ‫دو‬ ‫سپس‬ ،RED2‫و‬SAVE_data‫میکنیم‬ ‫تعریف‬.
  • 11. ‫کانفیگ‬ ‫از‬ ‫تاریخ‬ ‫و‬ ‫ساعت‬ ‫تنظیم‬ ‫برای‬ ‫سپس‬DATE‫و‬CLOCK‫مشخص‬ ‫اولیه‬ ‫مقدار‬ ‫آن‬ ‫برای‬ ‫و‬ ‫کرده‬ ‫استفاده‬ ‫بسکام‬ ‫های‬ ‫پایه‬ ‫به‬ ‫که‬ ‫دارد‬ ‫نیاز‬ ‫ساعت‬ ‫کریستال‬ ‫یک‬ ‫به‬ ‫عمل‬ ‫در‬ ‫زمان‬ ‫تنظیم‬ ‫برای‬ ‫روش‬ ‫این‬ ‫که‬ ‫داشت‬ ‫توجه‬ ‫باید‬ . ‫ایم‬ ‫کرده‬ TOSC1‫و‬TOSC2‫آنتن‬ ‫های‬ ‫نماد‬ ‫و‬ ‫درجه‬ ‫نماد‬ ‫مانند‬ ‫ها‬ ‫نماد‬ ‫از‬ ‫بعضی‬ ‫نمایش‬ ‫برای‬ ‫سپس‬ .‫میشود‬ ‫وصل‬ ‫میکرو‬ ‫از‬ ‫کا‬ ‫سیم‬‫شامل‬ ‫بعدی‬ ‫خطوط‬ . ‫ایم‬ ‫داده‬ ‫اختصاص‬ ‫ها‬ ‫آن‬ ‫به‬ ‫را‬ ‫ها‬ ‫کد‬ ‫این‬ ‫و‬ ‫کرده‬ ‫طراحی‬ ‫بسکام‬ ‫در‬ ‫را‬ ‫ها‬ ‫آن‬ ‫رت‬ ‫پیکربندی‬LCD‫واحد‬ ‫پیکربندی‬ ‫و‬ADC.‫کنیم‬ ‫می‬ ‫تعریف‬ ‫را‬ ‫نیاز‬ ‫مورد‬ ‫های‬ ‫متغیر‬ ‫و‬ ‫دهیم‬ ‫می‬ ‫انجام‬ ‫را‬ ‫میکرو‬ ‫روی‬ ‫بر‬ ‫اولیه‬ ‫های‬ ‫پیغام‬ ‫نمایش‬ ‫از‬ ‫پس‬LCD‫ماژول‬ ‫کردن‬ ‫روشن‬ ‫برای‬ ،sim808l‫ورودی‬ ‫باید‬pwr key‫حدود‬ ‫را‬ ‫آن‬ ‫پایه‬ ‫منظور‬ ‫بدین‬ ‫میکنیم‬ ‫صفر‬ ‫را‬ ‫آن‬ ‫سپس‬ ‫دهیم‬ ‫قرار‬ ‫یک‬ ‫حالت‬ ‫در‬ ‫ثانیه‬ ‫یک‬portd.3‫ثانیه‬ ‫یک‬ ‫مدت‬ ‫به‬ ‫را‬set‫و‬ ‫سپس‬reset‫شبکه‬ ‫تنظیم‬ ‫شامل‬ ‫دستور‬ ‫تا‬ ‫چند‬ ‫.سپس‬ ‫کنیم‬ ‫می‬GSM‫پورت‬ ‫طریق‬ ‫از‬ ، ‫ماژول‬ ‫وضعیت‬ ‫از‬ ‫اطالع‬ ‫و‬ ‫برای‬ ‫و‬ ‫کرده‬ ‫ارسال‬ ‫سریال‬‫شامل‬ ‫که‬ ‫آن‬ ‫جواب‬ ‫خواندن‬OK‫برنامه‬ ‫زیر‬ ‫باشد‬ ‫می‬Red2‫جلو‬ ‫در‬ ‫که‬ ‫کرده‬ ‫فراخوانی‬ ‫را‬ .‫شود‬ ‫می‬ ‫داده‬ ‫شرح‬
  • 12. ‫برنامه‬ ‫زیر‬Red2:‫های‬ ‫پایه‬ ‫از‬ ‫اطالعات‬ ‫دریافت‬ ‫برای‬RXD‫و‬TXD‫دستور‬ ‫از‬inkey()‫دستور‬ ‫این‬ ، ‫ایم‬ ‫کرده‬ ‫استفاده‬ ‫یک‬ ‫به‬ ‫یک‬ ‫را‬ ‫کدها‬ ‫این‬ ‫باید‬ ‫ما‬ ، ‫شود‬ ‫می‬ ‫جایگزین‬ ‫بعدی‬ ‫کد‬ ‫سپس‬ ‫و‬ ‫میکند‬ ‫ذخیره‬ ‫بافر‬ ‫در‬ ‫را‬ ‫کاراکتر‬ ‫هر‬ ‫اسکی‬ ‫کد‬ ‫کاراکتر‬ ‫رشته‬ ‫چند‬ ‫شامل‬ ‫میکرو‬ ‫به‬ ‫میشود‬ ‫ارسال‬ ‫ماژول‬ ‫طرف‬ ‫از‬ ‫که‬ ‫پیامی‬ ، ‫کنیم‬ ‫ذخیره‬ ‫متغیری‬ ‫در‬ ‫و‬ ‫کرده‬ ‫دریافت‬ ‫ا‬ ‫ها‬ ‫رشته‬ ‫این‬ .‫باشد‬ ‫می‬‫گر‬‫حاوی‬sms، ‫تلفن‬ ‫شماره‬ ‫شامل‬ ‫اول‬ ‫رشته‬ ‫که‬ ‫میباشد‬ ‫رشته‬ ‫سه‬ ‫شامل‬ ‫باشند‬ ‫شده‬ ‫دریافت‬ ‫باید‬ ‫اصلی‬ ‫متن‬ ‫به‬ ‫یابی‬ ‫دست‬ ‫برای‬ ، ‫باشد‬ ‫می‬ ‫پیامک‬ ‫اصلی‬ ‫متن‬ ‫شامل‬ ‫سوم‬ ‫رشته‬ ‫و‬ ‫ساعت‬ ‫و‬ ‫تاریخ‬ ‫شامل‬ ‫دوم‬ ‫رشته‬ ‫دنبا‬ ‫را‬ ‫باال‬ ‫الگوریتم‬ ‫منظور‬ ‫بدین‬ ، ‫کنیم‬ ‫استخراج‬ ‫را‬ ‫سوم‬ ‫رشته‬ ‫و‬ ‫کنیم‬ ‫فیلتر‬ ‫را‬ ‫آن‬‫ک‬ ‫الگوریتم‬ ‫این‬ ‫در‬ ، ‫کنیم‬ ‫می‬ ‫ل‬‫د‬2 ‫و‬93‫اسکی‬ ‫کد‬ ‫شامل‬ ‫که‬"‫هیچی‬"‫و‬"‫فاصله‬"‫های‬ ‫متغیر‬ ‫در‬ ‫اطالعات‬ ‫نهایت‬ ‫در‬ .‫ایم‬ ‫کرده‬ ‫حذف‬ ‫ابتدا‬ ‫در‬ ‫را‬ ‫هست‬ SMS‫و‬SMS1‫و‬SMS2.‫شود‬ ‫می‬ ‫ذخیره‬
  • 13. ‫برنامه‬ ‫زیر‬Save_data:‫ماژول‬ ‫کردن‬ ‫چک‬ ‫برای‬MMC‫فرمت‬ ‫و‬ ‫آن‬ ‫های‬ ‫پایه‬ ‫شدن‬ ‫متصل‬ ‫نحوه‬ ‫کردن‬ ‫چک‬ ‫شامل‬ ‫که‬ ‫حتما‬ ‫باید‬ ‫که‬ ‫حافظه‬ ‫کارت‬ ‫ساختمانی‬FAT32‫تعریف‬ ‫شمارنده‬ ‫یک‬ ‫قسمت‬ ‫این‬ ‫در‬ . ‫ایم‬ ‫کرده‬ ‫اجرا‬ ‫را‬ ‫باال‬ ‫برنامه‬ ‫باشد‬ ‫تا‬ ‫را‬ ‫حافظه‬ ‫کارت‬ ‫کردن‬ ‫تست‬ ‫انجام‬ ‫که‬ ‫ایم‬ ‫کرده‬5‫دستور‬ .‫دهد‬ ‫می‬ ‫انجام‬ ‫را‬ ‫عمل‬ ‫این‬ ‫بار‬Driveinit()‫های‬ ‫پایه‬ ‫پروتکل‬ ‫از‬ ‫که‬ ‫کند‬ ‫می‬ ‫بررسی‬ ‫را‬ ‫میکرو‬ ‫و‬ ‫حافظه‬ ‫کارت‬SPI‫مقدار‬ ‫دستور‬ ‫این‬ ‫نباشد‬ ‫خطایی‬ ‫اگر‬ ، ‫است‬ ‫شده‬ ‫استفاده‬ ‫دستور‬ .‫برمیگرداند‬ ‫را‬ ‫صفر‬ ‫غیر‬ ‫مقداری‬ ‫صورت‬ ‫این‬ ‫غیر‬ ‫در‬ ‫برمیگرداند‬ ‫را‬ ‫صفر‬Initfilesystem()‫یا‬ ‫سیستم‬ ‫فایل‬ ، ‫عددی‬ ‫خطا‬ ‫صورت‬ ‫در‬ ‫که‬ ‫میکند‬ ‫بررسی‬ ‫را‬ ‫سیستم‬ ‫فرمت‬ ‫همان‬‫دستور‬ .‫برمیگرداند‬ ‫صفر‬ ‫غیر‬Drivecheck()‫کارت‬ .‫کند‬ ‫می‬ ‫اطالعات‬ ‫نوشتن‬ ‫و‬ ‫خواندن‬ ‫آماده‬ ‫را‬ ‫حافظه‬ ‫دستور‬ ‫با‬ ، ‫تنظیمات‬ ‫این‬ ‫از‬ ‫پس‬Disksize()‫روی‬ ‫بر‬ ‫و‬ ‫کرده‬ ‫مشاهده‬ ‫را‬ ‫حافظه‬ ‫کارت‬ ‫حجم‬ ‫توانیم‬ ‫می‬LCD‫نمایش‬ .‫دهیم‬
  • 14. ‫برنامه‬ ‫زیر‬ ‫ادامه‬ ‫در‬ ، ‫ها‬ ‫برنامه‬ ‫زیر‬ ‫معرفی‬ ‫از‬ ‫پس‬Save_date‫ذخیره‬ ‫آماده‬ ‫را‬ ‫حافظه‬ ‫کارت‬ ‫تا‬ ‫کنیم‬ ‫می‬ ‫فراخوانی‬ ‫را‬ ‫دستور‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫سپس‬ .‫کند‬ ‫اطالعات‬open‫مد‬ ‫در‬ ‫تکست‬ ‫فایل‬ ‫یک‬ ،output‫تا‬ ‫نموده‬ ‫ایجاد‬‫فایل‬ ‫اولیه‬ ‫خطوط‬ . ‫کنیم‬ ‫آماده‬ ‫را‬ ‫آن‬ ‫و‬ ‫نوشته‬ ‫آن‬ ‫در‬ ‫را‬ ‫واحد‬ ‫از‬ ، ‫شویم‬ ‫می‬ ‫برنامه‬ ‫اصلی‬ ‫ی‬ ‫حلقه‬ ‫وارد‬ ، ‫سپس‬ADC‫روی‬ ‫بر‬ ‫ساعت‬ ‫با‬ ‫همراه‬ ‫و‬ ‫خوانده‬ ‫را‬ ‫دما‬ ‫مقدار‬LCD‫نمایش‬ ‫صفر‬ ‫به‬ ‫وقتی‬ ‫و‬ ‫کند‬ ‫می‬ ‫پیدا‬ ‫کاهش‬ ‫بار‬ ‫هر‬ ‫اولیه‬ ‫مقدار‬ ‫یک‬ ‫با‬ ‫که‬ ‫کرده‬ ‫تعریف‬ ‫متغیر‬ ‫یک‬ ‫ما‬ ‫حلقه‬ ‫این‬ ‫در‬ ، ‫دهیم‬ ‫می‬ ‫هر‬ ‫فرآیند‬ ‫این‬ ، ‫میکند‬ ‫ذخیره‬ ‫تاریخ‬ ‫و‬ ‫ساعت‬ ‫با‬ ‫همراه‬ ‫را‬ ‫دما‬ ‫و‬ ‫رفته‬ ‫اطالعات‬ ‫ذخیره‬ ‫قسمت‬ ‫به‬ ‫برنامه‬ ‫برسد‬3‫ثانیه‬ .‫افتد‬ ‫می‬ ‫اتفاق‬ ‫بار‬ ‫یک‬
  • 15. ‫های‬ ‫فایل‬ ‫در‬ ‫را‬ ‫اطالعات‬ ‫قسمت‬ ‫این‬ ‫در‬ : ‫اطالعات‬ ‫ذخیره‬ ‫برنامه‬ ‫زیر‬TXT‫و‬XLSX، ‫کنیم‬ ‫می‬ ‫ذخیره‬ )‫اکسل‬ ‫(فایل‬ ‫مد‬ ‫در‬ ‫را‬ ‫آن‬ ‫فایل‬ ‫ایجاد‬ ‫برای‬ ‫اول‬ ‫بار‬ ‫که‬ ‫داشت‬ ‫توجه‬ ‫باید‬output‫برای‬ ‫سپس‬ ‫میکنیم‬ ‫ذخیره‬ ‫را‬ ‫اطالعات‬ ‫و‬ ‫کرده‬ ‫باز‬ ‫م‬ ‫که‬ ‫بعد‬ ‫دفعات‬‫مد‬ ‫در‬ ‫باید‬ ‫بنویسیم‬ ‫را‬ ‫اطالعات‬ ‫فایل‬ ‫آن‬ ‫ادامه‬ ‫در‬ ‫خواهیم‬ ‫ی‬Append‫مد‬ ‫اگر‬ ‫که‬ ‫چرا‬ ‫شوند‬ ‫باز‬ output‫اطالعات‬ ‫نوشتن‬ ‫از‬ ‫پس‬ ‫که‬ ‫داشت‬ ‫توجه‬ ‫باید‬ ‫نیز‬ ‫و‬ ‫شوند‬ ‫می‬ ‫قدیمی‬ ‫اطالعات‬ ‫جایگزین‬ ‫جدید‬ ‫اطالعات‬ ‫باشد‬ ‫را‬ ‫فایل‬ ‫باید‬ ‫حتما‬ ‫ذخیره‬ ‫برای‬ ‫فایل‬ ‫در‬close. ‫کرد‬
  • 16. ‫دریافت‬ ‫برنامه‬ ‫زیر‬( ‫پیامک‬ ‫ارسال‬ ‫و‬GSM: ) ‫ماژول‬ ‫طریق‬ ‫از‬ ‫پیامک‬ ‫دریافت‬ ‫از‬ ‫پس‬sim808l‫وقفه‬ ‫توسط‬ ‫برنامه‬0‫این‬ ‫در‬ ، ‫شود‬ ‫می‬ ‫هدایت‬ ‫برنامه‬ ‫قسمت‬ ‫این‬ ‫به‬ ‫قسمت‬ ‫سپس‬ ‫و‬ ‫دهد‬ ‫می‬ ‫ای‬ ‫ثانیه‬ ‫یک‬ ‫هشدار‬ ‫یک‬ ‫بازر‬ ، ‫پیامک‬ ‫دریافت‬ ‫با‬ ‫قسمت‬Red2‫متن‬ ‫تا‬ ‫کرده‬ ‫فراخوانی‬ ‫را‬ ‫روی‬ ‫پیامک‬ ‫متن‬ ‫سپس‬ .‫کنیم‬ ‫استخراج‬ ‫را‬ ‫پیامک‬LCD‫که‬ ‫است‬ ‫شده‬ ‫تعریف‬ ‫گونه‬ ‫این‬ ‫برنامه‬ ، ‫شود‬ ‫می‬ ‫داده‬ ‫نمایش‬ ‫حرف‬ ‫پیامک‬ ‫متن‬ ‫اگر‬T‫ارسال‬ ‫شده‬ ‫تعریف‬ ‫شماره‬ ‫به‬ ‫پیامک‬ ‫صورت‬ ‫به‬ ‫را‬ ‫شده‬ ‫ثبت‬ ‫دمای‬ ‫مقدار‬ ‫آخرین‬ ‫میکرو‬ ، ‫باشد‬
  • 17. ‫حاوی‬ ‫پیامک‬ ‫متن‬ ‫اگر‬ ‫همچنین‬ .‫میکند‬‫حرف‬L‫ماژول‬ ‫به‬ ‫دستور‬ ‫چند‬ ، ‫باشد‬Sim808l‫تا‬ ‫شده‬ ‫ارسال‬GPS‫فعال‬ ‫را‬ ‫نقطه‬ ‫کردن‬ ‫پیدا‬ ‫پس‬ ، ‫کند‬FIX‫و‬ ‫وتاریخ‬ ‫زمان‬ ، ‫ارتفاع‬ ‫سطح‬ ، ‫جغرافیایی‬ ‫طول‬ ‫و‬ ‫عرض‬ ‫شامل‬ ‫که‬ ‫مکانی‬ ‫موقعیت‬ ، ‫دریافت‬ ‫پیام‬ ‫از‬ ‫اضافی‬ ‫های‬ ‫رشته‬ ‫حذف‬ ‫و‬ ‫فیلتر‬ ‫پس‬ ، ‫کند‬ ‫می‬ ‫ارسال‬ ‫میکرو‬ ‫به‬ ‫را‬ ‫دیگر‬ ‫اطالعات‬ ‫چندین‬، ‫شده‬ .‫خورد‬ ‫می‬ ‫بازگشت‬ ‫اصلی‬ ‫حلقه‬ ‫به‬ ‫برنامه‬ ‫و‬ ‫شود‬ ‫می‬ ‫ارسال‬ ‫شده‬ ‫تعیین‬ ‫شماره‬ ‫به‬ ‫مکانی‬ ‫موقعیت‬ ‫ماژول‬ ‫اتصال‬ ‫نحوه‬MMC CARD: ‫میکرو‬ ‫به‬
  • 18. ‫ماژول‬ ‫اتصال‬ ‫نحوه‬SIM808L: ‫میکرو‬ ‫به‬ : ‫است‬ ‫ذکر‬ ‫به‬ ‫الزم‬ ‫پروژه‬ ‫عملی‬ ‫انجام‬ ‫در‬ ‫که‬ ‫نکاتی‬ 1.‫ماژول‬ ‫و‬ ‫میکرو‬ ‫کاری‬ ‫فرکانس‬ ‫اینکه‬ ‫برای‬sim808l‫خارجی‬ ‫کریستال‬ ‫باید‬ ، ‫باشند‬ ‫یکسان‬ ‫هم‬ ‫با‬ 11059200 HZ‫از‬ ‫نامشخصی‬ ‫های‬ ‫پیام‬ ‫صورت‬ ‫این‬ ‫غیر‬ ‫در‬ .‫کرد‬ ‫استفاده‬sim808l‫خواهیم‬ .‫داشت‬ 2.‫همچنین‬‫در‬‫پیا‬ ‫ایجاد‬ ‫برای‬ ‫نیز‬ ‫سازی‬ ‫شبیه‬ ‫فایل‬‫م‬‫فرکانس‬ ‫از‬ ‫باید‬ ‫مشخص‬ ‫های‬HZ0000000 ‫در‬ ‫دلیل‬ ‫همین‬ ‫به‬ .‫کرد‬ ‫استفاده‬‫فایل‬ ‫یک‬ ‫و‬ ‫بسکام‬ ‫فایل‬ ‫یک‬ ، ‫مربوطه‬ ‫برنامه‬ ‫پوشه‬HEX‫اسم‬ ‫به‬ temptest1‫اجرا‬ ‫درستی‬ ‫به‬ ‫سازی‬ ‫شبیه‬ ‫فایل‬ ‫تا‬ ‫ایم‬ ‫داده‬ ‫قرار‬.‫شود‬ 3.‫ماژول‬sim808l‫سه‬ ‫دارای‬LED، ‫باشد‬ ‫می‬LED‫برای‬ ‫قرمز‬power‫و‬LED‫در‬ ‫؛‬ ‫رنگ‬ ‫آبی‬ ‫و‬ ‫سبز‬ ‫شبکه‬ ‫به‬ ‫که‬ ‫زمانی‬ ‫تا‬ ‫شروع‬ ‫هنگام‬gsm‫است‬ ‫نشده‬ ‫متصل‬LED‫هر‬ ‫رنگ‬ ‫آبی‬ms000‫بار‬ ‫یک‬ ‫شبکه‬ ‫به‬ ‫شدن‬ ‫متصل‬ ‫محض‬ ‫به‬ ‫و‬ ‫میزند‬ ‫چشمک‬s3.‫میزند‬ ‫چشمک‬ ‫بار‬ ‫یک‬ 4.‫ماژول‬ ‫تغذیه‬sim808l‫منبع‬ ‫یک‬ ‫باید‬v5-v4.3،A2‫به‬ ‫شدن‬ ‫وصل‬ ‫برای‬ ‫زیرا‬ ، ‫باشد‬ ‫حدود‬ ‫تا‬ ‫جریانی‬ ‫شبکه‬2‫حدود‬ ‫جریانی‬ ‫معمول‬ ‫حالت‬ ‫در‬ .‫دارد‬ ‫نیاز‬ ‫آمپر‬0.1‫تا‬0.2‫از‬ ‫آمپر‬ .‫کشد‬ ‫می‬ ‫منبع‬
  • 19. ‫خازن‬ ‫یک‬ ‫میتوان‬ ‫مدار‬ ‫در‬ ‫توان‬ ‫افت‬ ‫جبران‬ ‫برای‬ ‫منظور‬ ‫همین‬ ‫به‬uF3300‫ماژول‬ ‫تغذیه‬ ‫با‬ sim808.‫کرد‬ ‫موازی‬ 5.‫د‬‫ش‬ ‫قسمت‬ ‫ر‬‫روی‬ ‫بر‬ ‫شده‬ ‫ذخیره‬ ‫های‬ ‫فایل‬ ‫مشاهده‬ ‫برای‬ ‫سازی‬ ‫بیه‬MMC‫افزار‬ ‫نرم‬ ‫از‬ ‫باید‬ ، win Image.‫کرد‬ ‫استفاده‬ 6.‫برنامه‬avr_dos‫تا‬ ‫تواند‬ ‫می‬GB0‫های‬ ‫ثابت‬ ‫در‬ ‫تغییراتی‬ ‫که‬ ‫است‬ ‫الزم‬ ‫فقط‬ ‫کند‬ ‫ساپورت‬ ‫را‬ ‫رم‬ ‫رم‬ ‫برای‬ ‫را‬ ‫برنامه‬ ‫این‬ ‫ما‬ .‫شود‬ ‫ایجاد‬ ‫برنامه‬ ‫این‬GB1.‫ایم‬ ‫کرده‬ ‫تنظیم‬ «‫پایان‬»