Умный светофор

Elektrik
Offline
Зарегистрирован: 17.01.2017

Добрый День!

Витает мысль сделать Светофор для подземного паркинга. Въезд выезд в одни ворота. Пандус под уклоном и изгибается. Машинам не разъехаться. Но не светофор по таймеру, а с пересечением 2х лучей на въезде и выезде.

По алгоритму: 1-й машин пошел, на противоположном конце загорелся красный, или наоборот. Машина проехала, потушила за собой красный свет другими лучами. 

Как разнообразие:

- не один въезд - а несколько, т.к. уровней стоянки может быть 2 и более.

- без проводов, сигнал от лучей по радиоканалу

- возможность удаленной диагностики и управления

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

 

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Там по уму-то до хрена чего ещё надо (например, если скопились очереди - их надо как-то разгребать). А С лучачи - я бы лучше в дорогу датчики бы вмонтировал.

Elektrik
Offline
Зарегистрирован: 17.01.2017

Рассмативаю простой вариант с небольшим гаражем, там движение - 1 машина в 5-10 минут не чаще.

Лучи-(готовые элементы безопасности для ворот и шлагбаумов)- потому что так дешево. 500р за шт.

Индукционные петли под асфальт это дорого. Это вариант для торговых центров и пунктов оплаты на трассе, аэропортах. Но там большие бюджеты и есть готовое дорогое оборудование, изобретать на Ардуино нет смысла.

Хотелось бы что то попроще.  

 

 

Slaiterx
Offline
Зарегистрирован: 05.05.2016

поподалось на другом форуме подсветка лестници так там тоже два датчика и накаждой ступени светодиоды с какой стороны лесници пошол там н начинают загоратся если переделать маленько то я думаю все получится http://forum.amperka.ru/threads/%D0%90%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F-%D0%BF%D0%BE%D0%B4%D1%81%D0%B2%D0%B5%D1%82%D0%BA%D0%B0-%D0%BB%D0%B5%D1%81%D1%82%D0%BD%D0%B8%D1%86%D1%8B.1930/

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

Elektrik пишет:

Рассмативаю простой вариант с небольшим гаражем, там движение - 1 машина в 5-10 минут не чаще.

Лучи-(готовые элементы безопасности для ворот и шлагбаумов)- потому что так дешево. 500р за шт.

Ставишь в паралель по ходу движения два датчика на лучах на расстоянии 5-10см . А дальше прицип энкодера. Первый датчик CLK а второй DIR . А принцип простой если срабатывает датчик CLK а на DIR  нет препятсвия, то движение от CLK. А если CLK сработал и DIR перекрыт, то движение от DIR .  Вот в первом +1, во втором -1. расстоянии 5-10см  это что бы ловить не только машину но и человека. Человеки бывают такие тормознутые, что верят, что могут задавить автомобиль.

Elektrik
Offline
Зарегистрирован: 17.01.2017

С человеком задача усложняется. Планировал, наоборот, чтобы на людей НЕ срабатывало. Только на машину. Как правило на пандусе для машин есть небольшой тротуар 70см для людей. Они могут ходить. А если во внутрь зайдут несколько человек и рассасутся потом по нескольким выходам на разные- уровни стоянки, будет путаница. 

Лучи наверное нужно устанавливать на рассоянии 1 метр друг от друга- перпедикулярно движению. Тогда можно понять что это машина. Машин короче 1 метра не бывает. В среднем 2.5-3м.  А такими лучами и людей если что можно учитывать и понимать их направление движения. 

Elektrik
Offline
Зарегистрирован: 17.01.2017

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

Ясно . Ну я говорю же принцип энкодера. Один датчик это CLK, а другой DIR.Для примера так Полный скетч здесь https://yadi.sk/d/aeYxE17v3Dhusf

Головной сюда кидаю 

/* class_do_Encoder_KY_040.ino
  #1 энкодер  CLK->2 (CLK_PIN)
               DT->3 (DT_PIN)
               SW->4 (SW_PIN)
  Принцип кода:В сериал отправляется действие на энкодере.
*/
//#1 энкодер
#include "Cl_do_Encoder_KY_040.h"

void func_SW(void) {
  Serial.println("Press SW");
}
void func_plus(void) {
  Serial.println("Turn +");
}
void func_minus(void) {
  Serial.println("Turn -");
}
void setup() {
  Serial.begin(9600);
  //#1 энкодер
  Encoder.setup(& func_SW , & func_plus, & func_minus );
}
void loop() {
  //#1 энкодер
  Encoder.loop();
}

http://arduino.on.kg/podklyuchenie-modulya-enkoderaKY-040-k-Arduino-i-so...