Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить

Автоматика светофора

Пн авг 20, 2012 22:31:09

Нужна ваша помощь. Мне поставтли задачу собрать автоматику для светофора для однополосного движения транспорта, на одной стороне горит зелёный цвет 6 мин на другой красный. Спустя 6 мин загораются оба красных на 4 мин, потом наоборот на другой стороне зелёный 6 мин а там красный, вообщем логика понятна. Подскажите может есть какая нибудь такая схемка и подобная ей. Я так понял лучше собрать на микроконтроллерах, но у меня нет опыта написания программ для них может кто нибудь набросает схемку и прошивку для микроконтроллера за вознаграждение? Хотябы на низкоточные цепи, а дальше можно усилить на релюхах.

Re: Автоматика светофора

Пн авг 20, 2012 22:54:32

Какой МК использовать будешь?

Re: Автоматика светофора

Пн авг 20, 2012 23:35:50

Мне поставтли задачу собрать автоматику для светофора,..... но у меня нет опыта написания программ для них может кто нибудь набросает схемку и прошивку для микроконтроллера

И кто был этим идиотом?
Вы представляете себе , что если что-то пойдёт не так - сидеть Вам. Есть специализированное подразделение ГИБДД , которое устанавливает такие системы.

Re: Автоматика светофора

Пн авг 20, 2012 23:58:29

Судя по всему это регулировка движения на ремонтном участке дороги, где проезд только по одной полосе, 6 минут едут в одну сторону, 4 минуты на освобождение полосы, 6 минут едут встречные, 4 минуты на освобождение полосы, и т.д.

Re: Автоматика светофора

Вт авг 21, 2012 00:05:34

#include <mega32.h>
#include <delay.h>

void main(void)
{

DDRA=(0<<DDA7) | (0<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) | (0<<DDA0);

PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0);

DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (1<<DDB2) | (1<<DDB1) | (1<<DDB0);

PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);

DDRC=(0<<DDC7) | (0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) | (0<<DDC1) | (0<<DDC0);

PORTC=(0<<PORTC7) | (0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0);

DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (1<<DDD2) | (1<<DDD1) | (1<<DDD0);

PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);


while (1)
{
PORTB.0=1;//КРАСНЫЙ СВЕТ
PORTD.2=1;//ЗЕЛЕНЫЙ СВЕТ
delay_ms(360000);//задержка 6 минут
// моргание зеленым
// ----------
PORTD.2=0;//ЗЕЛЕНЫЙ СВЕТ выкл
delay_ms(500);
PORTD.2=1;//ЗЕЛЕНЫЙ СВЕТ
delay_ms(500);
PORTD.2=0;//ЗЕЛЕНЫЙ СВЕТ выкл
delay_ms(500);
PORTD.2=1;//ЗЕЛЕНЫЙ СВЕТ
delay_ms(500);
PORTD.2=0;//ЗЕЛЕНЫЙ СВЕТ выкл
delay_ms(500);
PORTD.2=1;//ЗЕЛЕНЫЙ СВЕТ
delay_ms(500);
PORTD.2=0;//ЗЕЛЕНЫЙ СВЕТ выкл
delay_ms(50);
//----------
PORTD.1=1;//желтый свет
delay_ms(2000);
PORTD.2=0;//ЗЕЛЕНЫЙ СВЕТ ТУХНЕТ
PORTD.1=0;//ЖЕЛТЫЙ СВЕТ ТУХНЕТ
PORTD.0=1;//КРАСНЫЙ СВЕТ
delay_ms(240000);//задержка 4 минуты

PORTB.1=1;//желтый свет
delay_ms(2000);
PORTB.1=0;//ЖЕЛТЫЙ СВЕТ ТУХНЕТ
PORTB.0=0;//КРАСНЫЙ СВЕТ ТУХНЕТ
delay_ms(50);
PORTB.2=1;//ЗЕЛЕНЫЙ СВЕТ
delay_ms(360000);//задержка 6 минут
// моргание зеленым
// ----------
PORTB.2=0;//ЗЕЛЕНЫЙ СВЕТ выкл
delay_ms(500);
PORTB.2=1;//ЗЕЛЕНЫЙ СВЕТ
delay_ms(500);
PORTB.2=0;//ЗЕЛЕНЫЙ СВЕТ выкл
delay_ms(500);
PORTB.2=1;//ЗЕЛЕНЫЙ СВЕТ
delay_ms(500);
PORTB.2=0;//ЗЕЛЕНЫЙ СВЕТ выкл
delay_ms(500);
PORTB.2=1;//ЗЕЛЕНЫЙ СВЕТ
delay_ms(500);
PORTB.2=0;//ЗЕЛЕНЫЙ СВЕТ выкл
delay_ms(50);
//----------
PORTB.1=1;//желтый свет
delay_ms(2000);
PORTB.1=0;//ЖЕЛТЫЙ СВЕТ ТУХНЕТ
PORTB.0=1;//КРАСНЫЙ СВЕТ
delay_ms(240000);//задержка 4 минуты
PORTD.1=1;//ЖЕЛТЫЙ СВЕТ
delay_ms(2000);
PORTD.1=0;//ЖЕЛТЫЙ СВЕТ ТУХНЕТ
PORTD.0=0;//КРАСНЫЙ СВЕТ ТУХНЕТ
delay_ms(50);

}
}
Вложения
Безымянный.jpg
(122.74 KiB) Скачиваний: 698

