ايران ويج

نسخه‌ی کامل: ماژول اولتراسونیک SRF02
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3 4 5 6 7 8 9 10 11
خدا خیرت بده! نمی دونی چقدر باهاش ور رفتم تا تونستم راه اندازیش کنم! ولی نمی تونستم مقدارش رو بخونم.
ایول به مرامت ! ایشالا که منبعش هم راضیه!
راستی ماژول 08 فرقش با این چیه؟ برای راه اندازی اون باید چیکار کنم؟
نمی دونم درست...
تو دیتاشیتش باید نوشته باشه احتمالا اون عددا فرق دارن....
(۲۱-اسفند-۱۳۸۸, ۰۴:۳۸:۲۵)koorosh.k نوشته است: [ -> ]نمی دونم درست...
تو دیتاشیتش باید نوشته باشه احتمالا اون عددا فرق دارن....

سلام
آقا من اين برنامه رو نوشتم جواب نميده كه!
اين كد (0xE1) چيه؟ نه دستوري به اين نام هست نه آدرسي!؟
من با آي تو سي مي خوام راش بندازم بعد اين كد 0x54 رو از كجا آوردين!؟
(۲۱-اسفند-۱۳۸۸, ۰۳:۵۶:۰۸)ali1011 نوشته است: [ -> ]خدا خیرت بده! نمی دونی چقدر باهاش ور رفتم تا تونستم راه اندازیش کنم! ولی نمی تونستم مقدارش رو بخونم.
ایول به مرامت ! ایشالا که منبعش هم راضیه!
راستی ماژول 08 فرقش با این چیه؟ برای راه اندازی اون باید چیکار کنم؟

علي آقا اگه راه انداختيش بي زحمت برنامه كاملش رو بذار همينجا!
طلسم شکسته شد! Happy(اتصال سنسور SRF02 به کامپیوتر با پورت سریال)
مواد لازم:
سنسور SRF02 به تعداد نیاز!
ماژول مبدل USB به سریال
آقا منم برنامه ای نوشتم که هیچ جا گیرتون نمیاد! توی C#.net 2010 نوشتم
این برنامه به صورت Real time اطلاعات فاصله و شماره سنسور را نمایش میده! به زودی آموزش کامل و روش راه اندازی اون رو به شما عزیزان تقدیم می کنم..... (در صورت درخواست شما عزیزان)
باید مژده بدم دارم روی سریال در کدویژن هم به شدت کار می کنم و علی رغم اینکه هنوز هیچ سورسی برای ارتباط سریال این ماژول در [b]کدویژن منتشر نشده، به زودی (تا یکی دو روز دیگه) این کار را خواهم کرد! چون الان دقیقا می دونم سنسورم به چی نیاز داره[/b]
راستی سرعت درخواست رو از حالت 50 میلی ثانیه انتظار به 5 میلی ثانیه در نرم افزار کاهش دادم..... فقط در صورتی که از دستور 94 استفاده کنید، باید 70 میلی ثانیه انتظار بکشید تا از سنسور اطلاعات بیاد.
موفق باشید.
اینم تصویری از عملکرد برنامه (ترجیحا الان دلتون آب بشه!Biggrin)!
[تصویر:  ednrcc02mffp8ocuxy0u.jpg]
مهندس توضیحات و برنامه و نقشه ات رو بذار واست با اسم خودت بفرستم رو پرتال : http://www.iranled.com
(۰۳-مهر-۱۳۸۹, ۲۱:۰۳:۰۷)Gawky نوشته است: [ -> ]مهندس توضیحات و برنامه و نقشه ات رو بذار واست با اسم خودت بفرستم رو پرتال : http://www.iranled.com

چشم
در حال تکمیل پروژه بودم.
الان دیگه به راحتی میشه شماره کد بندی سنسور را با نرم افزار عوض کرد و همچنین در 2 میلی ثانیه، اطلاعات سنسور را به طور کامل خوند!
مدارش هم خیلی ساده هست.
تا فردا شب احتمالا ارسال می کنم (میگم احتمالا چون خیلی سرم شلوغهWink)
اینم عکس نهایی:
[تصویر:  v1kjudg7hy9467bt2bo2.jpg]
این هم سمپلی که قولشو داده بودم
[تصویر:  rm2gyfbra670t92g48v.png]
تقدیم به تمام دوستان خوبم در IranLed
بابت تاخیر باید ببخشید، چون خیلی درگیر بودم.
جناب ilgar عزیز، من سورس را در سی شارپ دات نت 2010 نوشتم و در صورتی که توضیحات ارزشمند خودتون را اضافه کنید، ممنون میشم روی پرتال گذاشته بشه...
از لحاظ توضیحات نرم افزاری این موارد قابل ذکر است:
نرم افزار کاملا به زبان ساده نوشته شده و در نرم افزار شما قادر هستید سنسور را در هر لحظه خوانده و مشاهده کنید، از طرفی قادر هستید تا آدرس سنسور را به آدرس دلخواه خودتون تغییر بدهید.
در ابتدای کار
یک آرایه دو بعدی از نوع بایتی حاوی (آدرس سنسور و درخواست نوع اطلاعات که در اینجا درخواست به سانتی متر است، به صورت هگز) تعریف می شود.
سپس با دستور Write و متد Oveload دوم آن با یک بازه 1 میلی ثانیه ای درخواست ارسال شده است.(ایجاد وقفه با System.Threading.Thread.Sleep تعریف شده است.)
نهایتا چون سنسور 2 بار اطلاعات را در قالب بایت ارسال می کند، دستور Readbyte در برنامه 2 بار نوشته شده است.
برای پرهیز از هنگ کردن برنامه، من timeout خواندن اطلاعات را تعریف کردم(دستور های serialPort1.ReadTimeout = 1; و serialPort1.WriteTimeout = 20; )
این زمان را شما در ابتدای برنامه می توانید تغییر دهید.... (در صورتی که مشکلی پیش آمد زمان را که بر حسب میلی ثانیه هست تغییر دهید.)
همچنین دستور ReadByte را در دستور try قرار دادم تا مشکلی ایجاد نشود.
تمامی تنظیمات ارسال دیتا و تغییر عدد سنسور نیز به همین شکل اما در آرایه ای جدید تعریف شده است که در صورتی که PDF فارسی جناب ilgar را مطالعه بفرمایید، به راحتی متوجه می شوید.
به مثال زیر که بخشی از برنامه است دقت کنید:
کد:
byte[] Sensor1 = new byte[8];

