• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to secondary sidebar
  • Skip to footer

У Павла!

  • Контроллеры
    • Arduino
      • Приборы
      • Музыка
      • Проекты Arduino
      • Уроки Arduino
      • Игры на Arduino
      • Роботы на Ардуино
      • FLProg
    • Одноплатные ПК
      • Orange pi
      • Raspberry pi
        • Raspberry pi pico
        • Raspberry pi server
        • Проекты Raspberry pi
    • ESP
      • ESP8266
        • NodeMCU
      • ESP32
      • M5stack
    • Другие контроллеры
      • STM32
  • Умный дом
    • Home Assistant
      • Автоматизации
    • Tuya
    • Bluetooth
    • ESPHome
    • Frigate
    • Telegram
    • Яндекс
  • ЧПУ
  • 3d печать
  • Об авторе

Парктроник на Arduino

4 февраля, 2017

Нам понадобится:

Ссылочка на датчик HC-SR04: http://ali.ski/EhZA7x
Cсылочка на макетную плату: http://ali.ski/rq8wz8
Ссылочка на контактные провода: http://ali.ski/Exjr3
Ссылочка на диоды и резисторы: http://fas.st/KK7DwjyF
Cсылочка на пьезоизлучатель: http://ali.ski/9mNnRi
Ссылочка на Arduino uno: http://ali.ski/gC_mOa

Sensor Shield: http://ali.ski/aDWTuB

Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.

 

В данном примере мы посмотрим как сделать примитивный парктроник.

Принцип работы будет заключаться в следующем:

За дальномер взят датчик HC-SR04 он довольно точный и измеряет на расстоянии до 6 метров, что для наших нужд за глаза.

Так как у нас нет камеры, будем ориентироваться по звуку зумера и по диодам разного цвета, которые будут сигнализировать нам расстояние до объекта.

Датчик HC-SR04 мы будем подключать к 12 и 13 пинам ардуино. Диодов возьмем 6 шт. и подключим их с 2 по 7 пины ардуино. А буззер подключим к 11 пину ардуино.
После подключения всех компонентов необходимо скопировать программный код приведенный ниже и вставить его в программу Arduino IDE и загрузить этот программный код в саму плату Arduino.

#define trigPin 12 // объявление 
#define echoPin 13 // переменных 
#define led 2
#define led2 3
#define led3 4
#define led4 5
#define led5 6
#define led6 7
#define buzzer 11

int sound = 250;


void setup() {
Serial.begin (9600); // настройка
pinMode(trigPin, OUTPUT); // портов
pinMode(echoPin, INPUT); 
pinMode(led, OUTPUT); 
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(buzzer, OUTPUT);

}

void loop() {
long duration, distance;
digitalWrite(trigPin, LOW); 
delayMicroseconds(2);
digitalWrite(trigPin, HIGH); // чтобы начать измерения,
delayMicroseconds(10); // необходимо на вход trigPin подать высокий сигнал 5В на 10мкс
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH); // с выхода echoPin считывается как долго был открыт порт
distance = (duration/2) / 29.1; // преобразование полученного параметра в дистанцию

if (distance <= 30) { // первое условие, если расстояние меньше либо равно 30,
digitalWrite(led, HIGH); // тогда включить первый светодиод
sound = 250;
}
else {
digitalWrite(led,LOW); // если условие не выполняется, выключить светодиод
}
if (distance < 25) {
digitalWrite(led2, HIGH);
sound = 260;
}
else {
digitalWrite(led2, LOW);
}
if (distance < 20) {
digitalWrite(led3, HIGH);
sound = 270;
} 
else {
digitalWrite(led3, LOW);
}
if (distance < 15) {
digitalWrite(led4, HIGH);
sound = 280;
}
else {
digitalWrite(led4,LOW);
}
if (distance < 10) {
digitalWrite(led5, HIGH);
sound = 290;
}
else {
digitalWrite(led5,LOW);
}
if (distance < 5) { digitalWrite(led6, HIGH); sound = 300; } else { digitalWrite(led6,LOW); } if (distance > 30 || distance <= 0){
Serial.println("***");
noTone(buzzer);
}
else {
Serial.print(distance); // выводит расстояние в сантиметрах
Serial.println(" cm"); // в мониторе последовательного порта
tone(buzzer, sound); // задает соответствующий тон пьезодинамика

}
delay(500); // задержка пол сикунды
}

Скетч: https://yadi.sk/d/-gc7ifdsvrVRL

Демонстрация работы данной программы можно увидеть в видео приведенном в конце статьи.

Видео:

Primary Sidebar

Поиск

Новые записи

  • Автоматизация перезагрузки устройства по команде Ping.
  • Разблокирование и добавление шлюза Xiaomi gateway 3 в Home Assistant для управления Bluetooth устройствами из экосистемы Xiaomi Home (mihome)
  • Интеграция для локального управления (без интернета) ик пультом Tuya работающим по wifi из Home Assistant
  • Транслируем показания с Уличного Bluetooth Датчика температуры по BTHome на дисплей датчика температуры XIaomi LYWSD03MMC
  • Заставляем Bluetooth датчики температуры tuya и xiaomi отправлять данные по Zigbee в Home Assistant.

Официальный YouTube Канал M5Stack:

Подписывайтесь на Телеграм канал

https://t.me/ypavla

Подписаться на YouTube!

Secondary Sidebar




Подписывайтесь на Telegram Канал!

У Павла!

Footer

Copyright_У Павла! © 2025 ·