21
١ www.Ir-Micro.com

Ir Micro.com,Serial,Hm t r

Embed Size (px)

Citation preview

Page 1: Ir Micro.com,Serial,Hm t r

١

www.Ir-Micro.com

Page 2: Ir Micro.com,Serial,Hm t r

٢

:UART  اليپورت سر

وارد از حالت ي مي و سخت افزار يال در دو حالت نرم افزار يارتباط سر ر م يسـخت افـزار باشد که در اکث

امـا منطـق ، شده است يوتر طراح ي ارتباط با کامپ يشتر برا ين ارتباط ب يا . شود ياستفاده م

. ولت است ۵ يعني TTLآن

ارتبـاط دو ين منظور در نظر گرفته شده است که بـرا ي ايکرو براي در مRX و  TX ين هايپ

کرو دوم را بـه يماز TXکرو دوم داده و يماز  RXکرو اول را به يماز TX ،گريکديکرو با يم

RX د از يـ وتر با يکـرو بـه کـامپ يال م ي اتصـال سـر ي برا يول. م ي ده يکرو اول اتصال م يماز

يرا همان طور کـه مـ ي استفاده کرد ز MAX233ا ي MAX232ل سطح مانند ي تبد يتراشه ها

. باشـد ي م15+ و  15‐ن ي بRS232 باشد اما در ي ولت مTTL 5د سطح ولتاژ در منطق يدان

. دهند ي ما انجام مي را برا سطحلين تبدي ها اي سين آين ايبنابرا

: دهد يوتر را نشان ميکرو با کامپي ارتباط مير مدار عمليشکل ز

www.Ir-Micro.com

که يطيمح. د يوتر اطالعات را رد و بدل کن يکرو و کامپ يان م يد م ي توان ي م يراحتبا مدار باال ب

نـرم افـزار TERMINAL EMOLATORوتر مشـاهده کـرد يتوان اطالعات را در کامپيم

BASCOM د بعـد از بـاز کـردن نـرم افـزار ي توان ي باشد که م ي مBASCOM بـا گـرفتن

Page 3: Ir Micro.com,Serial,Hm t r

٣

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نه يال خود را از گزي باز شده شماره پورت سرينه هايدر گز

Page 4: Ir Micro.com,Serial,Hm t r

۴

زان يد مي باشد که باي م baud rate مقدار terminal emulatorمات ي تنظنه بعد دريگز

baud rate زان يکرو با مي مbaud rateزان يکرو مي اگر در ميعني باشد يکين نرم افزار ي ا

baud د ي قرار ده9600 ين مقدار را رويد در نرم افزار هم اي قرار داده ا9600 را برابر.

www.Ir-Micro.com

Page 5: Ir Micro.com,Serial,Hm t r

۵

د ي توانيد حاال مي را فشار ده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ر يد متغي توانين دستور ميتوسط ا

.د يکن

Page 6: Ir Micro.com,Serial,Hm t r

۶

Value = WAITKEY ()

ر يافت کند و درون متغيا عدد را دريرشته ، ال داده ي تواند از پورت سرين دستور ميا

value افت نکند برنامه را در همان خط متوقف ي را درياراکترن دستور تا کي قرار دهد اما ا

. کند يم

Value = INKEY ()

ل کرده و در ي تبديال را به کد اسکيافت شده از پورت سرين کاراکتر درين دستور اوليا

. کند ين دستور برنامه را متوقف نميا. دهد ي قرار م valueر يمتغ

INPUT value

.د يافت کنيتا را دريال ديز پورت سرد اي توانين دستور ميبا ا

ال ي سريم با ماژول هاي توانيم ميدا کرديکرو پيال مي در مورد پورت سري حال که اطالعات

.م يم انتقال دهي سي مورد نظر را به صورت بيتاي دين دستورات براحتيم و با ايکار کن

www.Ir-Micro.com

Page 7: Ir Micro.com,Serial,Hm t r

٧

: HMR و HMT ماژول

اطالعات را با آن تا ي توان به راحتي باشد که ميال ميرنده سريک فرستنده و گين ماژول يا

۹۶۰۰ش فرض ي در حالت پBAUD RATEن ماژول ي ايبرا. انتقال داد ي متر۲۰۰فاصله

: که دارای شکل ظاهری زير می باشند قرار داده شده است

HMT فرستنده HMR ده رنيگ

. باشدي م 9600bpsن ماژول ها يمم سرعت انتقال اطالعات در ايماکز

