برای سیستمهای پارکینگ هوشمند، ماژولهای فاصلهسنج میتوانند به عنوان حسگرهای تشخیص موانع و اندازهگیری فاصله خودروها از موانع مختلف استفاده شوند. در اینجا برخی از ماژولهای فاصلهسنج مناسب برای این کاربرد آورده شده است:
ماژول فاصلهسنج اولتراسونیک HC-SR0
ویژگیها
ماژول فاصلهسنج مادون قرمز GP2Y0A21YK0F
ویژگیها
ماژول فاصلهسنج لیزری VL53L0X
ویژگیها
نحوه اتصال به Arduino
(با استفاده از کتابخانه Adafruit):
ماژول فاصلهسنج اولتراسونیک HC-SR0
ویژگیها
- برد اندازهگیری: 2 سانتیمتر تا 4 متر
- دقت: حدود 3 میلیمتر
- زاویه اندازهگیری: حدود 15 درجه
- قیمت مناسب: اقتصادی و مقرونبهصرفه
- VCC به 5V Arduino
- GND به GND Arduino
- Trig به یکی از پینهای دیجیتال (مثلاً D9)
- Echo به یکی از پینهای دیجیتال (مثلاً D10)
کد:
#define trigPin 9
#define echoPin 10
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration / 2) / 29.1; // تبدیل مدت زمان به فاصله (سانتیمتر)
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
delay(1000);
}[COLOR=#333333][SIZE=14px][FONT=Tahoma][/FONT][/SIZE][/COLOR]
ماژول فاصلهسنج مادون قرمز GP2Y0A21YK0F
ویژگیها
- برد اندازهگیری: 10 تا 80 سانتیمتر
- دقت: حدود 1 سانتیمتر
- زاویه اندازهگیری: باریک
- پایداری بالا در برابر نور محیط
- VCC به 5V Arduino
- GND به GND Arduino
- Vout به یکی از پینهای آنالوگ (مثلاً A0)
کد:
const int sensorPin = A0;
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(sensorPin);
float voltage = sensorValue * (5.0 / 1023.0);
float distance = 27.86 * pow(voltage, -1.15); // تبدیل ولتاژ به فاصله (سانتیمتر)
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
delay(1000);
}
ویژگیها
- برد اندازهگیری: تا 2 متر
- دقت بالا: حدود 3 میلیمتر
- زاویه اندازهگیری: بسیار باریک
- مصرف کم انرژی
نحوه اتصال به Arduino
- VIN به 5V Arduino
- GND به GND Arduino
- SCL به پین SCL Arduino (معمولاً A5)
- SDA به پین SDA Arduino (معمولاً A4)
(با استفاده از کتابخانه Adafruit):
کد:
#include <Wire.h>
#include <Adafruit_VL53L0X.h>
Adafruit_VL53L0X lox = Adafruit_VL53L0X();
void setup() {
Serial.begin(9600);
if (!lox.begin()) {
Serial.println(F("Failed to boot VL53L0X"));
while(1);
}
}
void loop() {
VL53L0X_RangingMeasurementData_t measure;
lox.rangingTest(&measure, false);
if (measure.RangeStatus != 4) {
Serial.print(F("Distance: "));
Serial.print(measure.RangeMilliMeter);
Serial.println(F(" mm"));
} else {
Serial.println(F("Out of range"));
}
delay(1000);
}[COLOR=#333333][SIZE=14px][FONT=Tahoma][/FONT][/SIZE][/COLOR]




