ارتباط سریال بین matlab و AVR

ROBOTICS

کاربر فعال مهندسی رباتیک
ارتباط سریال بین matlab و AVR
برنامه matlab :

(S = serial('COM1','BaudRate',9600,'DataBits',8
( fopen(S
( ' هر چی می خواین بفرستین',fprintf(S
( fclose(S​


برنامه AVR

regfile = "m8def.dat"$
$crystal = 4000000
baud = 9600$
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.5 , Db5 = Portc.4 , Db6 = Portc.3 , Db7 = Portc.2 , E = Portc.1 , Rs = Portc.0
Dim S As Byte
Do
Cls
()S = Inkey
Lcd S
Wait 1
Loo​
 

capitan4

عضو جدید
سلام. من با avr سر و کار دارم و تازه کارم تو زمینه رباتیک. میشه در مورد این تاپیک و ارتباط avr و matlab بیشتر توضیح بدید؟ خیلی از اینی که نوشتید سر در نیاوردم.
 

ROBOTICS

کاربر فعال مهندسی رباتیک
سلام. من با avr سر و کار دارم و تازه کارم تو زمینه رباتیک. میشه در مورد این تاپیک و ارتباط avr و matlab بیشتر توضیح بدید؟ خیلی از اینی که نوشتید سر در نیاوردم.

قسمت AVR کد بالا را فراموش کنید. خیلی کد بی خودی است. یادم نمی آید برنامه چه کسی را کپی کردم



ارتباط میکروکنترلر ها نظیر avr و pic با متلب از طریق درگاه (پورت) سریال است

راحت ترین اما کند ترین روش سریال ، استفاده از uart هست

گام اول: شما اول باید بدانید uart چیست و چگونه کار می کند

برای همین به دو لینک زیر مراجعه کنید

http://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter

http://www.freebsd.org/doc/en/articles/serial-uart/index.html

گام دوم: شما باید بروید نحوه کدنویسی uart در میکرویی که کار می کنید را یاد بگیرید با جزئیات کامل
به کتاب آموزش میکرو مراجعه کنید

گام سوم: در یک پروژه ارتباط uart را بین دو میکرو تمرین کنید
به عنوان نمونه:
میکروی شماره یک ، اعداد 0 تا 15 را به ترتیب به میکروی شماره دو و سه ارسال کند
میکروی شماره دو ، توان دوم اعدادی که از میکروی شماره یک گرفته است را حساب کند و به میکروی شماره یک برگرداند
میکروی شماره سه ،اعدادی که از میکروی شماره یک گرفته است را اگر مضرب 3 بود به میکروی دو بفرستد اگر اعداد اول بود چراغ روشن کند و همچنین باقی مانده ی آن بر چهار را به میکروی شماره یک برساند
هر میکرو اعدادی که از هر میکرو دریافت می کند روی یک پورت مجزا نمایش دهد

گام چهارم: با استفاده از متلب اعدادی را به میکرو بفرستید و میکرو آن را روی یکی از پورت هایش نمایش دهد
برنامه متلب به صورت زیر است

کد:
S = serial('COM1','BaudRate',9600,'DataBits',8 
( fopen(S 
( ' هر چی می خواین بفرستین',fprintf(S 
( fclose(S

گام پنجم: با میکرو اعدادی به متلب بفرستید و متلب آن را نمایش دهد
مثلا اعداد اول

گام ششم: ارتباطات دو طرفه میکرو و متلب
مثلا پروژه ای بنویسید که میکرو اطلاعاتی از سنسور بخواند سپس آن را با uart به متلی بفرست، سپس متلب پردازش کند و خروجی عملگر را برای را بفرستد
به عنوان نمونه، میکرو از سنسور دما ولتاژ را بخواند به متلب بفرستد و متلب حساب کند که دور موتور چند باشد (آزمایش کولر هوشمند)

گام هفتم: شما دیگر می توانید به راحتی با UART کار نمایید. در این گام می بایست اطلاعات و تجربیات خود را در اختیار تازه واردان قرار دهید
مثلا می توانید در این فروم تاپیکی ایجاد کنید و کد ها و مفاهیم خود را به زبان ساده برای تازه واردان شهر دهید
زکات علم نشر آن است.
 

Similar threads

بالا