Re: Автоматика светофора

Вт авг 21, 2012 14:50:12

Кинг писал(а):delay_ms(360000);//задержка 6 минут
Не знаю, для какого компилятора Вы это написали. Например, в CodeVisionAVR, аргумент функции delay_ms это unsigned int. Т.е. не может быть больше 65535.

А я то думал, почему так хреново светофоры в Москве на Ленинском проспекте работают... Недавно меня чуть не задавили на нашем перекрёстке. Светофор дал мне зелёный и включил секундомер, который показал, что зелёный будет гореть 30 секунд. Но стоило мне начать переход, как он передумал, и секунд через 10 дал красный. Хорошо, что большинство водителей оказались сознательными и не стали меня давить. Кроме одного маньяка-убийцы. Но от него мне удалось увернуться...

Re: Автоматика светофора

Вт авг 21, 2012 14:56:16

Спасибо всем за отклик на мою просьбу. Приведёная схема мне ниочём не говорит, я в контроллерах полный ноль могу только скопировать. Микроконтроллеры есть Atmega8, AT90s2313, PIC12c508, PIC16c54, PIC16f84. Когдато давно прошивал 90s2313 и где то остался программатор но пики думаю тоже не проблема прошить можно собрать простенькую схему программатора. Помогите готовой схемкой и программой для неё, логику работы вы поняли правильно только без жёлтого цвета.

Re: Автоматика светофора

Ср авг 22, 2012 00:08:11

Да ладно..... не кипятись, просто, переживают ребята .....
svetofor.rar
(12.2 KiB) Скачиваний: 263

Спойлер
Код:
//#######################################################################
// включаемые файлы
#define F_CPU 4800000
#include <util/delay.h>
#include <avr/io.h>

//дефайны
#define svetofor1 (1<<0)               //пины подключения светофоров
#define svetofor2 (1<<1)

//прототипы функций
void delay_min (unsigned char);

//#######################################################################
//Главная функция
int main (void)
{
   //инициализация портов
   DDRB =    (svetofor1)|(svetofor2);      //линии на вывод
   
   // главный цикл
   while(1)
   {
      PORTB &= ~(svetofor1 | svetofor2);   //оба красные
      delay_min (4);                  //задержка 4 минуты

      PORTB |= svetofor1;               //включить зеленый на светофоре1
      delay_min (6);                  //задержка 6 минут

      PORTB &= ~(svetofor1 | svetofor2);   //оба красные
      delay_min (4);                  //задержка 4 минуты

      PORTB |= svetofor2;               //включить зеленый на светофоре2
      delay_min (6);                  //задержка 6 минут
   }
}


//Функция минутной задержки. (Аргумент - количество минут.)
void delay_min (unsigned char min)
{
   while (min)
   {
      unsigned char i =60;
      while (i)
      {      
         _delay_ms(1000);
         i--;      
      }
      min--;
   }
}


сначала 4 минуты горят красные
потом 6 мин горит зеленый 1
потом 4 мин горят красные
потом 6 мин горит зеленый 2
потом по кругу.....

Re: Автоматика светофора

Ср авг 22, 2012 03:12:52

Почистил тему.
Ребята, перестаньте оскорблять человека !

Re: Автоматика светофора

Ср авг 22, 2012 04:47:48

1. Причем здесь оскорбления? Это была просто констатация факта, проистекающая из собственноручно написанных слов ТС, я их просто выделил жирным. Вот еще перл:
Alex11 писал(а):Приведёная схема мне ниочём не говорит, я в контроллерах полный ноль могу только скопировать

2. Деятельность в этой области ЛИЦЕНЗИРУЕМАЯ, предполагает наличие специальных знаний и опыта. ТС ничем эти не обладает, а ведь его поделка будет связана с безопасностью людей.
3. Считаю безответственным поощрять такое "творчество".

P.S. Для примера почитайте про последствия работы "рационализаторов" над блоком управления электроусилителя руля на "Приоре" http://www.zr.ru/a/398726

Re: Автоматика светофора

