Ничего не найдено :(
    В гостях у Самоделкина! » Электроника » Arduino » Парктроник на Arduino с ручной регулировкой расстояния

    Парктроник на Arduino с ручной регулировкой расстояния



    Наверное, одним из базовых проектов на arduino я является парктроник. Но в этой статье будет описано создание не обычного парктроника, а парктроника с ручной регулировкой критического расстояния. В процессе создания этого устройства вы повысите свои навыки в схемотехнике и программировании.

    Основные компоненты:

    • плата arduino Nano/Uno
    • ультразвуковой датчик расстояния HC-CR04
    • 6 светодиодов
    • 6 резисторов на 220 Ом
    • 2 резистора на 10 KOm
    • 2 тактовые кнопки
    • пьезо пищалка
    • бред- борд
    • провода папа-папа
    • губка для обуви (для корпуса)

    Из инструментов:

    • паяльник
    • термо - клей

    Рассмотрим алгоритм работы устройства


    Парктроник на Arduino с ручной регулировкой расстояния


    После просмотра алгоритма соберём схему на бред борде:




    Так как я монтировал схему в корпус, было принято решение сделать мини шилды кнопок и светодиодов.



    Корпус устройство был сделан из коробочки от губки для обуви.
    Так выглядит устройство внутри.



    Посмотрим код.

    int switch1 = 9; // Кнопка 1
    int switch2 = 10; // Кнопка 2
    int pin = 2;
    int bin = 40; // Начальное критическое расстояние в сантиметрах!!!
    int echoPin = 12; // Echo пин на модуле HC-SR04
    int trigPin = 11; // Trig пин на модуле HC-SR04
    int buz = 8; // Пин пищалки
    boolean lBut1 = LOW;
    boolean lBut2 = LOW;
    boolean cBut1 = LOW;
    boolean cBut2 = LOW;
    void setup() {
      Serial.begin (9600); 
      pinMode(trigPin, OUTPUT); 
      pinMode(echoPin, INPUT); 
      pinMode(switch1,INPUT);
      pinMode(switch2,INPUT);
      pinMode(2,OUTPUT); // Светодиод 1
      pinMode(3,OUTPUT); // Светодиод 2
      pinMode(4,OUTPUT); // Светодиод 3
      pinMode(5,OUTPUT); // Светодиод 4
      pinMode(6,OUTPUT); // Светодиод 5
      pinMode(7,OUTPUT); // Светодиод 6
      pinMode(8,OUTPUT); // Пищалка
    }
    boolean debounce(boolean last)
    {
      boolean current = digitalRead (switch1);
      if (last !=current)
      {
        delay(5);
        current = digitalRead (switch1);
      }
      return current;
    }
    boolean debounce2(boolean last2)
    {
      boolean current2 = digitalRead (switch2);
      if (last2 !=current2)
      {
        delay(5);
        current2 = digitalRead (switch2);
      }
      return current2;
    }
    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(10);
      
      cBut1 = debounce(lBut1);
      if (lBut1 == LOW && cBut1 == HIGH)
      {
        pin=pin-1;
        bin=bin-7; // Цифра 7 значит отнятие на 7 см от критического расстояния!!!
      }
      lBut1 = cBut1;
      digitalWrite(pin,HIGH);
        cBut2 = debounce2(lBut2);
      if (lBut2 == LOW && cBut2 == HIGH)
      {
        pin=pin+1;
        bin=bin+7; // Цифра 7 значит прибавление на 7 см от критического расстояния!!!
      }
      lBut2 = cBut2;
      digitalWrite(pin,LOW);
    
      if (cm<bin && cm>0)
      {
        tone(8,200,200);
        delay(300);
        
      }
      else
      {
        noTone(8);
      }
    }


    Значения bin можно менять, на более удобное для вас.

    В итоге прибор исправно выполняет свои функции.



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

    Говорящий СТОП 2в1 на автомобиль

    9.6
    Идея
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    7.8
    Описание
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    8.6
    Исполнение
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    Итоговая оценка: 8.67 из 10 (голосов: 5 / История оценок)

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

    Привет, Гость!


    Зарегистрируйтесь

    Или войдите на сайт, если уже зарегистрированы...

    Войти

    Добавьте самоделку

    Добавьте тему

    Онлайн чат

    Последние комментарии

    Все комментарии