باشد ي ماژول مي شده است که نشانگر فرکانس کارقرار داده يدر پشت ماژول ها جدول

رنده توجه کرد ي ماژول فرستنده و گي بودن فرکانس هايکيد به يد باين در هنگام خريبنابرا

د در جدول ي عالمت زده شده بود با 915 يال اگر در جدول ماژول فرستنده روبرومث .

. عالمت زده شده باشد 915 يرنده هم جلويماژول گ

.م ي زني مين راستا مثاليم و در اي پردازين ماژول و نحوه کار با آن ميح ايحال به تشر

: HM-T ماژول فرستنده

www.Ir-Micro.com

ه اول ي باشد که پايه مي پا۳ ين ماژول دارايد اي کنير مشاهده ميهمان طور که در شکل ز

چ ين ماژول اگرهيدر ا. باشد يه مين تغذيه سوم زميتا و پاي ديه دوم وروديه ، پايولتاژ تغذ

ک به مد ين ماژول به طور اتوماتيه وارد نشود اي ثانيلي م70 مدت ي براdataن ي به پييتايد

standby خواهد رفت .

Page 8: Ir Micro.com,Serial,Hm t r

٨

: hm-t , hm-rبا ) متن ( text افت يو در ارسال ‐1مثال

ولت گرفته ۵ک رگوالتور ي ولت که از ۵ه را به ولتاژ يه تغذيد پاين ماژول باي کار با ايبرا

TXه يه وسط را هم به پايپا. م ين مدار اتصال دهيه سوم را به زميم و پاي شود بدهيم

) (MEGA8کروکنترلر يآن را به منجا يکه ما در ا. م يکرو کنترلر فرستنده متصل کنيم

.م ي کنيمتصل م

ن ي ايبرا.م يگر بفرستي ديم به جاي سيک متن را به صورت بيم ي خواهيد ميحال فرض کن

.م ي فرستين متن را مير اي زيسيکار به روش برنامه نو

www.Ir-Micro.com

"regfile="m8def.dat$ کرو ين نوع مييتع

Page 9: Ir Micro.com,Serial,Hm t r

٩

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

Page 10: Ir Micro.com,Serial,Hm t r

١٠

يم و آن را بر رويافت کنيکرو فرستنده را دريم متن فرستاده شده توسط مي خواهيحال م

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 شيپاک کردن صفحه نما

Page 11: Ir Micro.com,Serial,Hm t r

١١

DO

INPUT receive_dataکرو ي مRX يتا از وروديافت ديدر

Homeسطر اول و ستون اول

Lcd receive_data يافتي دريتايش دينما

Loop

End

رنـده را ي کـه گ ين است که در هنگـام ين مشکل ا ي وجود دارد و ا يک مشکل اصل يالبته هنوز

ن مشـکل يـ حـل ا ي دهد کـه بـرا يش م ي نما lcd ي را رو ي نامفهوم يتا ها يم د ي کن يروشن م

.رد ي گي قرار مي باشد که در ادامه مورد بررسي مي وجود دارد که روش کد گذاريروش

www.Ir-Micro.com

Page 12: Ir Micro.com,Serial,Hm t r

١٢

:ي اطالعات ارسالي بر رويکد گذار

م اطالعـات ي خـواه ي که نم يا مواقع ي شد يکيش از يرنده ها ب ي که تعداد فرستنده و گ يهنگام

ت يم اطالعات خود را با امن يافت و از آن استفاده شود و بتوان ي در يگريما توسط اشخاص د

.مي کني استفاده ميرسال ايتاي دي بر رويوه کدگذاريم از شيرنده برسانيبه گ

 

:يانواع کد گذار

 ارسال کد به صورت جدا از اطالعات ‐۱

 ارسال کد درون اطالعات ‐۲

  تو در تويکد گذار ‐۳

  دو طرفهيکد گذار ‐۴

  روش ارسال اطالعات بر حسب يکد گذار ‐۵

  ي زمانيکد گذار ‐۶

...و

.م داد ي و قابل فهم بودن روش اول را شرح خواهيل سادگينجا به دليکه در ا

:م ي کنير عمل مي به روش زي کد گذاريبرا

www.Ir-Micro.com

باشد اگر يه به عنوان رمز ميت اولين بايم اي کنيرنده ارسال مي گيت را برايک بايابتدا

افت يافت کرد ادامه اطالعات را دري باشد را دري ما ميتي که کد امنييت ابتداين بايرنده ايگ

ش ين سوال پيحال ا. کند يافت نميعات را درافت نکرد ادامه اطالين کد را درياگر ا. کند يم

ست ين طور نياما ا. افت کنند ين اطالعات را دري توانند ايز ميگر ني ديرنده هايد که گي آيم

افت ي فرستنده ما دري ارسالير از کدهاي غييگر اطالعات را به صورت کدهاي ديرنده هايگ

.ستند يح نيافت اطالعات صحي کنند و قادر به دريم

Page 13: Ir Micro.com,Serial,Hm t r

١٣

افت کرد ي را در1رنده عدد ياگر گ. م ي کنيرنده ارسال مي گي را برا1نجا عدد يال ما در امث

بود ادامه يگريا کد عدد ديافت نکرد ي را در1 اگر عدد ي کند وليافت ميادامه اطالعات را در

. کند يافت نمياطالعات را در

.د يشتر آشنا شوين روش بيم تا با اي زني مي ساده ايحال مثال

ين عدد اطالعات محرمانه ما است و نميم و اي را ارسال کن200م عدد ي خواهيد ميرض کنف

.م ي کنير عمل مين کار به روش زي ايبرا. افت کند ين عدد را دري ايگريم شخص ديخواه

د ي ببندHMTر را با ماژول يمدار فرستنده ز.م ي بندي مدار فرستنده را را مطابق قبل م‐مثال

.

 

www.Ir-Micro.com

Page 14: Ir Micro.com,Serial,Hm t r

١۴

:امه فرستنده برن

 $"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

Page 15: Ir Micro.com,Serial,Hm t r

١۵

:رنده يگ

:رنده يبرنامه گ

 $"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 دن کدي رسيانتظار برا

Page 16: Ir Micro.com,Serial,Hm t r

١۶

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

الي سريارسال صوت با ماژول ها

Page 17: Ir Micro.com,Serial,Hm t r

١٧

:  HMT , HMR ي ماژول هايمثال برا

 

HMT , HMR يانتقال مقدار ولتاژ با ماژول ها

م يسيک منبع ولتاژ گرفته و آن را به صورت بيد مقدار ولتاژ را از ي توانين پروژه شما ميدر ا

توان مقدار آن را تا ي باشد که مي ولت م5تا 0 يولتاژ ارسالمقدار نجا يکه در ا. د يتقال دهان

ک ي توسط ولت را5ن کار ولتاژ ي ايبرا. د ين تر آورييا پايد باال يهر اندازه که بخواه

سپس مقدار ولتاژ .م ي دهيکرو فرستنده ميتال ميجي آنالوگ به دي ساده به ورودومتريپتانس

.م ي کني ارسال مHMTال و ماژول ي توسط ارتباط سر کرده و آن رايرياندازه گرا

"regfile="m8def.dat$ کروين نوع مييتع

crystal=8000000$ ستالين کرييتع

www.Ir-Micro.com

baud=9600$ ت سرعت انتقال اطالعاتييتع

Page 18: Ir Micro.com,Serial,Hm t r

١٨

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

Page 19: Ir Micro.com,Serial,Hm t r

١٩

:رنده يمدار گ

م و آن را بر يافت کنيکرو فرستنده را دري فرستاده شده توسط مريمقادم ي خواهيحال م

افت ين متن را درير اي زيسين کار به روش برنامه نوي ايم که برايش دهيشگر نماي نمايرو

.م ي کنيم

"regfile="m8def.dat$ کرويمن نوع ييتع

crystal=8000000$ ستالين کرييتع

www.Ir-Micro.com

baud=9600$ ن سرعت انتقال اطالعاتييتع

Page 20: Ir Micro.com,Serial,Hm t r

٢٠

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

Page 21: Ir Micro.com,Serial,Hm t r

٢١

مطرح com.micro-ir.wwwت يدر انجمن مخابرات سامی توانيد سواالت خود را

.د يکن

HMT , HMRال ي سريتا با ماژول هايمدارت انتقال د » يرده بند

انيد عليسع: ه کننده يته

com._b@yahoo741rfbook_

com.@yahoo12hoperf_

ir-microت ي سايبا همکار

.د ير مراجعه کنيد به وبالگ زي تواني اجرا شده ميدن پروژه ها و طرح هاي ديبرا

com.blogfa.2tablooravan.www

www.Ir-Micro.com