امتیاز موضوع:
  • 2 رأی - میانگین امتیازات: 3
  • 1
  • 2
  • 3
  • 4
  • 5
سنسور ultra sonic(فوررررررررررررررررررررري)
نویسنده پیام
اشك آفلاین
كاربر دو ستاره
**

ارسال‌ها: 93
موضوع‌ها: 14
تاریخ عضویت: فروردین ۱۳۸۹

تشکرها : 23
( 21 تشکر در 18 ارسال )
ارسال: #1
سنسور ultra sonic(فوررررررررررررررررررررري)
سلام
من يه فاصله سنج كه از 1 سانت تا 30 سانت رو اندازه بگيره لازم دارم .
اگر با ultra sonic ميشه لطفا به من بگيد در بازار چي بخرم؟
۲۸-اردیبهشت-۱۳۸۹, ۱۴:۳۶:۰۱
ارسال‌ها
پاسخ
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #2
RE: سنسور ultra sonic(فوررررررررررررررررررررري)
خوب ماژولش هست !

بگیر و راحت ازش استفاده کن !!
۲۸-اردیبهشت-۱۳۸۹, ۱۵:۰۷:۴۴
ارسال‌ها
پاسخ
تشکر شده توسط : mostafa_naderi
mostafa_naderi غایب
كاربر دو ستاره
**

ارسال‌ها: 145
موضوع‌ها: 14
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 474
( 320 تشکر در 119 ارسال )
ارسال: #3
RE: سنسور ultra sonic(فوررررررررررررررررررررري)
ماژول التراسونیک

می تونی چند مدل اینجا ببینی

۲۸-اردیبهشت-۱۳۸۹, ۱۵:۵۲:۱۰
ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000
اشك آفلاین
كاربر دو ستاره
**

ارسال‌ها: 93
موضوع‌ها: 14
تاریخ عضویت: فروردین ۱۳۸۹