Ср авг 22, 2012 05:04:01

Управление "светодиодом" уже возводится в ранг допустимого только для высококлассного специалиста?! Браво :)))

Re: Автоматика светофора

Ср авг 22, 2012 05:07:37

Причем здесь оскорбления?
А слова типа "тупой", "безграмотный", и т.д..... - это для Вас нормально ?

ТС ничем эти не обладает, а ведь его поделка будет связана с безопасностью людей.
И что ? Это не даёт Вам право на оскорбления. Всё-таки, это его проблемы, а не Ваши. Откуда Вы вообще знаете его уровень ?

PS: Мнение своё высказали - достаточно... На личности - в личку.

Re: Автоматика светофора

Ср авг 22, 2012 05:09:16

2 Совесть: Не светодиодом, а светофором. Разницу видишь? Нет?
Не желаю тебе выйти на переход на зеленый, когда зеленый будет и для машин оттого, что программа в МК зависла или сбойнула или..., ведь светофором управлял МК, который туда поставил XXXX, который "в контроллерах полный ноль".

Re: Автоматика светофора

Ср авг 22, 2012 05:47:31

:))) чему тут сбоить-то?! Задача для школьника и еще и не факт, что он не выполнит ее лучше профессионала.

Re: Автоматика светофора

Ср авг 22, 2012 07:00:35

Тут два варианта, или лоб в лоб или большая пробка, от водил тоже много чего зависит, а если у него в голове МК завис, что делать тогда? Права купил и вперед, он может даже не знает, что это за хрень на дороге с красными и зелеными огоньками :))

Re: Автоматика светофора

Ср авг 22, 2012 11:17:44

Я сплош и рядом вижу, как светофоры в нашем городе (спроектированные лицензируемыми разработчиками) то и дело - виснут.
То застрянет на каком то цикле, сначала стоиш тупиш, пока вся колонна сзади не начинает сигналить - приходится ехать на красный.
То вообще не работают по нескольку дней, машины ездят как хотят, иногда на полной скорости (и как ни странно - уворачиваются друг от друга).....(хотя конечно иногда и не успевают).

Это конечно не каждый день случается, но сейчас стал вспоминать, и пришло на память достаточно случаев.... И это при том что светофор может не работать на оживленном перекрестке. А в случае ТС, светофор стоит на прямой дороге, это каким надо быть дауном, чтобы на ремонтном участке дороги - разогнаться и лоб в лоб врезаться во встречную (даже если допустить что обоим горит зеленый.....).

(ну вообще что касается меня - я бы наверное отказался от такой, конечно же ответственной разработки (не по сложности а по ответственности), если бы не был соответствующим специалистом.
Хотя, что греха таить, пару раз участвовал в установке оборудования, где нужна была лицензия (а ее ессно не было).....)

Re: Автоматика светофора

Ср авг 22, 2012 13:03:37

bolek писал(а):1. Причем здесь оскорбления? Это была просто констатация факта, проистекающая из собственноручно написанных слов ТС, я их просто выделил жирным. Вот еще перл:
Alex11 писал(а):Приведёная схема мне ниочём не говорит, я в контроллерах полный ноль могу только скопировать

2. Деятельность в этой области ЛИЦЕНЗИРУЕМАЯ, предполагает наличие специальных знаний и опыта. ТС ничем эти не обладает, а ведь его поделка будет связана с безопасностью людей.
3. Считаю безответственным поощрять такое "творчество".

P.S. Для примера почитайте про последствия работы "рационализаторов" над блоком управления электроусилителя руля на "Приоре" http://www.zr.ru/a/398726


Кстати у нас есть участник Владимир-ТС, он как раз на этом заводе или ещё работает или работал. Так что может к этой микросборке именно он и приложил паяльник :) . А вообще это хорошая иллюстрация чем страшны всякие рационализаторы и изобретатели. Что в машинах, что в светофорах, что в лифтах.

Re: Автоматика светофора

Ср авг 22, 2012 15:04:07

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

Re: Автоматика светофора

Пт авг 24, 2012 16:09:02

shads писал(а):сначала 4 минуты горят красные
потом 6 мин горит зеленый 1
потом 4 мин горят красные
потом 6 мин горит зеленый 2
потом по кругу.....

Ага, конечно сначала 4 минуты ничего не горит, потом начинается с зеленого. Это неправильная программа.

Re: Автоматика светофора

Пт авг 24, 2012 16:13:00

ну да да и не интересная, должен еще же мигать зеленый перед включением желтого. хороший вариант с этой темой. затраты на мозги 500р. а которые щас стоят в светофорах тыс так по 30
Последний раз редактировалось Кинг Пт авг 24, 2012 16:31:05, всего редактировалось 1 раз.
Ответить