برای سیستمهای پارکینگ هوشمند، ماژولهای فاصلهسنج میتوانند به عنوان حسگرهای تشخیص موانع و اندازهگیری فاصله خودروها از موانع مختلف استفاده شوند. در اینجا برخی از ماژولهای فاصلهسنج مناسب برای این کاربرد آورده شده است:
ماژول فاصلهسنج اولتراسونیک 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]