Sensor1[0] = first_value;
Sensor1[1] = 0xA0;
Sensor1[2] = first_value;
Sensor1[3] = 0xAA;
Sensor1[4] = first_value;
Sensor1[5] = 0xA5;
Sensor1[6] = first_value;
Sensor1[7] = final_value;



if (serialPort1.IsOpen == true)
{
serialPort1.Write(Sensor1, 0, 1);
System.Threading.Thread.Sleep(1);
serialPort1.Write(Sensor1, 1, 1);
System.Threading.Thread.Sleep(1);
serialPort1.Write(Sensor1, 2, 1);
System.Threading.Thread.Sleep(1);
serialPort1.Write(Sensor1, 3, 1);
System.Threading.Thread.Sleep(1);
serialPort1.Write(Sensor1, 4, 1);
System.Threading.Thread.Sleep(1);
serialPort1.Write(Sensor1, 5, 1);
System.Threading.Thread.Sleep(1);
serialPort1.Write(Sensor1, 6, 1);
System.Threading.Thread.Sleep(1);
serialPort1.Write(Sensor1, 7, 1);
return;
}

در اینجا اگر به ابتدای سورس دقت کنید، در واقع من یک بایت را با اسم first value انتخاب کرده ام که با دستور Switch case در خطوط بالاتر سمپل، پر می شود. این دستور switch case شماره ابتدایی سنسور را مشخص کرده است . مقدار final value نیز از comboBox مقدار مورد نیاز را با استفاده از دستور Switch case به خود می گیرد و نهایتا در آرایه جایگزاری می شود. هدف از این کار تغییر آدرس (شماره سنسور) از هر آدرسی به آدرس دیگر است.
در آخر از فارسی سازی و نمونه سورس در PDF این سنسور، از دوست خوبم جناب ilgar نهایت سپاس را دارم چرا که در تسریع این کار خیلی موثر بود
دلیل موفقیت من، تسلط به ز بان c و basic بود که ترجیحا آنرا در C#.net نوشتم و شما می توانید به راحتی آنرا در VB.net نیز شبیه سازی کنید.
دقت فرمایید اجرای این برنامه فقط در C#.net نسخه سال 2010 انجام گیرد و در نسخه های قدیمی تر، با مشکل مواجه می شوید.... (در حقیقت visual Studio 2010 را باید نصب کرده باشید.)
ضمنا برای ارتباط سخت افزاری هم از ماژول آماده FT232 استفاده کنید و tx ماژول را به Rx سنسور و Rx ماژول را به TX سنسور بدهید. که به دلیل سادگی مدار آنرا دیگه قرار ندادم...
در صورتی هم که پورت کام سیستم را می خواهید استفاده کنید، از یه max232 به عنوان واسط استفاده کنید تا سطح ولتاژ پورت com را به سطح TTl بیاره.....
موفق باشید.
خواهشمندم در هرجایی اطلاعات این سنسور را منتشر می کنید، منبع آنرا ذکر کنید و حقوق من را از بین نبرید تا باز هم با نرم افزارهای جدید برای رباتیک در خدمت شما عزیزان باشم.
هر گونه سوالی در رابطه با برنامه این سنسور را پاسخ گو هستم/ محمدرضا ناظم

دوست عزیز با اسم خودت گذاشتم رو پرتال !!

ببین :

http://www.iranled.com

http://www.iranled.com/forum/showthread....#pid136987
من اصلا تا به حال یک دفترچه راهنما برای این ماژول های جدید ندیدم که خیلی درست حسابی بگه اقا با این ماژول باید این طوری کار کنی
یه پیشنهاد هم دارم برای مدیران گروه که اگر کسی می تونه این کار را بکنه که مشکل خیلی از بچه ها را رفع کرده
عزیزم من الان دارم با هزار بدبختی یه مقاله مینویسم (اگه خدا بخواد)
در همین مورد فقط ساخت ماژول هم توش هست یعنی شما فقط دوتا سنسور میخری
یه هفته صبر بکنی آمادس
سلام من این برنامه را از mrzk در eca نقل میکنم.
[/align]
$regfile = ”m32def.dat”
$crystal = 1000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.2 , Db6 = Portb.3 , Db7 = Portb.4 , Rs = Portb.5 , E = Portb.6
Config Sda = Portc.0
Config Scl = Portc.1
Dim X As Integer , Y As Integer , Z As Word
Cursor Off
Do
I2cstart
I2cwbyte &HE0
I2cwbyte &H00
I2cwbyte &H51
I2cstop
I2cstart
I2cwbyte &HE0
I2cwbyte &H02
I2creceive &HE0 , X
I2cstop
I2cstart
I2cwbyte &H03
I2creceive &HE0 , Y
I2cstop
Cls
Z = X * 256
Z = Z + Y
Lcd Z
Waitms 500
Loop
صفحه‌ها: 1 2 3 4 5 6 7 8 9 10 11