Arduino

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

В этом крафте покажу как сделать парктроник на Arduino при помощи ультразвукового дальномера HC-SR04. Дешевый и простой в использовании дальномер подойдет также для создания навигации в робототехнике, чтобы объезжать препятствия. Его также можно использовать при создании сигнализации или  управлении освещением.

Ультразвуковой шилд HC-SR04 для Arduino или Ultrasonic sensor, работает по принципу эхо-локации излучает звуковую волну и принимает отраженный эхо-сигнал. Время между отправленным и принятым сигналом можно преобразовать в расстояние.

Видео ультразвуковой парктроник на Arduino

Чтобы сделать парктроник своими руками понадобится

parktronik-na-arduino-komponenti

  • Arduino
  • Ультразвуковой дальномер HC-SR04
  • Светодиоды — 6шт.
  • Резисторы 220Ом — 6шт.
  • Провода папа-папа
  • Пьезодинамик — 1шт.
  • Макетная плата

Делаем парктроник при помощи Arduino и датчика HC-SR04

На макетной плате размещаем 6 светодиодов. У светодиодов минус будет общим. Катод ( короткая ножка) подсоединяем к минусовой шине на макетной плате.

Светодиоды для парктроника

К длинным ножкам светодиодов (анод) подключаем резистор 220Ом, без него светодиод сгорит.

Резисторы и светодиоды для парктроника

По центру устанавливаем ультразвуковой датчик.

Ультразвуковой дальномер для парктроника

Ультразвуковой шилд

Дальномер HC-SR04 имеет 4 ножки:

  • Vcc — питание 5В
  • Echo — выход
  • Trig — вход
  • GND — земля 0В

К ножкам датчика парктроника подключаем провода. Echo будет соединен с 13-м контактом, а Trig с 12-м. GND к земле на плате микроконтроллера, а Vcc соответственно к выводу 5В на Arduino.

Распиновка HC-SR04

Также подключаем провода к ножкам резисторов. И последовательно к пинам Arduino от 2 до 7.

Как подключить светодиоды к парктронику

Пьезопищалка имеет два контакта плюс и минус. Отрицательный контакт можно объединить с минусом от ультразвукового дальномера. А положительный соединить с 11 пином на плате Arduino UNO.

Парктроник и пьезодинамик    Как подключить пьезоэлемент к парктронику

    

    

 

Код программы для парктроника на Arduino

Чтобы схема парктроника на Arduino заработала, необходимо написать и загрузить скетч (код программы).

При приближении на указанную в скетче дистанцию будут загораться последовательно светодиоды и звучать сигнал разной тональности, который предупредит об опасном сближении.

HC-SR04 дальномер ультразвуковой

Заключение

На основе Ультразвуковых датчиков можно сделать много полезных Arduino проектов. Один из них ультразвуковй дальномер с индикацией или проще говоря парктроник на Arduino. Вместо светодиодной индикации есть возможность использовать LCD, OLED дисплеи или семисегментный индикатор.

Тэги

Инди

Автор и администратор крафт-площадки indyCRAFT. Все вопросы и предложения пишите на: indycraft@yandex.ru

Прикрепленные

7 thoughts on “Парктроник на Arduino”

    1. Необходимо поменять вот этот параметр — distance = (duration/2) / 29.1; Лучше экспериментальным путем, меняя значение 29.1 и 2
      На счет 100 см не уверен, не знаю какая у него максимальная дальность.

  1. Как добавить в скетч дисплей LCD 1602. Параллельно выводить расстояние на дисплей.

    1. 1. Необходимо объявить в переменных дополнительные светодиоды
      #define led7 и номер порта()
      #define led8 и номер порта()
      #define led9 и номер порта()

      2. Настроить порты к которым подключены дополнительные светодиоды
      pinMode(led7, OUTPUT);
      pinMode(led8, OUTPUT);
      pinMode(led9, OUTPUT);

      3. И добавить в цикл

      if (distance < 4) {

      digitalWrite(led7, HIGH);
      sound = 310;
      }
      else {
      digitalWrite(led7, LOW);
      }

      if (distance < 3) {

      digitalWrite(led8, HIGH);
      sound = 320;
      }
      else {
      digitalWrite(led8, LOW);
      }

      if (distance < 2) {

      digitalWrite(led9, HIGH);
      sound = 330;
      }
      else {
      digitalWrite(led9, LOW);
      }

      1. спасибо вам. мне бы еще LCD 1602 сюда добавить. вот скетч к дальномеру с ультразвук. датчиком. к нему не получается добавить светодиоды. помогите пожалуйста.

        #include
        #include

        LiquidCrystal_I2C lcd(0x3F, 16, 2);

        int echoPin = 9;
        int trigPin = 8;

        void setup() {
        lcd.begin();
        lcd.backlight();
        Serial.begin (9600);
        pinMode(trigPin, OUTPUT);
        pinMode(echoPin, INPUT);
        }

        void loop() {
        int duration, cm;
        digitalWrite(trigPin, LOW);
        delayMicroseconds(2);
        digitalWrite(trigPin, HIGH);
        delayMicroseconds(10);
        digitalWrite(trigPin, LOW);
        duration = pulseIn(echoPin, HIGH);
        cm = duration / 58;
        Serial.print(cm);
        Serial.println(» cm»);
        delay(500);
        lcd.setCursor(0,0); //устанавливаем курсор
        lcd.print(«rashod «); //печатаем текст
        lcd.print(cm); //выводим на lcd
        lcd.print(» «); //печатаем пробелы для стирания лишних символов при увеличении разрядности значений
        delay(1000);// поставил задержку, чтобы цифры на экране не рябили
        }

Добавить комментарий

Ваш e-mail не будет опубликован.

Close