تشکرها : 23
( 21 تشکر در 18 ارسال )
ارسال: #4
RE: سنسور ultra sonic(فوررررررررررررررررررررري)
من دو عدد از سنسور ultrasonic خريدم كه در اين سايت( http://roboeq.com/modules.php?op=modload...ink&cid=29 ) مدل ( ماژول SRF05 ) هست. البته اين رو بگم كه اين سنسوري كه من خريدم از لحاظ ظاهري شبيه اين هست معلوم نيست كه دقيقا همين هست يا چيزه ديگه اي !

من ميخوام با ميكرو پالسش رو تعيين كنم اما مدار هاي فرستنده و گيرنده كه نياز به تقويت داره رو بلد نيستم.

ميخوام باهاش يك فاصله سنج درست كنم كه فاصله بين 1 سانت تا 30 سانت رو اندازه بگيرم . فكر من اين هست كه زماني كه طول ميكشه كه صوت برود و به مانع بخورد و برگردد تا گيرنده بگيرد رو محاسبه بكنه و فاصله را برام بنويسه. آيا اين فكر من عملي هست ؟ اگر عملي هست به من كمك كنيد كه با Bascom چطوري ميتونم اين فاصله رو اندازه بگيرم.
(آخرین ویرایش در این ارسال: ۲۹-اردیبهشت-۱۳۸۹, ۲۱:۲۵:۱۷، توسط اشك.)
۲۹-اردیبهشت-۱۳۸۹, ۲۱:۲۳:۴۹
ارسال‌ها
پاسخ
ilgar آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 843
موضوع‌ها: 17
تاریخ عضویت: اردیبهشت ۱۳۸۷

تشکرها : 383
( 2597 تشکر در 855 ارسال )
ارسال: #5
RE: سنسور ultra sonic(فوررررررررررررررررررررري)
من بعید میدونم بتونین از اولتراسونیک جواب بگیبرین!
ببینین یا باید ماژولشو بخرین یا مدارش هم خودتون طراحی کنید

اگه ماژولش رو بخرین:
معمولاً تو ماژولها پایه فعالساز (ارسال موج) باید یک مدتی مثلاً 30 میلی ثانیه 1 بشه تا ماژول بفهمه و موج ارسال کنه

اگه مدارشو خودتون بسازین:
فقط یک سیکل از سیگنال راه انداز مثلاً 40 کیلو هرتزو که نمیشه فرستاد. با فرکانس 40 کیلو اگه بخواین پن شش تا پریود از سیگنالو بفرستین، کلی وقت تلف می کنه مثلاً 5 میلی ثانیه




در هر دو حالت هم مدت زمانی که واسه این کار تلف میشه ، معمولاً واسه آشکار سازی اندازه های کمتر از 30 سانت مانع میشه



واسه اندازه 1 تا 30 سانت ماژولهای مادون قرمز میتونه مفید باشه
۲۹-اردیبهشت-۱۳۸۹, ۲۱:۴۲:۰۳
ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000, mostafa_naderi, اشك
اشك آفلاین
كاربر دو ستاره
**

ارسال‌ها: 93
موضوع‌ها: 14
تاریخ عضویت: فروردین ۱۳۸۹

تشکرها : 23
( 21 تشکر در 18 ارسال )
ارسال: #6
RE: سنسور ultra sonic(فوررررررررررررررررررررري)
خب براي مادون قرمز در فاصله ستج برام بيشتر توضيح بديد
۳۰-اردیبهشت-۱۳۸۹, ۰۰:۳۳:۲۰
ارسال‌ها
پاسخ
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #7
RE: سنسور ultra sonic(فوررررررررررررررررررررري)
http://roboeq.com/modules.php?op=modload...ink&cid=89
۳۰-اردیبهشت-۱۳۸۹, ۰۰:۴۱:۰۱
ارسال‌ها
پاسخ
تشکر شده توسط : اشك
اشك آفلاین
كاربر دو ستاره
**

ارسال‌ها: 93
موضوع‌ها: 14
تاریخ عضویت: فروردین ۱۳۸۹

تشکرها : 23
( 21 تشکر در 18 ارسال )
ارسال: #8
RE: سنسور ultra sonic(فوررررررررررررررررررررري)
آقا اين I2d چيه ؟
كار باهاش سخته توي ميكرو؟
(آخرین ویرایش در این ارسال: ۰۴-خرداد-۱۳۸۹, ۱۷:۱۷:۴۲، توسط اشك.)
۰۴-خرداد-۱۳۸۹, ۱۷:۱۶:۵۷
ارسال‌ها
پاسخ
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #9
i2c
از کتاب سعید یه نفر :

ارتباط سريال i2c يا 2-wire


ويژگي هاي اين ارتباط به شرح زير است:

1-
در اين ارتباط از دوسيم همرا با گراند و VCC ، که درمجموع چهار سيم مي شود ، براي انتقال ديتا استفاده مي شود

2-
بالا ترين فرکانس کلاک 400 کيلو هرتز است

3-
در اين ارتباط ميتوان تعداد نامحدود وسيله جانبي با آدرس سخت افزاري مختلف را به هم متصل کرد

4-
حداکثر طول کابل ارتباطي باسيم شيلد 80 سانتي متر است

5-
کلاک ارتباط I2C به شدت به کلاک سيستم (فرکانس کريستال ) وابسته است

براي ارتباط I2C از دو پايه SCL و SDA (PORTC.0 و PORTC.1 ميگرو مگا 16) استفاده مي شود که پايه SDA پايه داده و پايه SCL پايه کلاک ميباشد.( دو پايه مزکور پايه هاي پيش فرض ميباشند ، شما ميتوانيد با دستوراتي که گفته مي شود آنها را به پايهاي دلخواه خود تغيير دهيد)

دستورات مربوط به راه اندازي I2C :


تعيين کلاک I2C :

کد php:
Config I2cdelay 

X ميتواند از 1 تا 255 باشد ، رابطه اي بين کلاک و عدد وجود ندارد ، مثلا براي عدد 10 کلاک 100 کيلو وبراي عدد 5 کلاک 200 کيلو و براي عدد 1 کلاک 400 کيلو هرتز است ( کلاک I2C به فرکانس کريستال وابسته است ، در اين ارتباط بايد کريستال نوشته شده در برنامه با کريستال استفاده شده يکي باشد ، همچنين کلاک هر دو دستگاه بايد مساوي باشد)

تعيين پايه هاي داده و کلاک I2C :

با دستور زير پايه SCL (پايه کلاک) تعيين مي شود :

کد php:
CONFIG SCL pin 

Pin نام يکي از پايه هاي دلخواه ميکرو ميباشد .
با دستور زير پايه SDA (پايه داده) تعيين مي شود :

کد php:
CONFIG SDA pin 

Pin نام يکي از پايه هاي دلخواه ميکرو ميباشد
بعد از انکه I2C پيکر بندي شد با استفاده از دستور زير ميتوان ارتباط را اغاز کرد

کد php:
I2CSTART 

با اين دستور ارسال ودريافت داده شروع مي شودشما همچنين ميتوانيد با دستور زير به ارسال ودريافت داده خاتمه دهيد:

کد php:
I2CSTOP 

با استفاده از دستور زير ميتوان داده اي را به باس I2C فرستاد:

کد php:
I2CSEND slave, var
I2CSEND slave, var , bytes 

Slave :آدرس گيرنده اطلاعات است که ميتواند به فرم يک عدد ثابت يا متغيير باشد
Var : عدد ثابت يا متغييري است که ميخواهيسم آن را ارسال کنيم
: bytesبا اين گزينه شما ميتوانيد تعداد بايت دلخواه را به باس ارسال کنيد (اين گزينه اختياري است)

فرم خلاصه شده اين دستور به شکل زير است:

کد php:
I2CWBYTE val 

Val : عدد ثابت يا متغييري است که کد دريافت شده در آن قرار ميگيرد .

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

کد php:
$regfile "m32def.dat"
$crystal 1000000
Config Lcd 
16 2
Config Lcdpin 
Pin Db4 Pinb.2 Db5 Pinb.3 Db6 Pinb.4 Db7 Pinb.5 Rs Pinb.0 Pinb.1
Config Kbd 
Porta
Config I2cdelay 
5
Config Sda 
Portc.1
Config Scl 
Portc.0
Dim A 
As Byte
I2cstart
W
:
Getkbd()
If 
15 Then
Goto W
End 
If
I2csend &H40 A
Locate 2 
1
Lcd A
Goto W
End 

در مثال با کلاک I2C ، 200کيلو هرتز انتخاب شده است همچنين پايهSCL (پايه کلاک)به پورت c.0 ( پايه22 مگا16)و پايه SDA (پايه داده) به پين c.1 (پايه 23 مگا 16) متصل شده است.

با دستور I2cstartپروتکل i2c شروع به کار کرده وعدد گرفته شده از کيپد را بخ باس i2c ميفرستد ، براي گيرنده آدرس &h40 در نظر گرفته شده است ، براي درک بيشتر موضوع متغير ارسالي بر روي يک lcd به نمايش در ميايد.

با استفاده از دستور زير ميتوان داده اي را از باس I2C دريافت کرد:

کد php:
I2CRECEIVE slave, var
I2CRECEIVE slave, var , b2Wb2R 

Slave :آدرس فرستنده اطلاعات است که ميتواند به فرم يک عدد ثابت يا متغيير باشد.
Var : عدد ثابت يا متغييري است که کد دريافت شده در آن قرار ميگيرد
: bytesبا اين گزينه شما ميتوانيد تعداد بايت دلخواه را از باس دريافت کنيد (اين گزينه اختياري است).(توجه داشته باشيد که تعداد بايت دريافتي و ارسالي بايد با هم برابر باشند در غير اينصورت اطلاعات دريافتي ناقص خواهد بود.)

فرم خلاصه شده اين دستور به شکل زير است:

کد php:
I2CRBYTE var, ack/nack 

Var : عدد ثابت يا متغييري است که کد دريافت شده در آن قرار ميگيرد
ack/nack :زماني که بخواهيم بيشتر از يک بايت را از باس بخوانيم بايد از ack استفاده کنيم و زماني که ميخواهيم اخرين بايت را از باس بخوانيم از nack استفاده ميکنيم.


[تصویر:  7a59b3ec26a94b349c36.PNG]


مثال:
اين برنامه مربوط به گيرنده مداري است که برنامه آن را در بالا مشاهده فرموديد:

کد php:
$regfile "m32def.dat" $crystal 1000000
Config Lcd 
16 2
Config Lcdpin 
Pin Db4 Pina.0 Db5 Pina.1 Db6 Pina.2 Db7 Pina.3 Rs Pina.4 Pina.5
Config I2cdelay 
5
Config Sda 
Portc.1
Config Scl 
Portc.0
Dim A 
As Byte
I2cstart
W
:
I2creceive &H40 A
If 16 Then Locate 1 Lcd A End If
Goto 
W
End 

در مثال بالا کلاک I2C ، 200 کيلو هرتز(Config I2cdelay = 5) انتخاب شده است همچنين پايهSCL (پايه کلاک)به پورت c.0 ( پايه22 مگا16)و پايه SDA (پايه داده) به پين c.1 (پايه 23 مگا 16) متصل شده است.

با دستور I2cstartپروتکل i2c شروع به کار کرده وعدد گرفته شده از باس را بر روي lcd نمايش ميدهد ، براي فرستنده آدرس &h40 در نظر گرفته شده است .
۰۴-خرداد-۱۳۸۹, ۲۰:۵۷:۴۸
ارسال‌ها
پاسخ
تشکر شده توسط : رسول, salehjg


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  سنسور BOSCH BMP180 EBKA 8 8,012 ۰۷-اردیبهشت-۱۳۹۴, ۱۲:۴۰:۲۸
آخرین ارسال: mehran032
  سنسور اپتوکانتر mehdi.sal 4 3,595 ۲۲-بهمن-۱۳۹۳, ۲۲:۰۵:۱۵
آخرین ارسال: a.mehran
  [سوال] سنسور مادون قرمز hamidakbari1993 13 9,424 ۰۸-دى-۱۳۹۳, ۰۰:۲۲:۵۹
آخرین ارسال: رسول
  راهنمایی برنامه نویسی ریموت 6 کاناله با سنسور مادون قرمز s.h.h 1 1,980 ۲۰-شهریور-۱۳۹۳, ۰۱:۴۸:۳۰
آخرین ارسال: a.mehran
  کنترل تعداد زیادی سنسور اصغرکریمی 4 4,222 ۲۵-آذر-۱۳۹۱, ۲۰:۵۷:۰۵
آخرین ارسال: aKaReZa75
Question [سوال] سنسور ماوس توپی farhadLED 10 7,816 ۰۳-آذر-۱۳۹۱, ۱۴:۲۸:۱۰
آخرین ارسال: omid_phoenix
  کمک در راه اندازی سنسور MQ2 mostafa73 2 4,802 ۱۱-آذر-۱۳۹۰, ۲۰:۰۳:۵۱
آخرین ارسال: mostafa73
  سنسور قطب نما ardavan001 6 9,316 ۰۴-آبان-۱۳۸۹, ۲۳:۵۶:۰۲
آخرین ارسال: EBKA

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS