Upload
mohamad-yazdani
View
295
Download
11
Embed Size (px)
Citation preview
١
www.Ir-Micro.com
٢
:UART اليپورت سر
وارد از حالت ي مي و سخت افزار يال در دو حالت نرم افزار يارتباط سر ر م يسـخت افـزار باشد که در اکث
امـا منطـق ، شده است يوتر طراح ي ارتباط با کامپ يشتر برا ين ارتباط ب يا . شود ياستفاده م
. ولت است ۵ يعني TTLآن
ارتبـاط دو ين منظور در نظر گرفته شده است که بـرا ي ايکرو براي در مRX و TX ين هايپ
کرو دوم را بـه يماز TXکرو دوم داده و يماز RXکرو اول را به يماز TX ،گريکديکرو با يم
RX د از يـ وتر با يکـرو بـه کـامپ يال م ي اتصـال سـر ي برا يول. م ي ده يکرو اول اتصال م يماز
يرا همان طور کـه مـ ي استفاده کرد ز MAX233ا ي MAX232ل سطح مانند ي تبد يتراشه ها
. باشـد ي م15+ و 15‐ن ي بRS232 باشد اما در ي ولت مTTL 5د سطح ولتاژ در منطق يدان
. دهند ي ما انجام مي را برا سطحلين تبدي ها اي سين آين ايبنابرا
: دهد يوتر را نشان ميکرو با کامپي ارتباط مير مدار عمليشکل ز
www.Ir-Micro.com
که يطيمح. د يوتر اطالعات را رد و بدل کن يکرو و کامپ يان م يد م ي توان ي م يراحتبا مدار باال ب
نـرم افـزار TERMINAL EMOLATORوتر مشـاهده کـرد يتوان اطالعات را در کامپيم
BASCOM د بعـد از بـاز کـردن نـرم افـزار ي توان ي باشد که م ي مBASCOM بـا گـرفتن
٣
CTRL + T ن ي بـ يد و اتصـال يط را باز کردين محي ا کهيدر صورت.د يط را باز کنين محي ا
ش ي صفحه نماي روCould not Open COM1غام يوتر و مدار وجود نداشته باشد پيکامپ
. شود يداده م
ان يـ مات مربـوط بـه آن را انجـام داد تـا بتـوان ارتبـاط م يد تنظيط باين محي ارتباط با ا يبرا
ــامپ يم ــرو و ک ــرد يک ــرار ک ــرا. وتر را برق ــام تنيب ــ يظ انج ــات ، مح TERMINALط يم
EMOLATOR ي منـو يد و رويـ را بـاز کن Terminal نـه يک کـرده و گز يـ کلSetting را
ن پنجـره شـماره ي شود در اي باز م bascom – avr options با نام يپنجره ا. د يک کنيکل
د از يـ توان يال را مـ يشماره پـورت سـر . م ي کن ي نرم افزار مشخص م يال را برا يپورت سر
.د ير مشاهده کنيزآدرس
www.Ir-Micro.com
با يپنجره ا. د يک کني را کلmanageنه يد سپس گزيک راست کني کلmy computer يرو
. د يک کني کلdevice manager ي شود حال بر روي باز م computer managementنام
.د يني ببportsنه يال خود را از گزي باز شده شماره پورت سرينه هايدر گز
۴
زان يد مي باشد که باي م baud rate مقدار terminal emulatorمات ي تنظنه بعد دريگز
baud rate زان يکرو با مي مbaud rateزان يکرو مي اگر در ميعني باشد يکين نرم افزار ي ا
baud د ي قرار ده9600 ين مقدار را رويد در نرم افزار هم اي قرار داده ا9600 را برابر.
www.Ir-Micro.com
۵
د ي توانيد حاال مي را فشار دهokحال . د ي بگذارير باقييم بدون تغ را هي بعدينه هايگز
. د ي را بزن upload fileنه ي گز file يوتر متصل کرده و از منويسخت افزار خود را به کامپ
.د ين نرم افزار مشاهده کنيد اطالعات خود را در اي توانين لحظه ميدر ا
از آنها يکي ن اطالعات را مشاهده کرد کهي توان اي ميادي زيالبته توسط نرم افزار ها
hyper terminalد نحوه برنامه يباکه ... نگ و يتوري ماني باشد و نرم افزار هايندوز مي و
د اطالعات خود را به صورت ينا توي در عوض ميد وليرين نرم افزارها را فرا بگي ايسينو
labview و visual basic 6 ها ن نرم افزاريا.د يا به شکل دلخواه مشاهده کني و يکيگراف
.م ي پردازين نرم افزار ها و نحوه کار با آنها مي به آموزش اي بعدمقاالت باشند که در يم
:ي سخت افزارuart مربوط به ارتباطيدستور ها
$baud = x
کـرو و ي م يعنـ يد در دو طـرف ي باشد که با ين دستور مربوط به سرعت انتقال اطالعات م يا
.ر باشد ي تواند اعداد زي مx گذاشته شود مقدار ير مساووتيکامپ
1200 – 2400 – 4800 – 9600 – 19200 – 28800 – 38400 – 57600 – 115200
Print value
Print "-----"
تـوان بـه پـورت ين دسـتور مـ ي با ايعني کند يال ارسال ميتا را به پورت سر ين دستور د يا
.م ي هر دو را بفرستايا عدد و يال داده رشته يسر
PRINTBIN value
www.Ir-Micro.com
ال ارسال ي به پورت سرينري را به صورت با valueر يد متغي توانين دستور ميتوسط ا
.د يکن
۶
Value = WAITKEY ()
ر يافت کند و درون متغيا عدد را دريرشته ، ال داده ي تواند از پورت سرين دستور ميا
value افت نکند برنامه را در همان خط متوقف ي را درياراکترن دستور تا کي قرار دهد اما ا
. کند يم
Value = INKEY ()
ل کرده و در ي تبديال را به کد اسکيافت شده از پورت سرين کاراکتر درين دستور اوليا
. کند ين دستور برنامه را متوقف نميا. دهد ي قرار م valueر يمتغ
INPUT value
.د يافت کنيتا را دريال ديز پورت سرد اي توانين دستور ميبا ا
ال ي سريم با ماژول هاي توانيم ميدا کرديکرو پيال مي در مورد پورت سري حال که اطالعات
.م يم انتقال دهي سي مورد نظر را به صورت بيتاي دين دستورات براحتيم و با ايکار کن
www.Ir-Micro.com
٧
: HMR و HMT ماژول
اطالعات را با آن تا ي توان به راحتي باشد که ميال ميرنده سريک فرستنده و گين ماژول يا
۹۶۰۰ش فرض ي در حالت پBAUD RATEن ماژول ي ايبرا. انتقال داد ي متر۲۰۰فاصله
: که دارای شکل ظاهری زير می باشند قرار داده شده است
HMT فرستنده HMR ده رنيگ
. باشدي م 9600bpsن ماژول ها يمم سرعت انتقال اطالعات در ايماکز
باشد ي ماژول مي شده است که نشانگر فرکانس کارقرار داده يدر پشت ماژول ها جدول
رنده توجه کرد ي ماژول فرستنده و گي بودن فرکانس هايکيد به يد باين در هنگام خريبنابرا
د در جدول ي عالمت زده شده بود با 915 يال اگر در جدول ماژول فرستنده روبرومث .
. عالمت زده شده باشد 915 يرنده هم جلويماژول گ
.م ي زني مين راستا مثاليم و در اي پردازين ماژول و نحوه کار با آن ميح ايحال به تشر
: HM-T ماژول فرستنده
www.Ir-Micro.com
ه اول ي باشد که پايه مي پا۳ ين ماژول دارايد اي کنير مشاهده ميهمان طور که در شکل ز
چ ين ماژول اگرهيدر ا. باشد يه مين تغذيه سوم زميتا و پاي ديه دوم وروديه ، پايولتاژ تغذ
ک به مد ين ماژول به طور اتوماتيه وارد نشود اي ثانيلي م70 مدت ي براdataن ي به پييتايد
standby خواهد رفت .
٨
: hm-t , hm-rبا ) متن ( text افت يو در ارسال ‐1مثال
ولت گرفته ۵ک رگوالتور ي ولت که از ۵ه را به ولتاژ يه تغذيد پاين ماژول باي کار با ايبرا
TXه يه وسط را هم به پايپا. م ين مدار اتصال دهيه سوم را به زميم و پاي شود بدهيم
) (MEGA8کروکنترلر يآن را به منجا يکه ما در ا. م يکرو کنترلر فرستنده متصل کنيم
.م ي کنيمتصل م
ن ي ايبرا.م يگر بفرستي ديم به جاي سيک متن را به صورت بيم ي خواهيد ميحال فرض کن
.م ي فرستين متن را مير اي زيسيکار به روش برنامه نو
www.Ir-Micro.com
"regfile="m8def.dat$ کرو ين نوع مييتع
٩
crystal=8000000$ ستالين کرييتع
baud=9600$ ن سرعت انتقال اطالعاتييتع
Dim send_data as string * 10 کاراکتر 10 با طول ير از نوع رشته عدديمتغ
Send_data = "salam" مي گذارير متن دلخواه را مي متغيبه جا
Do
Print send_data که در آن متن مورد نظر قرار داده شده يريفرستادن متغ
Waitms 75 ه ي ثانيلي م۷۵ به مدت ير زمانيتاخ
Loop
End
. شوديه فرستاده مي ثانيلي م۷۵ هر send_data ريدر برنامه باال متغ
.م ي رويرنده ميز نوشته شد به سراغ گيحال که فرستنده ساخته شد و برنامه آن ن
HMR رندهيگ ماژول
ه ي باشد که پايه مي پا۴ يرنده داراين ماژول گيا
ه سوم يتا ، پايه دوم ديه ، پاياول ولتاژ تغذ
که EN ه فعال سازيه چهارم پايپاو ه ين تغذيزم
رود ي کنترل مصرف توان به کار ميه براين پايا
ن ماژول ي شود اي م0ه ين پاي که اي هنگاميعني
آن را به در حالت معمول يول. کند ي مصرف مي شده و توان کمتر SLEEP وارد مد
ه دوم را ي پا،ه يه اول را به ولتاژ تغذيز پايرنده ني مدار گي برا . کننديه متصل ميولتاژ تغذ
ه يز به ولتاژ تغذيه چهارم را ني و پان يه سوم را به زميرنده ، پايکروکنترلر گي مRXن ي پبه
:د ي کني مشاهده م زيررنده را دريکه مدار گ .م ي کنيمتصل م
www.Ir-Micro.com
١٠
يم و آن را بر رويافت کنيکرو فرستنده را دريم متن فرستاده شده توسط مي خواهيحال م
lcdم ي کنيافت مين متن را درير اي زيسين کار به روش برنامه نوي ايم که برايش دهي نما:
"regfile="m8def.dat$ کروين نوع مييتع
crystal=8000000$ ستالين کرييتع
baud=9600$ ن سرعت انتقال اطالعاتييعت
Dim receive_data as string * 10 ير از نوع رشته عددين متغييتع
CONFIG LCDPIN = PIN , DB4 = PORTB.2 , DB5 = PORTB.3 , DB6 = PORTB.4_ ,
LCD DB7 = PORTB.5 , RS = PORTB.0 , E = PORTB.1 يکر بنديپ
CONFIG LCD=16*2
www.Ir-Micro.com
CLS شيپاک کردن صفحه نما
١١
DO
INPUT receive_dataکرو ي مRX يتا از وروديافت ديدر
Homeسطر اول و ستون اول
Lcd receive_data يافتي دريتايش دينما
Loop
End
رنـده را ي کـه گ ين است که در هنگـام ين مشکل ا ي وجود دارد و ا يک مشکل اصل يالبته هنوز
ن مشـکل يـ حـل ا ي دهد کـه بـرا يش م ي نما lcd ي را رو ي نامفهوم يتا ها يم د ي کن يروشن م
.رد ي گي قرار مي باشد که در ادامه مورد بررسي مي وجود دارد که روش کد گذاريروش
www.Ir-Micro.com
١٢
:ي اطالعات ارسالي بر رويکد گذار
م اطالعـات ي خـواه ي که نم يا مواقع ي شد يکيش از يرنده ها ب ي که تعداد فرستنده و گ يهنگام
ت يم اطالعات خود را با امن يافت و از آن استفاده شود و بتوان ي در يگريما توسط اشخاص د
.مي کني استفاده ميرسال ايتاي دي بر رويوه کدگذاريم از شيرنده برسانيبه گ
:يانواع کد گذار
ارسال کد به صورت جدا از اطالعات ‐۱
ارسال کد درون اطالعات ‐۲
تو در تويکد گذار ‐۳
دو طرفهيکد گذار ‐۴
روش ارسال اطالعات بر حسب يکد گذار ‐۵
ي زمانيکد گذار ‐۶
...و
.م داد ي و قابل فهم بودن روش اول را شرح خواهيل سادگينجا به دليکه در ا
:م ي کنير عمل مي به روش زي کد گذاريبرا
www.Ir-Micro.com
باشد اگر يه به عنوان رمز ميت اولين بايم اي کنيرنده ارسال مي گيت را برايک بايابتدا
افت يافت کرد ادامه اطالعات را دري باشد را دري ما ميتي که کد امنييت ابتداين بايرنده ايگ
ش ين سوال پيحال ا. کند يافت نميعات را درافت نکرد ادامه اطالين کد را درياگر ا. کند يم
ست ين طور نياما ا. افت کنند ين اطالعات را دري توانند ايز ميگر ني ديرنده هايد که گي آيم
افت ي فرستنده ما دري ارسالير از کدهاي غييگر اطالعات را به صورت کدهاي ديرنده هايگ
.ستند يح نيافت اطالعات صحي کنند و قادر به دريم
١٣
افت کرد ي را در1رنده عدد ياگر گ. م ي کنيرنده ارسال مي گي را برا1نجا عدد يال ما در امث
بود ادامه يگريا کد عدد ديافت نکرد ي را در1 اگر عدد ي کند وليافت ميادامه اطالعات را در
. کند يافت نمياطالعات را در
.د يشتر آشنا شوين روش بيم تا با اي زني مي ساده ايحال مثال
ين عدد اطالعات محرمانه ما است و نميم و اي را ارسال کن200م عدد ي خواهيد ميرض کنف
.م ي کنير عمل مين کار به روش زي ايبرا. افت کند ين عدد را دري ايگريم شخص ديخواه
د ي ببندHMTر را با ماژول يمدار فرستنده ز.م ي بندي مدار فرستنده را را مطابق قبل م‐مثال
.
www.Ir-Micro.com
١۴
:امه فرستنده برن
$"regfile = "m8def.dat کروينوع م
crystal = 8000000$ ستاليکر
Dim A As Byte , Code As Byte ر هاييف متغيتعر
A = 200 اطالعات
code = 1 يکد ارسال
Do ت تکرارينهايشروع حلقه ب
Printbin Code ارسال کد
Print A ارسال اطالعات
Waitms 75 ير زمانيتاخ
Loop
End
1 باشد و عدد ي قرار گرفته است اطالعات ما مAر ي که درون متغ200در برنامه باال عدد
رنده ي گي باشد که ابتدا کد براي ما مي قرار گرفته است کد حفاظتcodeر يکه درون متغ
ي مرنده ارسالي گي باشد براي م200نجا عدد ي شود و سپس اطالعات ما که در ايارسال م
ح ي تواند اطالعات را به صورت صحيافت کند مي را در1رنده کد ي که گيشود که در صورت
توسط يگريرنده دي کند و اگر گيافت نمين صورت اطالعات را درير ايافت کند و در غيدر
ن صورت اطالعات يافت کند در اي کنترل شود تا بخواهد اطالعات شما را دريگريشخص د
. رسد ي کند و اطالعات شما به دست او نميافت مي را درينامشخص
باشد که يد ميرنده در کنار هم داري که چند فرستنده و گيستم در مواردين سيکاربرد ا
. نمود يريبتوان از تداخل آنها جلوگ
www.Ir-Micro.com
١۵
:رنده يگ
:رنده يبرنامه گ
$"regfile = "m8def.dat کروينوع م
crystal = 8000000$ ستاليکر
,_Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4
Configي بند lcd Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0
Config Lcd = 16 * 2
Cursor Off lcd روی cursorخاموش کردن
Cls پاک کردن صفحه
Dim A As Byte , code As Byte ر هايف متغيتعر
Do ت تکرارينهايشروع حلقه ب
www.Ir-Micro.com
()code = Waitkey دن کدي رسيانتظار برا
١۶
If code = 1 Then بود1اگر کد برابر با
Input A افت اطالعاتيدر
If A <> "" Then اگر اطالعات وجود داشت
Home lcd ۱ و ستون ۱ سطر
Lcd A ش بدهينما LCD ياطالعات را رو
End If
End If
Loop
End
بـود سـپس 1 يافتيـ افت شود و اگر کـد در ي در codeم تا ي مان يدر برنامه باال ابتدا منتظر م
. شود يش داده نمي نمايعاتچ اطالي نبود ه 1 برابرcodeم و اگر ي کنيافت مياطالعات را در
افت يح درين اطالعات را صحيافت اطالعات ما را داشته باشد اي قصد دريحال اگر شخص
. کند يافت مي دري کند و اطالعات نامفهومينم
ن ماژول انتقال داد حاال که شما نحوه کار با ماژول را يتا را با اي توان ديم که ميدي ديبراحت
.د يتا را با آن منتقل کنيد هر نوع دين توايد ميده ايآموزش د
وتريد کامپيرلس کردن صفحه کليوا
ميسيک ساختمان به صورت بيا يان دو اتاق يپ ميتا
...ان و يانتقال مقدار دما ، ولتاژ ، جر
و بلعکسرنده يکرو گيوتر به ميانتقال اطالعات از کامپ
روان ي تابلو هايانتقال اطالعات بر رو
ت ينهاي کانال تا ب۱ ، کنترل از راه دور از يياير دريکنترل زکنترل ربات ،
www.Ir-Micro.com
الي سريارسال صوت با ماژول ها
١٧
: HMT , HMR ي ماژول هايمثال برا
HMT , HMR يانتقال مقدار ولتاژ با ماژول ها
م يسيک منبع ولتاژ گرفته و آن را به صورت بيد مقدار ولتاژ را از ي توانين پروژه شما ميدر ا
توان مقدار آن را تا ي باشد که مي ولت م5تا 0 يولتاژ ارسالمقدار نجا يکه در ا. د يتقال دهان
ک ي توسط ولت را5ن کار ولتاژ ي ايبرا. د ين تر آورييا پايد باال يهر اندازه که بخواه
سپس مقدار ولتاژ .م ي دهيکرو فرستنده ميتال ميجي آنالوگ به دي ساده به ورودومتريپتانس
.م ي کني ارسال مHMTال و ماژول ي توسط ارتباط سر کرده و آن رايرياندازه گرا
"regfile="m8def.dat$ کروين نوع مييتع
crystal=8000000$ ستالين کرييتع
www.Ir-Micro.com
baud=9600$ ت سرعت انتقال اطالعاتييتع
١٨
Dim volt as wordتال يجي آنالوگ به دي گرفتن مقدار از وردير برايمتغ
Dim volt_send as singleق ولتاژ ي مقدار دقيريل و اندازه گي تبدير برايمتغ
Dim data_send as string*10 ارسال کلمهير برايمتغ
Dim volt_st as string*10 فرستادن مقدار ولتاژ ير برايمتغ
Dim Code As Byte ارسال کدير برايمتغ
Config Adc = Single , Prescaler = Auto , Reference = Avcc
ADC يکر بنديپ
Start adc ADC شروع کار
"=Data_send = "voltageر يقرار دان متن درون متغ
Code = 4 باشدي م4ن پروژه يکد در ا
Do
Volt = getadc(0)تال يجي آنالوگ به ديگرفتن مقدار از ورود
Volt_send = volt / 204.6 ولت ۵ تا ۰ل مقدار گرفته شده به مقدار يتبد
Volt_st = fusing (volt_send , ”#.###” )
مي رقم اعشار گرد کرده ا۳ل کرده و تا ي تبديک رشته عددي مقدار ولتاژ را به
Printbin Code ارسال کد
Print Data_send ; Volt_st ولتاژ ارسال مقدار
Waitms 30
Loop
End
www.Ir-Micro.com
١٩
:رنده يمدار گ
م و آن را بر يافت کنيکرو فرستنده را دري فرستاده شده توسط مريمقادم ي خواهيحال م
افت ين متن را درير اي زيسين کار به روش برنامه نوي ايم که برايش دهيشگر نماي نمايرو
.م ي کنيم
"regfile="m8def.dat$ کرويمن نوع ييتع
crystal=8000000$ ستالين کرييتع
www.Ir-Micro.com
baud=9600$ ن سرعت انتقال اطالعاتييتع
٢٠
Dim receive_data as string * 15 ير از نوع رشته عددين متغييتع
Dim Code As Byte درسافت کدير برايمتغ
CONFIG LCDPIN = PIN , DB4 = PORTB.2 , DB5 = PORTB.3 , DB6 = PORTB.4_
,DB7 = PORTB.5 , RS = PORTB.0 , E = PORTB.1
LCD يکر بنديپ
CONFIG LCD=16*2
CLS شيپاک کردن صفحه نما
DO
Code = Waitkey() افت کد يدر
If Code = 4 Then بود4 يافتي که کد دريدر صورت
INPUT receive_dataکرو ي مRX يتا از وروديافت ديدر
Homeسطر اول و ستون اول
Lcd receive_data يافتي دريتايش دينما
End If
Loop
End
.د يخودتان تجربه کنرا HMR وHMT ي کاربا ماژول هايبرا. گر يد يپروژه ها
matlabانتقال صوت و ضبط با نرم افزار
وتريبرد کامپيرلس کردن کيوا
رواني تابلو هايانتقال اطالعات رو
مي سي بي ربات ها
www.Ir-Micro.com
٢١
مطرح com.micro-ir.wwwت يدر انجمن مخابرات سامی توانيد سواالت خود را
.د يکن
HMT , HMRال ي سريتا با ماژول هايمدارت انتقال د » يرده بند
انيد عليسع: ه کننده يته
com._b@yahoo741rfbook_
com.@yahoo12hoperf_
ir-microت ي سايبا همکار
.د ير مراجعه کنيد به وبالگ زي تواني اجرا شده ميدن پروژه ها و طرح هاي ديبرا
com.blogfa.2tablooravan.www
www.Ir-Micro.com