» » » Парктроник на 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 можно менять, на более удобное для вас.

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



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

Парктроник своими руками на базе Arduino

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

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

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

    • smilesmilesxaxaokdontknowyahoonea
      bossscratchfoolyesyes-yesaggressivesecret
      sorrydancedance2dance3pardonhelpdrinks
      stopfriendsgoodgoodgoodwhistleswoontongue
      smokeclappingcraydeclarederisivedon-t_mentiondownload
      heatirefullaugh1mdameetingmoskingnegative
      not_ipopcornpunishreadscarescaressearch
      tauntthank_youthisto_clueumnikacuteagree
      badbeeeblack_eyeblum3blushboastboredom
      censoredpleasantrysecret2threatenvictoryyusun_bespectacled
      shokrespektlolprevedwelcomekrutoyya_za
      ya_dobryihelperne_huliganne_othodifludbanclose

Добрый день, Гость!


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

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

Войти

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

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

Онлайн чат

Опрос
А Вы знаете, что на сайте оплачиваются отчеты о создании самоделок?

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

Все комментарии
Новые самоделки на почту

Введите электронную почту и получайте письма с новыми самоделками. Не более одного письма в день.