PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : راه اندازی سنسور srf02 برای فاصله سنجی در روباتیک+avr



ROBOMAN
09-10-2010, 23:09
سلام
اینم یه نمونه سورس کاربردی کار باسنسور srf02 برای فاصله سنجی در روباتیک که من با اون تا 6 متر جواب گرفتم و خیلی عالی کار میکنه
امیدوارم خوب باشه:125:
You can see links before reply
You can see links before reply


این یک ماژول التراسونیک ارزان قیمت همراه با دو خروجی I2C و سریال است.,

الگوریتم جدید و هوشمند به کار رفته در این ماژول به صورت اتوماتیک تنظیمات را برای به دست آوردن بهترین دقت انجام می دهد .
مشخصات :
ولتاژ : 5 ولت
جریان : 4 میلی آمپر
فرکانس کاری : 40 کیلو هرتز
فاصله کاری : 16 سانتی متر تا 6 متر
ابعاد بسیار کوچک : 24mm x 20mm x 17mm
وزن بسیار کم : 4.6 گرم
خروجی بر اساس میکرو ثانیه ، اینج یا میلی متر
این ماژول در ربات های فوتبالیست ، مین یاب ، ماز و... کاربرد دارد
Connection Modes
1 - Standard I2C Bus.
2 - Serial Bus - connects up to 16 devices to any uP or UART serial port
Full Automatic Tuning - No calibration, just power up and go
Timing - Fully timed echo, freeing host controller of task.
Units - Range reported in uS, mm or inches

با تشکر از ایران ال ای دی:wink:

behnam6500
10-10-2010, 19:11
دوست عزیز قیمت چنده؟ کجا میفروشه؟

ROBOMAN
10-10-2010, 20:18
سلام
به این لینک سر بزن
You can see links before reply

Division
11-10-2010, 12:00
با سلام

SRF02 ماژول خوبیه ولی به نظر من ماژول SRF08 بهتره ولی خب یکم قیمتش گرون هستش (تقریبا سه برابر !)

رنج سنجش این ماژول از 3 سانتی متر تا 11 متر هستش :018:
البته تا 6 متر خروجیش بدون خطا هستش و بعدش با یه درصد خطایی نشون میده .
این ماژول مجهز به سنسور LDR هستش که برای پروژهایی خاص میتونه استفاده بشه و شیوه کار هم به این صورت هستش میزان نور محیط رو می سنجه و یه عدد از 0 الی 255 رو برای شدت نور محیط بر میگردونه .:wink:

من کتابخونه کاملی رو برای راه اندازی این ماژول آماده کرد هرکی بخواد میتونم در اختیارش قرار بدم .:0013:

Microbot_Team
14-10-2010, 23:37
سلام PGT اگه بشه بزار راه انداز و یا برام میل کن و نیاز شدید به استفاده از یه ماژول التراسونیک خوب دارم
ممنون
microbot_team@yahoo.com:wink:

Division
16-10-2010, 14:50
سلام

