معرفی:
ماژول فاصله سنج مادون قرمز شارپ با کد تجاری GP2Y0A41SK یکی از سنسورهای دقیق فاصله سنج نوری است که در محدوده 4 تا 30 سانتی متر توانایی تشخیص فاصله را دارد. از آنجایی که عملکرد سنسور فاصله سنج مادون قرمز با ولتاژ آنالوگ همراه میباشد، کارایی سادهای خواهد داشت. سنسورهای IR با استفاده از یک نور خاص برای تشخیص یک طول موج نور انتخاب شده در طیف مادون قرمز (IR) کار می کنند. با استفاده از LED که نوری را در همان طول موج مورد نظر سنسور تولید می کند، می توانید شدت نور دریافتی را مشاهده کنید. وقتی جسمی به سنسور نزدیک است، نور LED از جسم برمی گردد و به درون حسگر نور می رود. همچنین این ماژول با ولتاژ تغذیه بین 4.5 ولت و 5.5 ولت کار می کند.ماژول فاصلهسنج GP2Y0A41SK یک سنسور فاصلهسنج مادون قرمز است که توسط شرکت شارپ (Sharp) تولید میشود. این سنسور قابلیت اندازهگیری فاصله را با استفاده از ارسال اشعه مادون قرمز و دریافت بازتاب آن از اجسام محیط اطراف دارد. با توجه به بازتاب دریافتی، ماژول میتواند فاصله از اجسام را تخمین بزند.این ماژول از ماژولهای سنسور فاصلهسنج تاشو میباشد و برای اندازهگیری فاصله در محدودهی 4 تا 30 سانتیمتر استفاده میشود. دقت اندازهگیری این سنسور نسبتاً مناسب بوده و میتواند در انواع پروژهها و رباتیک مورد استفاده قرار گیرد.
مشخصات:
- محدوده اندازهگیری: در حدود 4 تا 30 سانتیمتر
- ولتاژ تغذیه: 5 ولت (DC)
- جریان مصرفی: میزان جریان مصرفی توسط سنسور در زمان اندازهگیری
- رابط ارتباطی: از نوع آنالوگ یا دیجیتال
- دقت اندازهگیری: دقت در اندازهگیری فاصله تا اجسام
- اندازهها و ابعاد: اندازههای بدنه و ابعاد فیزیکی سنسور
بررسی پایه ها:
Vcc: منبع تغذیه (متصل به +5 ولت)
OUT: سیگنال خروجی (آنالوگ یا دیجیتال) که فاصله اندازهگیری شده را نمایش میدهد.
GND: زمین (متصل به 0 ولت یا زمین)
راه اندازی ماژول فاصله سنج GP2Y0A41SK با آردوینو:
کد آردوینو برای ماژول فاصله سنج مادون قرمز GP2Y0A41SK در ادامه نوشته شده است.در ابتدا، پین مورد استفاده برای خواندن مقدار آنالوگ از ماژول فاصله سنج (OUT) به عنوان irSensorPin تعریف شده است.در تابع setup، ارتباط سریال با کامپیوتر با سرعت 9600 بود را تنظیم میشود.در حلقه loop، ابتدا مقدار آنالوگ خوانده شده از ماژول (irSensorPin) با استفاده از تابع analogRead در متغیر sensorValue ذخیره میشود.سپس مقدار آنالوگ به تابع calculateDistance ارسال میشود تا به فاصله به واحد سانتیمتر تبدیل شود.فاصله محاسبهشده به همراه یک پیام مربوطه در مانیتور سریال چاپ میشود.با توجه به آلودگی مانیتور سریال، با استفاده از دستور delay، حلقه بهطور موقت تا 500 میلیثانیه توقف میکند و سپس تکرار میشود.تابع calculateDistance نیز برای تبدیل مقدار آنالوگ به فاصله استفاده میشود. این تابع به صورت نمونهای کالیبره شده است، اما برای استفاده دقیقتر و داشتن نتایج بهتر، بهتر است مقادیر آن را بر اساس دیتاشیت و کالیبراسیون دستگاه خود تنظیم کنید.
const int irSensorPin = A0; // پین ورودی آنالوگ که به پین OUT ماژول فاصله سنج متصل میشود
void setup() {
Serial.begin(9600); // مقداردهی اولیه ارتباط سریال
}
void loop() {
int sensorValue = analogRead(irSensorPin); // خواندن مقدار آنالوگ از ماژول فاصله سنج مادون قرمز
float distance = calculateDistance(sensorValue); // تبدیل مقدار آنالوگ به فاصله به واحد سانتیمتر
// چاپ مقدار فاصله در مانیتور سریال
Serial.print(“فاصله: “);
Serial.print(distance);
Serial.println(” سانتیمتر”);
delay(500); // تأخیر کوچک برای جلوگیری از آلودگی مانیتور سریال
}
// تابع برای تبدیل مقدار آنالوگ به فاصله به واحد سانتیمتر
float calculateDistance(int analogValue) {
// شما ممکن است بخواهید این تابع را بر اساس ماژول و محیط خود کالیبره کنید.
// مقادیر زیر بر اساس یک کالیبراسیون نمونه برای ماژول GP2Y0A41SK انتخاب شدهاند.
// لطفاً برای نتایج دقیق، به دیتاشیت یا کالیبراسیون خود مراجعه کنید.
float voltage = analogValue * (5.0 / 1023.0); // تبدیل خواندن آنالوگ به ولتاژ
float distance = 61.573 * pow(voltage, -1.1068); // محاسبه فاصله با استفاده از معادله قانون توان
return distance;
}
راه اندازی ماژول فاصله سنج GP2Y0A41SK با میکروپایتون:
برای راه اندازی ماژول فاصلهسنج GP2Y0A41SK مادون قرمز از MicroPython استفاده میکنیم. برای این منظور، ابتدا باید پینهای Vcc، OUT و GND سنسور را به پینهای مناسب در میکروکنترلر یا برد توسعهی خود متصل کنید. خروجی سنسور (پین OUT) با استفاده از مبدل آنالوگ به دیجیتال (ADC) یا پین دیجیتال GPIO میتواند خوانده شود، این بستگی به نوع ماژول دارد.کد پایتونی سادهای که از MicroPython برای خواندن مقادیر فاصله از ماژول GP2Y0A41SK استفاده میکنیم به شرح زیر است. در این مثال، از ADC در میکروکنترلر ESP32 برای خواندن مقادیر آنالوگ استفاده میشود.
from machine import Pin, ADC
import time
# تعیین پین ADC (پین ورودی آنالوگ)
adc_pin = 34 # این عدد را با شماره پین ADC روی ESP32 خود تغییر دهید
# ایجاد شیء ADC
adc = ADC(Pin(adc_pin))
# تنظیم فاصله توسط ADC (به تنظیم مورد نیاز خود بپردازید)
adc.atten(ADC.ATTN_11DB)
def read_distance():
# خواندن مقدار آنالوگ از سنسور
مقدار_آنالوگ = adc.read()
# تبدیل مقدار آنالوگ به فاصله (شما باید این مقدار را براساس تنظیمات خودتان کالیبره کنید)
# مقادیر زیر را با مقادیر کالیبراسیون مربوط به خود جایگزین کنید
فاصله_سانتیمتر = 2076.0 / (مقدار_آنالوگ – 11.0)
return فاصله_سانتیمتر
while True:
فاصله = read_distance()
print(“فاصله: {:.2f} سانتیمتر”.format(فاصله))
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.