Главная > Самодельный парктроник что это

Самодельный парктроник что это


Закрыть ... [X]

Во время моего последнего визита к родителям, у меня возникли трудности парковки автомобиля (большой пикап) в их гараже. И у меня возникла идея сделать простенький стационарный парктроник для гаража. Я использовал контроллер Arduino Duemilanove и ультразвуковой датчик расстояния (Sonar Range Finder).

Материал:

Для того, чтобы сделать парктроник своими руками нам понадобится:

  • Контроллер Arduino (я использовал Duemilanove)
  • Ultrasonic Range Finder
  • Провода
  • Пластиковый бокс
  • 9В источник питания
  • Трехцветный светодиод
  • Клей
  • Макетная плата

Комплектующие

Сборка парктроника

1. Приклейте плату Arduino ко дну ящика при помощи клея или силикона и подведите питание к контроллеру.

Монтаж контроллера в бокс

2. Присоедините питание ультразвукового датчика 5В.

Питание УЗ датчика

3. Подключите выход ультразвукового датчика "SIG" к выводу ШИМ Arduino (это нужно для того, чтобы мы могли слать импульсы в датчик, а потом считывать их возврат). Я использовал вывод 7 контроллера.

4. Перед подключением трехцветного светодиода, определите какие ноги за какой цвет отвечают. Красный, зеленый и синий я подсоединил соответственно к 11, 12 и 13 выводу Arduino.

Подключение светодиода

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

Программа

К счастью, софт Arduino уже содержит пример для работы с ультразвуковым датчиком. Пример этот находится: File -> Examples -> Sensors -> Ping example. Откройте этот пример и скопируйте весь код в новый проект. Назовите его как-нибудь (к примеру Parking Example) и сохраните.

Внесем некоторые изменения в программу. Для начала мы увеличим интервал посылок к датчику, т.к. нам не нужно посылать сигнал каждые 100 мс, достаточно и 1 секунды.

delay(1000);

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

const int pingPin = 7;

добавьте:

pinMode(13, OUTPUT); // синий pinMode(12, OUTPUT); // зеленый pinMode(11, OUTPUT); // красный

Теперь мы должны определиться, при каком расстоянии, какие цвета светодиода будут показываться. К примеру я сделал так: дальше чем 60 см от стены горит зеленый цвет, когда остается меньше 60 см, загорается синий цвет, а когда до стены остается менее 15 см загорается красный цвет.

Наш код с учетом вышеприведенных вычислений будет таким:

cm = microsecondsToCentimeters(duration); // show LED colors if(cm > 0 && cm <= 15) { // горит красный цвет digitalWrite(13, LOW); digitalWrite(12, LOW); digitalWrite(11, HIGH); } else if(cm <= 60 && cm > 15) { // горит голубой digitalWrite(12, LOW); digitalWrite(11, LOW); digitalWrite(13, HIGH); } else { // горит зеленый цвет digitalWrite(13, LOW); digitalWrite(11, LOW); digitalWrite(12, HIGH); }

Вышеприведенный код управляет выходами Arduino для индикации определенного цвета светодиода, в зависимости от дистанции до препятствия (в данном случае автомобиль), которую определил ультразвуковой датчик. Наш конечный код будет выглядеть следующим образом:

/ Ping))) Sensor самодельный парктроник что это Схема: +V выход датчика подсоединяется к +5V GND выход датчика подсоединяется к земле SIG выход датчика подсоединяется к цифровому выводу 7 http://www.arduino.cc/en/Tutorial/Ping created 3 Nov 2008 by David A. Mellis modified 30 Jun 2009 by Tom Igoe This example code is in the public domain. / pinMode(13, OUTPUT); // синий pinMode(12, OUTPUT); // зеленый pinMode(11, OUTPUT); // красный const int pingPin = 7; void setup() { Serial.begin(9600); } void loop() { long duration, cm; // The PING))) is triggered by a HIGH pulse of 2 or more microseconds. // Give a short LOW pulse beforehand to ensure a clean HIGH pulse: pinMode(pingPin, OUTPUT); digitalWrite(pingPin, LOW); delayMicroseconds(2); digitalWrite(pingPin, HIGH); delayMicroseconds(5); digitalWrite(pingPin, LOW); // The same pin is used to read the signal from the PING))): a HIGH // pulse whose duration is the time (in microseconds) from the sending // of the ping to the reception of its echo off of an object. pinMode(pingPin, INPUT); duration = pulseIn(pingPin, HIGH); // конвертируем время в расстояние cm = microsecondsToCentimeters(duration); // показ определенного цвета, в зависимости от расстояния if(cm > 0 && cm <= 15) { // горит красный цвет digitalWrite(13, LOW); digitalWrite(12, LOW); digitalWrite(11, HIGH); } else if(cm <= 60 && cm > 15) { // горит голубой digitalWrite(12, LOW); digitalWrite(11, LOW); digitalWrite(13, HIGH); } else { // горит зеленый цвет digitalWrite(13, LOW); digitalWrite(11, LOW); digitalWrite(12, HIGH); Serial.print(cm); Serial.print("cm"); Serial.println(); delay(1000); } long microsecondsToCentimeters(long microseconds) { // Скорость звука 340 м/с или 29 мкс на сантиметр. // Во время измерения расстояния волна проходит туда и обратно, // поэтому нужно еще поделить пополам полученное значение от датчика return microseconds / 29 / 2; }

Фото готового парктроника

Оригинал статьи

Теги:


Поделись с друзьями



Рекомендуем посмотреть ещё:



Парктроник своими руками: заботимся о своей безопасности Вязание крючком жакетов для дам


Самодельный парктроник что это Реально ли сделать парктроник своими руками? Ремонт
Самодельный парктроник что это Форум РадиоКот Просмотр темы - парковочный радар
Самодельный парктроник что это Парктроник своими руками - Сайт Паяльник
Самодельный парктроник что это Парктроник своими руками схема - Imgur
Самодельный парктроник что это Самодельный ИК парктроник
Самодельный парктроник что это Парктроник своими руками



ШОКИРУЮЩИЕ НОВОСТИ