آیا میدانستید با استفاده از سنسور آلتراسونیک SR04 میتوانید به پروژههای آردوینو خود قدرتی همانند قدرت خفاش دهید؟
قدرتی که ما در مورد آن صحبت میکنیم، امکان تشخیص اشیاء در فاصله 13 فوتی (حدود 4 متر) است. همانطور که خفاش میتواند بهراحتی این کار را انجام دهد، این سنسور نیز از چنین قابلیتی برخوردار است. اگر شما هم از خوردن رباتتان به دیوار میترسید، حتما به یکی از این سنسور ها نیاز خواهید داشت!
از جمله مزایای این سنسور کممصرف بودن (مناسب برای دستگاههای باتری دار)، قیمت ارزان و قابلیت ارتباط آسان با آن است. به علاوه، این سنسور بین کسانی که عاشق سرگرمی هستند، نیز بسیار شناخته شده است. البته نکته جالب در مورد این سنسور، شباهت عجیب آن به چشمان رباتهای وال ای (Wall-E) است.
در ادامه در مورد این سنسور و نحوه راهاندازی آن با آردوینو صحبت خواهیم کرد.
آلتراسونيك چيست؟
آلتراسونيك يك موج صوتي بوده كه فركانس آن بيشتر از محدوده شنوايي انسان است (موج فراصوت).
گوش انسان قادر به شنيدن امواج صوتي با نوسانات 20 تكرار در ثانيه (سر و صداي عميق) تا 20000 تكرار در ثانيه (سوت بلند) است. آلتراسونيك داراي فركانسي بيش از 20 كيلوهرتز بوده و بنابراين اين موج صوتي توسط گوش انسان قابل شنيدن نيست.
مرور سختافزاری ماژول سنسور آلتراسونیک SR04
هسته مركزي اين سنسور از دو ترنسديوسر آلتراسونيك تشكيل شده است. يكي از آنها بهعنوان فرستنده سيگنال الكتريكي را به پالسهاي صوتي آلتراسونيك 40KHz تبديل ميكند. گيرنده منتظر دريافت پالسهاي ارسالي ميشود. چنانچه چيزي دريافت كند، يك پالس در خروجي خود توليد ميكند. عرض اين پالس جهت تعيين فاصلهاي كه موج طي كرده است، استفاده ميشود.
سنسور آلتراسونیک SR04 اندازه كوچكی دارد و در پروژههاي رباتيك براي فاصله سنجي در رنج 2cm تا 400cm (يك اينچ تا 13 فوت) با دقت 3mm قابل استفاده است. ولتاژ كاري اين سنسور 5 ولت بوده و ميتوان آن را مستقیماً به آردوينو يا هر ميكروكنترلر 5 ولتي ديگري وصل نمود. مشخصات فني اين سنسور بهصورت زير است:
DC 5V | ولتاژ كاري |
15mA | جريان كاري |
40KHz | فركانس كاري |
4m | ماكزيمم رنج فاصله سنجي |
2cm | مينيمم رنج فاصله سنجي |
3mm | دقت فاصله سنجي |
15degree | زاويه اندازه گيري |
10µS TTL pulse | سيگنال ورودي تريگر |
45x20x15mm | ابعاد |
پایه های سنسور آلتراسونيک HC-SR04
در اين بخش نگاهي به پينهاي ماژول داريم
- VCC : پين تغذيه ماژول بوده كه به پين 5 ولت آردوينو متصل ميشود.
- Trig : اين پين براي تريگر كردن پالس صوتي آلتراسونیك استفاده ميشود.
- Echo : وقتیکه سيگنال بازگشتي دريافت ميشود، اين پين يك پالس توليد ميكند. طول پالس متناسب با مدت زماني است كه طول كشيده تا سيگنال ارسالي دريافت شود.
- GND : پين زمين سنسور است كه به زمين آردوينو متصل ميشود.
سنسور فاصلهسنج آلتراسونيک HC-SR04 چگونه كار میكند؟
هنگامیکه يك پالس تريگر 10 ميكروثانيهاي به پين Trig اعمال شود، سنسور شروع به كار ميكند و 8 پالس صوتي 40KHz ارسال ميكند. الگوي اين رشته پالس 8 تايي بهنوعی امضاي يكتاي سنسور ارسالکننده امواج است و به گيرنده سنسور اجازه تشخيص سيگنال ارسالي همان سنسور را در بين ساير سيگنالهاي آلتراسونيكي كه احتمالاً در محيط وجود دارند، خواهد داد (نويز آلتراسونيكي محيط).
پالسهاي هشتتایی آلتراسونيك توسط فرستنده در هوا منتشر ميشوند. در همين حين، مقدار منطقي پين Echo بهصورت High خواهد شد تا فرايند دريافت سيگنال برگشتي را آغاز كند. چنانچه هيچ سيگنال برگشتي دريافت نشود، مقدار پين Echo پس از مهلت زماني 38 میلیثانیه مجدداً Low خواهد شد. بنابراين ميتوان گفت كه پالس 38 میلیثانیه به اين مفهوم است كه هيچ مانعي تا حد رنج نهايي فاصلهسنجي سنسور آشكار نشده است.
اگر پالسهاي ارسالي برگشت داده شوند، بهمحض دريافت توسط گيرنده سنسور مقدار پين Echo بهصورت Low خواهد شد. بنابراين بسته به مدتزمانی كه دريافت سيگنال برگشتي طول كشيده، يك پالس با عرض 150 ميكروثانيه تا 25 ميليثانيه توليد خواهد شد.
عرض پالس دريافتي براي محاسبه مسافت مانع روبرو مورداستفاده قرار ميگيرد. اين كار با استفاده از معادله فاصله-سرعت-زمان بهسادگی انجام ميشود. چنانچه اين رابطه را فراموش كردهايد، کافی است از شكل زير استفاده كنيد.
اجازه بدهيد براي روشن شدن موضوع از يك مثال استفاده كنيم. فرض كنيد مانعي در مقابل سنسور قرار دارد و عرض پالس پين Echo برابر 500 ميكروثانيه باشد. اكنون محاسبه ميكنيم كه مانع در چه فاصلهاي از سنسور قرار داشته است. از معادله زير استفاده ميكنيم:
Distance = Speed x Time
مقدار زمان را برابر 500µs داريم. سرعت صوت در هوا نيز برابر 340m/s است. براي محاسبه فاصله لازم است سرعت را برحسب cm/µs درنظر بگيريم. با كمك جستجوي Google بهسادگی ميتوانيد متوجه شويد كه سرعت صوت برحسب واحد مورد نظر 0.034cm/µs است. بنابراين فاصله بهصورت زير محاسبه ميشود:
Distance = 0.034 cm/µs x 500 µs
اما كار تمام نشده است! به ياد آوريد كه عرض پالس مشخصکننده زماني است كه سيگنال ارسال و پس از برخورد با مانع برگشت شده است. بنابراين لازم است نتيجه را بر 2 تقسيم كنيد.
Distance = (0.034 cm/µs x 500 µs) / 2
Distance = 8.5 cm
اكنون مشخص شد كه مانع پيش رو در فاصله 8.5 سانتيمتري سنسور بوده است.
برای راه اندازی سنسور آلتراسونیک SR04 با آردوینو به یکسری قطعات نیاز داریم که در ادامه به توضیح آنها می پردازیم.
قطعات مورد نیاز
- ماژول میکروکنترلر آردوینو UNO
- نمایشگر سبز 2*16 ال سی دی
- ماژول فاصله سنج SR04 چینی
- پین هدر 40*1 صاف نری
- سیم برد بوردی 65 تایی
- مینی برد بورد 400 سوراخ
- مقاومت 220 اهم 1/4 وات
- پتانسیومتر 5 کیلو اهم خوابیده
- کابل نری USB نوع A به نری USB نوع B
سیمکشی- راه اندازی سنسور آلتراسونیک SR04 با آردوینو
اکنونکه اطلاعات كافي در خصوص سنسور فاصلهسنج آلتراسونيك HC-SR04 را در اختيار داريم نوبت به بررسي نحوه اتصال آن به آردوينو فرا رسيده است.
راه اندازی سنسور آلتراسونیک SR04 با آردوینو بسيار ساده است. سنسور را بر روي برد قرار دهيد و پين VCC و GND آن را به ترتيب به پين 5 ولت و زمين آردوينو متصل كنيد. نتيجه كار باید شبيه به شكل زير شود:
اكنون به كد آردوينو براي تست و آزمون سنسور ميپردازيم.
كد آردوينو- استفاده از كتابخانه NewPing
بجاي تريگر كردن سنسور آلتراسونيك و اندازهگيري دستي عرض پالس سيگنال دريافتي در اين بخش از يك كتابخانه خاص استفاده ميكنيم. چندين كتابخانه براي اين كار وجود دارد كه متداولترین آنها كتابخانه “NewPing” نام دارد. ابتدا اين كتابخانه را از Bitbucket repo دانلود كنيد یا بهسادگی بر روي لينك زير براي دريافت فايل zip. آن كليك كنيد.
براي نصب اين كتابخانه نرمافزار Arduino IDE را باز كنيد و به Sketch > Include Library > Add .ZIP Library برويد و فايل دانلود شدهي NewPing.ZIP را انتخاب كنيد. اگر براي نصب كتابخانه به اطلاعات بيشتري نياز داريد آموزش Installing an Arduino Library را مشاهده كنيد.
كتابخانه NewPing کاملاً تخصصي بوده و به شكل قابل توجهي كارايي برنامه را بهبود ميدهد. اين كتابخانه ميتواند تا 15 سنسور را همزمان پشتيباني كند و خروجي را مستقیماً برحسب واحدهاي سانتيمتر، اينچ و فاصله زماني ارائه كند.
كد برنامه بهصورت زير است:
// This uses Serial Monitor to display Range Finder distance readings
// Include NewPing Library
#include "NewPing.h"
// Hook up HC-SR04 with Trig to Arduino Pin 9, Echo to Arduino pin 10
#define TRIGGER_PIN 9
#define ECHO_PIN 10
// Maximum distance we want to ping for (in centimeters).
#define MAX_DISTANCE 400
// NewPing setup of pins and maximum distance.
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
float duration, distance;
void setup()
{
Serial.begin(9600);
}
void loop()
{
// Send ping, get distance in cm
distance = sonar.ping_cm();
// Send results to Serial Monitor
Serial.print("Distance = ");
if (distance >= 400 || distance <= 2)
{
Serial.println("Out of range");
}
else
{
Serial.print(distance);
Serial.println(" cm");
}
delay(500);
}
خروجي برنامه بر روي سريال مانيتور بهصورت زير خواهد بود.
توضيح كد
برنامه بالا بسيار ساده بوده و بهخوبی كار ميكند. اما اين برنامه فقط داراي رزولوشن اندازهگيري يك سانتیمتر است. اگر بخواهيد فاصله را با دقت اعشار اندازهگيري كنيد ميتوانيد بجاي اينكه از NewPing در مد distance استفاده كنيد، آن را در مد duration بكار بگيريد. کافی است اين خط برنامه را
// Send ping, get distance in cm
distance = sonar.ping_cm();
با خط زير جايگزين كنيد.
duration = sonar.ping();
distance = (duration / 2) * 0.0343;
براي بهبود دقت اندازهگيري سنسور آلتراسونیک SR04 ميتوان از تابع ديگري به نام “iterations” از كتابخانه NewPing استفاده نمود. عنوان اين دستور به معني تكرار كردن بوده و بدين مفهوم است كه به سمت چيزي بيش از یکبار برويم و اين دقیقاً همان كاري است كه مد iteration mode انجام ميدهد. بجاي یکبار، چندين بار اندازهگيري انجام ميشود و قرائتهاي نامعتبر كنار گذاشته ميشود و متوسط بقيه اندازهگيريها در نظر گرفته ميشود. بهصورت پیشفرض، 5 بار اندازهگیری انجام خواهد شد. اما شما ميتوانید بهگونهای تنظیم كنيد که هر تعداد تمايل داريد، اندازهگيري شود.
int iterations = 5;
duration = sonar.ping_median(iterations);
فاصلهياب از راه دور (Contactless Distance Finder)
در اين بخش پروژهاي از نحوه بهکارگیری سنسور آلتراسونيك براي طراحي يك فاصلهسنج از راه دور ارائه ميشود. در اين پروژه از يك ال سي دي 2×16 كاراكتري براي ايجاد يك ميله افقي جهت نمايش گرافيكي فاصله تا مانع و درج عدد فاصله در زير آن استفاده ميكنيم. چنانچه با اين ال سي دي آشنايي نداريد، از جزوه آموزشي زير استفاده كنيد.
اكنون نوبت به اتصال LCD به شكل زير است:
قبل از آپلود كردن كد لازم است كتابخانه LCDBarGraph را نصب كنيم. اين كتابخانه به رسم بارگراف افقي بر روي LCD بطوريكه طول ميله (bar) متناسب با ارزش آن تغيير كند، كمك خواهد كرد. اين كتابخانه را ميتوانيد از Arduino Playground دانلود كنيد يا براي دانلود فايل آن، بر روی لينك زير كليك كنيد.
پس از نصب كتابخانه، از كد زير استفاده كنيد.
// includes the LiquidCrystal Library
#include <LiquidCrystal.h>
// includes the LcdBarGraph Library
#include <LcdBarGraph.h>
// Maximum distance we want to ping for (in centimeters).
#define max_distance 200
// Creates an LCD object. Parameters: (rs, enable, d4, d5, d6, d7)
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
LcdBarGraph lbg(&lcd, 16, 0, 1); // Creates an LCD Bargraph object.
const int trigPin = 9;
const int echoPin = 10;
long duration;
int distance;
void setup()
{
lcd.begin(16,2); // Initializes the interface to the LCD screen
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop()
{
// Write a pulse to the HC-SR04 Trigger Pin
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Measure the response from the HC-SR04 Echo Pin
duration = pulseIn(echoPin, HIGH);
// Determine distance from duration
// Use 343 metres per second as speed of sound
distance= duration*0.034/2;
// Prints "Distance: <value>" on the first line of the LCD
lcd.setCursor(0,0);
lcd.print("Distance: ");
lcd.print(distance);
lcd.print(" cm");
// Draws bargraph on the second line of the LCD
lcd.setCursor(0,1);
lbg.drawValue(distance, max_distance);
delay(500);
}
خروجي به شكل زير خواهد بود:
توضيح كد
ابتدا لازم است كتابخانه LiquidCrystal را فراخواني كنيد و در گام بعد LcdBarGraph را ايجاد كنيد. رفرنس LiquidCrystal بايد به تابع constructor مربوط به LcdBarGraph داده شود. اين constructor سه متغير اضافيتر نيز نياز دارد. دومين متغير، تعداد كاراكتر ستوني LCD است (كه در پروژه ما برابر 16 است). دو متغير آخر دلخواه هستند و با استفاده از آنها ميتوان موقعيت دلخواه نمودار میلهای را تنظيم نمود.
// creating bargraph instance
LcdBarGraph lbg(&lcd, 16, 0, 1);
اكنون فاصله مانع تا سنسور محاسبه ميشود و با استفاده از تابع drawValue(value, maxValue) بارگراف بين 0 تا مقدار maxValue نمايش داده ميشود.
//display bargraph
lbg.drawValue(distance, max_distance);
اتصال سنسور HC-SR04 با مد سه سيم (3-Wire Mode)
در مد سه سيم شما بجاي دو اتصال فقط به يك اتصال به پين ديجيتال I/O آردوينو نياز داريد. بسياري از سنسورهاي آلتراسونيك نظير سنسور parallax ping بر مبناي اين مد كار ميكنند. در مد سه سيم يك پين I/O تكي هم بهعنوان ورودي و هم بهعنوان خروجي عمل ميكند. اين نوع عملكرد به اين دليل قابل اجرا است كه هيچ موقع ورودي و خروجي بهصورت همزمان مورد استفاده قرار نميگيرند. با حذف نياز به يكي از پينهاي آردوينو، در حقيقت ميتوان از اين پين براي كاربردهاي ديگر استفاده نمود. بعلاوه، در مواقع استفاده از برخي چيپها نظير ATtiny85 كه داراي تعداد محدودي پين I/O هستند، استفاده از مد سه سيم ميتواند بسيار مفيد واقع شود.
در شكل زير نحوه اتصال سنسور آلتراسونيك HC-SR04 در مد سه سيم به آردوينو نمايش داده شده است.
همانگونه كه از شكل مشاهده ميشود هر دو پين Trig و Echo به پين شماره 9 آردوينو متصل شده است. تنها موردي كه در كد بايد اصلاح شود اين است كه پين شماره 9 براي هر دو پين Trig و Echo سنسور تعريف شود. باقی كد هيچ تفاوتي نخواهد داشت.
#define TRIGGER_PIN 9 // Trigger and Echo both on pin 9
#define ECHO_PIN 9
برای راه اندازی HC-SR04 چه محدوديتهایی وجود دارد؟
با در نظر داشتن دقت و عملكرد كلي ميتوان گفت كه HC-SR04 بخصوص در مقايسه با ساير سنسورهاي فاصلهسنج ارزانقیمت، كارايي بسيار خوبي دارد. البته به اين مفهوم نيست كه اين سنسور قادر به فاصله سنجي هر چیزی خواهد بود. در ادامه برخي از مواردی كه سنسور قادر به فاصله سنجي در آن موقعيت نیست را ارائه می دهیم.
- هنگامیکه فاصله بين سنسور و مانع بيشتر از 13 فوت (حدود 4 متر) باشد
- سطح مانع پيش رو صيقلي بوده و داراي خاصيت رفلكتي در زاويه كم باشد بهگونهای كه سيگنال صوتي ارسالي به سمت سنسور بازگشت داده نشود.
- اندازه مانع پيش روي سنسور آنقدر كوچك باشد كه سيگنال برگشتي به سمت سنسور بازگشت داده نشود. همچنين، اگر سنسور آلتراسونیک SR04 در پائين وسيله مورد نظر كار گذاشته شود، ممكن است هيچ سيگنالي از سمت سطح برگشت داده نشود.
- هنگام آزمايش با سنسور متوجه شديم كه برخي اجسام با سطح نرم و غیرمنظم (مانند حيوانات عروسكي)، بيشتر از آنكه سيگنال را برگشت دهند آن را جذب ميكنند و بنابراين تشخيص آنها براي سنسور مشكل خواهد بود.
تأثیر حرارت بر اندازهگیری فاصله
سنسور آلتراسونیک SR04 در اغلب پروژهها نظير سيستم تشخيص مهاجم و سيستم آلارم مجاورتي دقت قابل قبولي دارد. اما در مواردي ممكن است شما تمايل به طراحي سيستم فاصله سنجي در فضاي بيرون با شرايط دمايي غیرمعمول داشته باشد (خيلي گرم يا بسيار سرد). در چنين موقعيتهايي بايد دقت كنيد كه سرعت صوت در هوا بسته به ميزان دما، فشار و رطوبت تغيير خواهد كرد. با توجه به استفاده از مقدار سرعت صوت در هوا در محاسبه فاصله سنسور تا مانع، اندازهگيري سنسور در شرايط محيطي غيرمعمول تحت تأثیر قرار خواهد گرفت. چنانچه مقدار دما (C°) و رطوبت را داشته باشيد، سرعت صوت را میتوانيد از رابطه زير بدست آورید.
Speed of sound m/s = 331.4 + (0.606 * Temp) + (0.0124 * Humidity)
امیدواریم با استفاده از اطلاعاتی که در این مقاله به دست آورده اید، بتوانید به راحتی این سنسور قدرتمند را راه اندازی کنید و قدرت خفاش ها را تجربه کنید. اگر به راهنمایی بیشتری در این زمینه نیاز داشتید، می توانید با نوشتن دیدگاه خود با ما در ارتباط باشید.
۲۴ دیدگاه. Leave new
وقت بخیر اگد بخوایم همزمان دوتا التروسونیک رو استفاده کنیم برنامه به چه صورته.ممنون
سلام فرناز عزیز، توی حلقه اصلی درصورتی که یه بار دیگه با دستور sonar، یه پایه جدید رو برای ماژول کانفیگ کنیم و مجددا فاصله رو از اون پایه بخونیم،
میتونیم یه سنسور جدید به همون پایهای که تعریف کردیم، متصل کنیم و توی دوتا دستور جداگونه اطلاعات هر کدوم رو بخونیم و نمایش بدیم.
میشه کد قسمت اضافه کردن آلتراسونیک دیگه رو هم بنویسید
سلام به شما محمد عزیز،
یه سری تغییر تو کد اول مقاله دادیم،
این هم فایلش:
https://roboeq.ir/blog/wp-content/uploads/2022/01/2sensor.zip
الان شما باید سنسور دوم رو به پینای ۱۱ و ۱۲ وصل کنی و این کد رو اجرا کنی.
سلام وقتتون بخیر اگربخوایم اطلاعات دو تا سنسور را روی LCDنمایش بدهد باید کد نمایش روی LCD را چطور اضافه کنیم؟
سلام وقت شما هم بخیر،
باید مثل این مقاله عمل کنی:
https://roboeq.ir/blog/%D8%B1%D8%A7%D9%87-%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C-lcd-%D9%83%D8%A7%D8%B1%D8%A7%D9%83%D8%AA%D8%B1%DB%8C-16×2-%D8%A8%D8%A7-%D8%A2%D8%B1%D8%AF%D9%88%DB%8C%D9%86%D9%88/
اول کتابخانه LCD رو اضافه کن، بعد یک شی از این کتابخانه بساز و پینهای آردوینو متصل به LCD رو مشخص کن.
سپس با تابع begin شی رو استارت کن. تنظیمات LCD آمادهست.
حالا میتونیم با دستورات clear، print، و setCursor متن نمایش بدیم. طبیعتا همونجایی که مقدار خونده شده رو روی سریال مانیتور نمایش دادیم،
جای مناسبی برای نمایش روی LCD هم هست.
سلام
بنده از این سنسور در پروژم استفاده کردم
درصورتی که جسم یا شیٔ، ثابت باشد اندازه گیری
بصورت دقیق هست، اما اگر جسم برای مثال انسان باشد و مدام در حال نزدیک و دور شدن به سنسور باشد
داده دقیق نیست
و بعضی جاها اصلا انسان رو درست تشخیص نمیده چون اون صوت ارسالی توسط پوست یا لباس دفع میشه.
میخواستم نظر شما رو بدونم، چه سنسوری مناسب هست؟
درود بر شما محمد عزیز
با توجه به ساختار این سنسور، مواردی که گفتید طبیعی هست. برای اندازهگیریهای دقیقتر و با فاصله دورتر، معمولا از سنسورهای اپتیکی مثل لیزرها یا رادار و لیدار استفاده میشود. همچنین در کاربردهای حساستر ممکن است نیاز به استفاده از چند نوع سنسور باشد برای مثال در اتوموبیلهای خودران، علاوه بر رادار از تصاویر پردازش شده دوربین نیز استفاده میشود.
سلام،
وقت بخیر
به غیر از عرض پالس، پارامترهای دیگری هم میشه از این سنسور خروجی گرفت؟
سلام سجاد عزیز، وقت شما هم بخیر
خیر امکانش نیست.
سلام خسته نباشید اگه بخواهیم دو تا سنسور التراسونیک SR04 رو برای دو کار جداگانه جدا از هم با یه دونه برد آردوینو UNO راه اندازی کنیم که التراسونیک ها جدا جدا کار کنند خیلی ممنون میشم جواب بدید سپاس
سام و درود برشما دوست عزیز
لطفا پرسشهای قبلی مخاطبان روبوایکیو رو مطالعه کنید و اگر باز هم ابهامی بود با ذکر جزئیات، سوالتون را با کارشناسان ما مطرح و پاسخ خود را در اسرع وقت دریافت کنید.
متشکریم از همراهی شما
باسلام،ممنون از سایت خوب تون
یک سوالی داشتم :الان تو توضیحات بازه فاصله سنج این سنسور رو۲سانتی متر تا۴ مترذکر کرده، حال اگربخواهیم طول این بازه بیشتر بشه باید چهکنیم؟مثلا بخواهیم تا فاصله ای حدود۱۰متر رو اندازه بگیره…
سلام سوسن عزیز،
محدودیت فاصله به خاطر مشخصات فیزیکی سنسوره.
بنابراین، برای افزایش فاصله یا باید از فرستنده گیرندهای آلتراسونیکی استفاده کنی که برد بالاتری داشته باشه،
یا اینکه از انواع دیگر فاصلهسنج مثل فاصلهسنجهای لیزری استفاده کنی.
سلام وقت بخیر میشه جوری طراحی کرد که ۸ التراسونیک رو به هم وصل کرد؟ جوری برنامه داد که هماهنگ با هم تو یه خط عرضی یک کار رو انجام بدن ؟یا اصلا میشه جدا باشن ولی به یک برد وصل بشن و یک برنامه رو ارائه بدن ؟
سلام و درود بر شما علی عزیز
همونطور که داخل مقاله هم گفتیم، کتابخانه مورد استفاده ما تا ۱۵ سنسور جوابگو هست. برای متصل کردن ۸ سنسور، میتونید پایه های تریگر رو دو تا دو تا به هم متصل کنید و پایه اکو هر سنسور رو جداگانه به یکی از پایههای دیجیتال آردوینو وصل کنید. به این ترتیب با ۸+۴=۱۲ پایه دیجیتال آردوینو UNO، تعداد ۸ سنسور قابل راه اندازی است.
سپاس از همراهی شما 🙂
سلام
برای مایعات هم کار می کنه؟
درود بر شما محمد عزیز
بله، از سنسورهای آلتراسونیک برای اندازهگیری ارتفاع مایعات هم استفاده می شود و شما می توانید از لینک زیر پروژه ای را در این رابطه مطالعه نمایید:
https://www.instructables.com/Measuring-water-level-with-ultrasonic-sensor/
سلام ممکنه سنسور در یک توپ شیشه ای قرار بدیم و بندازم داخل اب با فرو رفتن در اب مثل رادار کف استخر یا دریا تشخیص بدیم. فکر می کنید با این سنسور توانایی داره در ظرف شیشه ای باشه و همزمان در عمق اب باشه فاصله را اندازه گیری کنیم؟
درود برشما دوست عزیز
سنسور التراسونیک مناسب این کاربرد نیست و میبایست از سنسورهای فرکانس بالا استفاده شود.
سلام وقتتون بخیر
یه سوالی داشتم در رابطه با ماژول های اولتراسونیک
بنده یه پروژه دارم که باید صداهای اولتراسونیک محیط رو دریافت کنم و تبدیلشون کنم به صدای قابل شنیدار
خواستم بپرسم که این دریافت صداهای اولتراسونیک با چه ماژولی انجام میشه ؟
سلام امیررضای عزیز
ممنون از شما
از سنسورهای گیرنده اولتراسونیک مانند سنسور گیرنده آلتراسونیک ۱۲ میلی متر استفاده کنید. البته می بایست کیفیت و حساسیت سنسور را با توجه به دقت مدنظر انتخاب کنید.
این برنامه نویسی برای اردوینو یونو نیست اگه میشه برای یونو هم به من بدید ممنون
درود بر شما
کد ارائه شده برای اردوینو UNO است.