چشم حتما، ولی چون هارد کامپیوترم بنابه دلائلی قفل شده:( به اطلاعاتم دسترسی ندارم ولی به محض اینکه مشکلم حل شد حتما آموزش رایگانش رو براتون میزارم .

موفق باشید :wink:

ROBOMAN
07-11-2010, 19:44
سلام
اینم یه سورس برای کار با چند تا ماژول srf02 با پروتکل سریال
البته این برای دو تا ژوله شما میتونین بیشترش کنین


$regfile = "m8def.dat" : $crystal = 12000000 : $baud = 9600

Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.2 , Db6 = Portb.3 , Db7 = Portb.4 , E = Portb.0 , Rs = Portb.5
Config Lcd = 16 * 2 : Cursor Off : Cls

Dim A As Byte , B As Byte , C As Word
Dim D As Byte
Dim E As Byte
Dim F As Word
Enable Interrupts

Open "comd.3:9600,8,n,1" For Output As #1
Open "comd.2:9600,8,n,1" For Input As #2


Do

Printbin 0
Waitms 50
Printbin 84

A = Waitkey()
B = Waitkey()

C = A * 256
C = C + B

Home : Lcd "Range1=" : Lcd C : Lcd "Cm "


Printbin #1 , 0
Waitms 50
Printbin #1 , 84

D = Waitkey(#2)
E = Waitkey(#2)

F = D * 256
F = F + E

Home Lower : Lcd "Range2=" : Lcd F : Lcd "Cm "

Loop
End

mohsen_bmw
26-08-2012, 19:01
سلام من هم این ماژول را دارم ولی هنوز نتونستم راه اندازیش کنم چندتا سوال دارم اولا اینکه چطوری مسافت رو روی lcd نشون بدم،
دوم :چجور مشخص میشه که سنسور داره کار میکنه وقتی کار کنه led چشمک میزنه یا اینکه فقط یه بار روشن میشه؟
سوم:مقاومت pull upرا چقدر بزارم؟ حتما باید باشه؟
چهارم:مشکل کد منه چیه چرا جواب نمیده لطفا راهنمایی کنید که خیلی واجبه
اگه میبینید برنامم خیلی مشکل داره دوستان لطفا اگه زحمتی نیست کد یه برنامه که ازش جواب گرفتین را برام ارسال کنید
میکرو من atmega8a هست از پورت Eبرای lcd و پورت c برای i2c استفاده کردم اگه بتونید یه برنامه با همین مشخصات برام ارسال کنید یه دنیا ممنون میشم!
اینم کد:

#include <mega8.h>

// I2C Bus functions
#asm
.equ __i2c_port=0x15 ;PORTC
.equ __sda_bit=4
.equ __scl_bit=5
#endasm
#include <i2c.h>
#include <stdio.h>
#include <delay.h>
#include <alcd.h>
#asm
.equ __lcd_port=0X18
#endasm
void main(void)
{
unsigned char str[20]="";
unsigned char x,y ;
unsigned char z ;
TWCR=0x00;
TWBR=0x02;
i2c_init();
lcd_init(16);
while (1)
{
delay_ms(50);
i2c_start();
i2c_write(0xE0);
i2c_write(0x00);
i2c_write(0x51);
i2c_stop();
i2c_start();
i2c_write(0xE0);
i2c_write(0x02);
x=i2c_read(0);
i2c_stop();
i2c_start();
i2c_write(0x03);
y=i2c_read(0);
i2c_stop();
z = x * 256;
z = z + y;
delay_ms(60);
lcd_clear();
lcd_gotoxy(0,0);
sprintf(str,"%u",z);
lcd_puts(str);
delay_ms(60);

}
}

KHM
26-08-2012, 19:17
سلام من هم این ماژول را دارم ولی هنوز نتونستم راه اندازیش کنم چندتا سوال دارم اولا اینکه چطوری مسافت رو روی lcd نشون بدم،

لطف کنین سوالتونو فقط تو 1قسمت بپرسین...

eng
15-09-2012, 02:04
سلام من هم این ماژول را دارم ولی هنوز نتونستم راه اندازیش کنم چندتا سوال دارم اولا اینکه چطوری مسافت رو روی lcd نشون بدم،
دوم :چجور مشخص میشه که سنسور داره کار میکنه وقتی کار کنه led چشمک میزنه یا اینکه فقط یه بار روشن میشه؟
سوم:مقاومت pull upرا چقدر بزارم؟ حتما باید باشه؟
چهارم:مشکل کد منه چیه چرا جواب نمیده لطفا راهنمایی کنید که خیلی واجبه
اگه میبینید برنامم خیلی مشکل داره دوستان لطفا اگه زحمتی نیست کد یه برنامه که ازش جواب گرفتین را برام ارسال کنید
میکرو من atmega8a هست از پورت Eبرای lcd و پورت c برای i2c استفاده کردم اگه بتونید یه برنامه با همین مشخصات برام ارسال کنید یه دنیا ممنون میشم!
[/CODE]
اونایی که بلدمو می گم.
سوال دوم:پس از آدرس دهي در صورتي كه آدرس ذخيره شده در ماژول توسط كاربر فراموش شود ميتوان با ماژول به كد آن پي برد . بطوري كه پس از LED برقراري تغذيه ماژول و بدون ارسال كد با فلش هاي برقراري تغذيه يك فلش ممتد نسبتاً طولاني و پس از آن به شماره آدرس ماژول فلشهاي كوتاه و پشت سر هم ايجاد ميشود
ماژول در حين كار (ارسال كدها از طرف ميكرو و ارسال اطلاعات از طرف ماژول ) دائماً فلشهاي
بسيار كوتاهي خواهد زد.
سوال سوم:اره به پایه های SCLوSDA باید مقاومت pullup وصل بشه.اگر میکرویی که استفاده می کنی pullup داره اون را فعال می کنی یا یک مقاومت 1.8k به 5v وصل می کنی.

ashkanbme
15-09-2012, 14:28
من با این ماژول کار کردم بسیار ماژول خوب و دقیقی یه پی دی اف دارم اماده میکنم به همراه برنامه کدویژن به زودی میزارم.