آنچه در این آموزش یاد میگیرید
- ماژول آلتراسونیک چیست و چگونه کار میکند
- راه اندازی ماژول توسط آردوینو
- کنترل صفحه نمایشگر با آردوینو و ماژول آلتراسونیک
ماژول آلتراسونیک چیست و چگونه کار می کند؟
کلمه آلتراسونیک Ultrasonic به معنای مافوق صوت است. محدوده فرکانس شنوایی انسان 20 هرتز تا 20 هزار هرتز است. محدوده فرکانسی امواج مافوق صوت 40 کیلو هرتز تا چندین مگا هرتز میباشد.
سنسور آلتراسونیک یک دستگاه تکنولوژیکی قابل توجه است که از امواج مافوق صوت برای تشخیص و اندازه گیری اشیا، فواصل و حرکت استفاده میکند. حسگرهای التراسونیک با الهام از تواناییهای پژواک یابی طبیعی حیواناتی مانند خفاشها و دلفینها، فناوری ادراک را متحول کرده و کاربردهای گستردهای در صنایع متعدد یافته است.
سنسور آلتراسونیک از چندین جزء کلیدی تشکیل شده است که در کنار هم عملکرد و قابلیتهای اندازهگیری دقیق را فعال میکنند. شناخت این اجزا برای درک عملکرد داخلی حسگر بسیار مهم است. بیایید عناصر اساسی یک حسگر التراسونیک را بررسی کنیم:
- مبدل: مبدل قلب حسگر التراسونیک است. انرژی الکتریکی را به امواج صوتی التراسونیک و بالعکس تبدیل میکند.
- نوسانگر: نوسان ساز سیگنال الکتریکی تولید میکند که مبدل را به حرکت در میآورد.
- مدار ماشه: مدار ماشه زمان و مدت زمان پالسهای التراسونیک ساطع شده توسط مبدل را کنترل میکند.
- مدار گیرنده: مدار گیرنده سیگنالهای ضعیف دریافت شده توسط مبدل را پس از انعکاس امواج التراسونیک از اجسام تقویت و فیلتر میکند.این قطعه همچنین نسبت سیگنال به نویز را افزایش میدهد و سیگنالهای دریافتی را برای پردازش بیشتر آماده میکند.
- مدار اندازه گیری زمان: این مدار زمان لازم برای حرکت امواج التراسونیک از حسگر به جسم و برگشت را اندازهگیری میکند.
- میکروکنترلر/پردازنده: این قطعه می تواند محاسبات پیچیده را انجام دهد، دادهها را ذخیره کند و یکپارچهسازی با سیستمهای دیگر را فعال کند.
بهطور کلی، ادغام این اجزا در یک حسگر التراسونیک امکان اندازهگیری دقیق و قابل اعتماد را فراهم میکند و آن را به ابزاری همه کاره با کاربردهای مختلف از رباتیک و سیستمهای خودرو گرفته تا اتوماسیون صنعتی و مراقبتهای بهداشتی تبدیل میکند.
اکثر ماژول هاي آلتراسونيک از دو قسمت فرستنده و گيرنده تشکيل شدهاند. گيرنده و فرستنده ماژولهاي SRF04 و SRF05 در کنار يکديگر قرار دارند و مي توانند جسم هاي در فاصله 2 تا 300 سانتي متر را با دقت قابل قبولي تشخيص دهند. ماژول SRF05 نسخه تکامل يافته SRF04 مي باشد. اين نسخه دو مد کاري را پشتيباني مي کند و 5 پايه جهت کار با ماژول را در اختيار قرار مي دهد. اما ماژول SRF04 داراي 4 پايه مي باشد و تنها يک مد کاري را پشتيباني مي کند. هردوي اين ماژول ها داراي يک مد کاري مشترک هستند که اين مد کاري با نام مد 1 شناخته مي شود.
راه اندازی ماژول توسط آردوینو
قطعات مورد نیاز
- Arduino Uno
- ماژول آلتراسونیک Hc-sr04
- برد بورد
- 7 عدد ال ای دی
- 7 عدد مقاومت 220اهم
- سیم جامپر
نحوه اتصال ماژول آلتراسونیک به آردوینو
کد 1:(اندازه گیری فاصله)
const int trig = 12;
const int echo = 13;
int duration = 0;
int distance = 0;
void setup()
{
pinMode(trig , OUTPUT);
pinMode(echo , INPUT);
Serial.begin(9600);
}
void loop()
{
digitalWrite(trig , HIGH);
delayMicroseconds(1000);
digitalWrite(trig , LOW);
duration = pulseIn(echo , HIGH);
distance = (duration/2) / 29.1 ;
Serial.println(distance);
}
کد 2:( اندازه گیری فاصله و تابش ال ای دی)
const int trig = 12;
const int echo = 13;
const int LED1 = 8;
const int LED2 = 7;
const int LED3 = 6;
const int LED4 = 5;
const int LED5 = 4;
const int LED6 = 3;
const int LED7 = 2;
int duration = 0;
int distance = 0;
void setup()
{
pinMode(trig , OUTPUT);
pinMode(echo , INPUT);
pinMode(LED1 , OUTPUT);
pinMode(LED2 , OUTPUT);
pinMode(LED3 , OUTPUT);
pinMode(LED4 , OUTPUT);
pinMode(LED5 , OUTPUT);
pinMode(LED6 , OUTPUT);
pinMode(LED7 , OUTPUT);
Serial.begin(9600);
}
void loop()
{
digitalWrite(trig , HIGH);
delayMicroseconds(1000);
digitalWrite(trig , LOW);
duration = pulseIn(echo , HIGH);
distance = (duration/2) / 28.5 ;
Serial.println(distance);
if ( distance <= 7 )
{
digitalWrite(LED1, HIGH);
}
else
{
digitalWrite(LED1, LOW);
}
if ( distance <= 14 )
{
digitalWrite(LED2, HIGH);
}
else
{
digitalWrite(LED2, LOW);
}
if ( distance <= 21 )
{
digitalWrite(LED3, HIGH);
}
else
{
digitalWrite(LED3, LOW);
}
if ( distance <= 28 )
{
digitalWrite(LED4, HIGH);
}
else
{
digitalWrite(LED4, LOW);
}
if ( distance <= 35 )
{
digitalWrite(LED5, HIGH);
}
else
{
digitalWrite(LED5, LOW);
}
if ( distance <= 42 )
{
digitalWrite(LED6, HIGH);
}
else
{
digitalWrite(LED6, LOW);
}
if ( distance <= 49 )
{
digitalWrite(LED7, HIGH);
}
else
{
digitalWrite(LED7, LOW);
}
}
فیلم رو مشاهده بفرمایید:👀
دیدگاه خود را بنویسید