Немного теории. Парктроник или Парковочный радар это устройство предназначенное для отслеживания расстояния между автомобилем и каким — то объектом, как правило парктроники устанавливают с задней части машины.
Даже несмотря на цену ~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 я получил с этого сайта
ссылка на оригинал статьи https://habr.com/post/421747/
Добавить комментарий