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

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

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

Схема платы YK/002A/A6 увлажнителя POLARIS. Простенький стационарный Схемы на 4093 парктроник для гаража с Как настроить тв на магнитоле mystery mmtd-9108s помощью контроллер Схема платы YK/002A/A6 увлажнителя POLARIS. Arduino Duemilanove и Kia6040p схема ультразвукового датчика Цоколевка микросхемы лм317 расстояния (Sonar Схема платы YK/002A/A6 увлажнителя POLARIS. Range Finder).

Схемы на 4093 Материал:

Для того, Как настроить тв на магнитоле mystery mmtd-9108s чтобы сделать парктроник своими Схема платы YK/002A/A6 увлажнителя POLARIS. руками нам понадобится:

- Kia6040p схема Контроллер Arduino (я Схема платы YK/002A/A6 увлажнителя POLARIS. использовал Цоколевка микросхемы лм317 Duemilanove);
- Ultrasonic Range Finder;
Схема платы YK/002A/A6 увлажнителя POLARIS. - Схема платы YK/002A/A6 увлажнителя POLARIS. Провода;
- Схемы на 4093 Пластиковый бокс;
- 9В Как настроить тв на магнитоле mystery mmtd-9108s источник питания;
Схема платы YK/002A/A6 увлажнителя POLARIS. - Трехцветный светодиод;
Kia6040p схема - Клей;
Цоколевка микросхемы лм317 - Макетная Схема платы YK/002A/A6 увлажнителя POLARIS. плата.



Сборка Схемы на 4093 парктроника

1. Приклейте Как настроить тв на магнитоле mystery mmtd-9108s плату Arduino ко дну Схема платы YK/002A/A6 увлажнителя POLARIS. ящика при помощи клея Kia6040p схема или силикона и Схема платы YK/002A/A6 увлажнителя POLARIS. подведите Цоколевка микросхемы лм317 питание к контроллеру.



2. Присоедините Схема платы YK/002A/A6 увлажнителя POLARIS. питание Схема платы YK/002A/A6 увлажнителя POLARIS. ультразвукового датчика Схемы на 4093 5В.



3. Подключите выход Как настроить тв на магнитоле mystery mmtd-9108s ультразвукового датчика Схема платы YK/002A/A6 увлажнителя POLARIS. "SIG" к выводу Kia6040p схема ШИМ Arduino Цоколевка микросхемы лм317 (это нужно Схема платы YK/002A/A6 увлажнителя POLARIS. для того, Схемы на 4093 чтобы мы могли Как настроить тв на магнитоле mystery mmtd-9108s слать импульсы в дСхема платы YK/002A/A6 увлажнителя POLARIS. атчик, а потом считывать их Kia6040p схема возврат). Я использовал Схема платы YK/002A/A6 увлажнителя POLARIS. вывод Цоколевка микросхемы лм317 7 контроллера.

4. Перед подключением Схема платы YK/002A/A6 увлажнителя POLARIS. трехцветного Схема платы YK/002A/A6 увлажнителя POLARIS. светодиода, определите Схемы на 4093 какие ноги за какой Как настроить тв на магнитоле mystery mmtd-9108s цвет отвечают. Схема платы YK/002A/A6 увлажнителя POLARIS. Красный, зеленый и Kia6040p схема синий я Цоколевка микросхемы лм317 подсоединил соответственно Схема платы YK/002A/A6 увлажнителя POLARIS. к 11, Схемы на 4093 12 и 13 Как настроить тв на магнитоле mystery mmtd-9108s выводу Arduino.



5. Теперь Схема платы YK/002A/A6 увлажнителя POLARIS. осталось дело за программой. Kia6040p схема После тестирования ПО, Схема платы YK/002A/A6 увлажнителя POLARIS. если Цоколевка микросхемы лм317 все нормально работает, то закрепите Схема платы YK/002A/A6 увлажнителя POLARIS. датчик Схема платы YK/002A/A6 увлажнителя POLARIS. на стене Схемы на 4093 вашего гаража, а светодиод Как настроить тв на магнитоле mystery mmtd-9108s выведите в Схема платы YK/002A/A6 увлажнителя POLARIS. удобное для вас Kia6040p схема место.
Программа

Цоколевка микросхемы лм317 К счастью, Схема платы YK/002A/A6 увлажнителя POLARIS. софт Arduino Схемы на 4093 уже содержит пример Как настроить тв на магнитоле mystery mmtd-9108s для работы с ультразвуковым Схема платы YK/002A/A6 увлажнителя POLARIS. датчиком. Пример этот находится: Kia6040p схема 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;
} 




Схема платы YK/002A/A6 увлажнителя POLARIS. Источник: http://iwearshorts.com/