Проход по ссылкам навигацииГлавная : Статьи :

Парктроник своими руками

Парктроник своими руками

Самодельный стрелочный спидометр Простенький стационарный Сварочный инвентор на ТЛ494 парктроник для гаража с Пример частотомера на ардуино помощью контроллер Самодельный стрелочный спидометр Arduino Duemilanove и Цоколевка разъема vga ультразвукового датчика Atmega8 ик автосигнализация охрана расстояния (Sonar Самодельный стрелочный спидометр Range Finder).

Сварочный инвентор на ТЛ494 Материал:

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

- Цоколевка разъема vga Контроллер Arduino (я Самодельный стрелочный спидометр использовал Atmega8 ик автосигнализация охрана Duemilanove);
- Ultrasonic Range Finder;
Самодельный стрелочный спидометр - Самодельный стрелочный спидометр Провода;
- Сварочный инвентор на ТЛ494 Пластиковый бокс;
- 9В Пример частотомера на ардуино источник питания;
Самодельный стрелочный спидометр - Трехцветный светодиод;
Цоколевка разъема vga - Клей;
Atmega8 ик автосигнализация охрана - Макетная Самодельный стрелочный спидометр плата.



Сборка Сварочный инвентор на ТЛ494 парктроника

1. Приклейте Пример частотомера на ардуино плату Arduino ко дну Самодельный стрелочный спидометр ящика при помощи клея Цоколевка разъема vga или силикона и Самодельный стрелочный спидометр подведите Atmega8 ик автосигнализация охрана питание к контроллеру.



2. Присоедините Самодельный стрелочный спидометр питание Самодельный стрелочный спидометр ультразвукового датчика Сварочный инвентор на ТЛ494 5В.



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

4. Перед подключением Самодельный стрелочный спидометр трехцветного Самодельный стрелочный спидометр светодиода, определите Сварочный инвентор на ТЛ494 какие ноги за какой Пример частотомера на ардуино цвет отвечают. Самодельный стрелочный спидометр Красный, зеленый и Цоколевка разъема vga синий я Atmega8 ик автосигнализация охрана подсоединил соответственно Самодельный стрелочный спидометр к 11, Сварочный инвентор на ТЛ494 12 и 13 Пример частотомера на ардуино выводу Arduino.



5. Теперь Самодельный стрелочный спидометр осталось дело за программой. Цоколевка разъема vga После тестирования ПО, Самодельный стрелочный спидометр если Atmega8 ик автосигнализация охрана все нормально работает, то закрепите Самодельный стрелочный спидометр датчик Самодельный стрелочный спидометр на стене Сварочный инвентор на ТЛ494 вашего гаража, а светодиод Пример частотомера на ардуино выведите в Самодельный стрелочный спидометр удобное для вас Цоколевка разъема vga место.
Программа

Atmega8 ик автосигнализация охрана К счастью, Самодельный стрелочный спидометр софт Arduino Сварочный инвентор на ТЛ494 уже содержит пример Пример частотомера на ардуино для работы с ультразвуковым Самодельный стрелочный спидометр датчиком. Пример этот находится: Цоколевка разъема vga 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(durations);
// 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(durations);
  // показ определенного цвета, в зависимости от расстояния
  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;
} 




Самодельный стрелочный спидометр Источник: http://iwearshorts.com/