Немного теории. Парктроник или Парковочный радар это устройство предназначенное для отслеживания расстояния между автомобилем и каким — то объектом, как правило парктроники устанавливают с задней части машины.
Даже несмотря на цену ~1936 рублей я решил смастерить свой вариант этого устройства. Начать я решил с малого, и создал наверное самый простой парктроник из всех возможных.
И так от теории к практике, для сборки устройства нам понадобится, 3 светодиода (я взял разных цветов, так проще и нагляднее); Пьезоизлучатель с генератором*; Ультразвуковой дальномер HC-SR04; Резистор на 220 ом и мощностью 0.25 ватта (хотя уместны и другие, большая мощность тут не к чему) и Arduino любой модели.
Сборка.
- GND (-) светодиодов и пьезоизлучателя соеденяем вместе и подключаем в пин GND через резистор.
- VCC (+) у дальномера соеденяем с пином +5V Arduino, Trig в 10, Echo в 11, а куда GND думаю уже ясно.
Хорошо, схему мы собрали, что дальше? А дальше пишем программу, для тех кто не знает Arduino программируется на ЯП Wiring, это упрощённый C++, в качестве IDE проще всего использовать Arduino IDE.
Вот программа:
int trigPin = 10; // номер пина Trig
int echoPin = 11; // номер пина Echo
int rLed = 12; // номер пина к которому подключён красный LED
int yLed = 8; // номер пина к которому подключён жёлтый LED
int bLed = 9; // номер пина к которому подключён синий LED
int buzz = 7; // номер пина к которому подключён пьезоизлучатель
void setup() {
// Настраиваем пины
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(bLed, OUTPUT);
pinMode(yLed, OUTPUT);
pinMode(rLed, OUTPUT);
pinMode(buzz, OUTPUT);
}
void loop() {
int duration, distance;
// для большей точности установим значение LOW на пине Trig
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Теперь установим высокий уровень на пине Trig
digitalWrite(trigPin, HIGH);
// Подождем 10 μs
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Узнаем длительность высокого сигнала на пине Echo
duration = pulseIn(echoPin, HIGH);
// Рассчитаем расстояние
distance = duration / 58;
if (distance > 20) { // Если расстояние > 20 см то
digitalWrite(bLed, HIGH); // Включаем только синий LED
digitalWrite(yLed, LOW);
digitalWrite(rLed, LOW);
digitalWrite(buzz, LOW);
}
else if (distance <= 20 && distance > 10) { // Расстояние от
// 20 до 10
digitalWrite(yLed, HIGH); // Включаем только жёлтый LED
digitalWrite(bLed, LOW);
digitalWrite(rLed, LOW);
digitalWrite(buzz, LOW);
}
else if (distance < 10) { // Расстояние < 10
digitalWrite(rLed, HIGH); // Включаем только красный LED
digitalWrite(yLed, LOW);
digitalWrite(bLed, LOW);
digitalWrite(buzz, HIGH); // И пьезоизлучатель
}
delay(100); // Ждём 100 милисекунд
}
Я не собирал готовое устройство потому что сейчас работаю на новой моделью ПОН-2 с четырёхразрядным семисегментным индикатором.
Немного фото, видео, и картинок:
* Пьезозлучатель с генератором выглядит примерно так:
Шаг 1:
Шаг 2:
Работа устройства в картинках:
Кусок кода программы и информацию о дальномере HC-SR04 я получил с этого сайта
Комментариев нет:
Отправить комментарий