Светофор для машин и пешеходов.

Nailoren
Offline
Зарегистрирован: 30.10.2018
int carRed = 10; 
int carYellow = 11;
int carGreen = 12;
int button = 2; 
int pedRed = 9; 
int pedGreen = 8;
int crossTime = 5000; 
unsigned long changeTime; 

void setup() {
pinMode(carRed, OUTPUT);
pinMode(carYellow, OUTPUT);
pinMode(carGreen, OUTPUT);
pinMode(pedRed, OUTPUT);
pinMode(pedGreen, OUTPUT);
pinMode(button, INPUT); 
digitalWrite(carGreen, HIGH); 
digitalWrite(pedRed, HIGH); 
}

void loop() {
int state = digitalRead(button);
if(state == HIGH){
changeLights();
}
}

void changeLights() {
for (int y=0; y<4; y++){
digitalWrite(carGreen, LOW);
delay(500);
digitalWrite(carGreen, HIGH);
delay(500);
}
digitalWrite(carGreen, LOW);
digitalWrite(carYellow, HIGH); 
delay(2000); 
digitalWrite(carYellow, LOW); 
digitalWrite(carRed, HIGH);
digitalWrite(pedRed, LOW); 
digitalWrite(pedGreen, HIGH); 
delay(crossTime); 

for (int x=0; x<5; x++) {
digitalWrite(pedGreen, HIGH);
delay(250);
digitalWrite(pedGreen, LOW);
delay(250);
}

digitalWrite(pedRed, HIGH); 
digitalWrite(carRed, LOW); 
digitalWrite(carYellow, HIGH); 
delay(1000);
digitalWrite(carYellow, LOW); 
digitalWrite(carGreen, HIGH); 
changeTime = millis(); 
}

 

DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

Этта шо?

sadman41
Offline
Зарегистрирован: 19.10.2016

Скротчъ, как я понимаю.

Nailoren
Offline
Зарегистрирован: 30.10.2018

Не совсем понимаю, о чём вы?

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

DetSimen пишет:

Этта шо?

Как шо? "Светофор для машин и пешеходов"! Чё нипанятна?

Забавный такой. Кнопкой переключается.

Для чего-то ещё millis запоминается ... наверное, шоб враги голову себе сломали, пытась догадаться "нафига" :)

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015
та шо вы не понили, обыкновенный светофор такой, который пешеход кнопкой запускает.
 
префиксы у переменных красивые :)
 
car - я со словарем перевел, второй мне не поддался ;)
sadman41
Offline
Зарегистрирован: 19.10.2016

pedestrian

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

sadman41 пишет:

pedestrian

Неприличными словами не выражацца!

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

sadman41 пишет:

pedestrian

так я не поняла, сие глагол, прил или сущь.. ?

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

а,,,, поооняла, это - "пеш" :)

MaksVV
Offline
Зарегистрирован: 06.08.2015

проект огонь. 

Nailoren
Offline
Зарегистрирован: 30.10.2018

MaksVV пишет:

проект огонь. 


Вы серьёзно?

MaksVV
Offline
Зарегистрирован: 06.08.2015

а то

Andrey12
Andrey12 аватар
Offline
Зарегистрирован: 26.12.2014

Скопирую ка себе код пока не засекретели, Nailoren еще и схемку скинь пожалуйста!

Nailoren
Offline
Зарегистрирован: 30.10.2018

Только фото могу приложить

Andrey12
Andrey12 аватар
Offline
Зарегистрирован: 26.12.2014

Ну хотя бы фото,тоже хорошо.

Nailoren
Offline
Зарегистрирован: 30.10.2018

Тут конечно ничего не понятно, так на всякий случай

MaksVV
Offline
Зарегистрирован: 06.08.2015

красава, до завершения проекта рукой подать. Только скажите где будет этот светофор, это важно!

Nailoren
Offline
Зарегистрирован: 30.10.2018

Да вот жду пока приедет второй модуль HC-05 для игрушечной ж/д. В поезде стоит arduino nano и модуль hc-05.

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

gfx125
Offline
Зарегистрирован: 27.05.2017

Nailoren пишет:

 Не знаю что из этого получится.

поезд или с машиной столкнется или pedestrian-а задавит

Nailoren
Offline
Зарегистрирован: 30.10.2018

Стоит переименовать переменные :)

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

gfx125 пишет:

поезд или с машиной столкнется или pedestrian-а задавит

За последнее как бы терроризм не притянули :(

gfx125
Offline
Зарегистрирован: 27.05.2017

ЕвгенийП пишет:

За последнее как бы терроризм не притянули :(

а я че? я ниче - это все аффтар. Светофор для машин и пешеходов, а тут откуда не возьмись - поезд...

Nailoren
Offline
Зарегистрирован: 30.10.2018

Ваши идеи реализации данного проекта?

b707
Offline
Зарегистрирован: 26.05.2017

Nailoren пишет:
Ваши идеи реализации данного проекта?

всем этим... педо..    pedestrian -ам в голову ардуину вмонтировать, чтоб на красный под поезд не лезли

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

Nailoren, ну, а всё же, зачем в 58-ой строке миллис запоминается? Я правильно предположил: чтобы враги себе голову сломали, пытаясь понять?

Nailoren
Offline
Зарегистрирован: 30.10.2018

Да, вы все правильно поняли.

MaksVV
Offline
Зарегистрирован: 06.08.2015

правильно. Нефиг на педрэд ходить. Надо на педгрин. 

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

Nailoren пишет:
Суть в том, что когда будет гореть красный, поезд останавливается. Когда горит зелёный, поезд начинает движение. Не знаю что из этого получится.
А в реале обычно наоборот. Когда поезд едет обычно останавливаются машины и подальше от его рельс. Потому что ... Бегемот плохо видит, но это уже проблемы велосипедистов 

Nailoren
Offline
Зарегистрирован: 30.10.2018

Подключил пищалку вот скетч и видео: https://www.youtube.com/watch?v=3-75dFpyY5k

int carRed = 10; 
int carYellow = 11;
int carGreen = 12;
int button = 2; 
int pedRed = 9; 
int pedGreen = 8;
int crossTime = 5000; 
unsigned long changeTime; 

void setup() {
pinMode(3, OUTPUT); // пищалка
pinMode(carRed, OUTPUT);
pinMode(carYellow, OUTPUT);
pinMode(carGreen, OUTPUT);
pinMode(pedRed, OUTPUT);
pinMode(pedGreen, OUTPUT);
pinMode(button, INPUT); 
digitalWrite(carGreen, HIGH); 
digitalWrite(pedRed, HIGH); 
}

void loop() {
int state = digitalRead(button);
if(state == HIGH){
changeLights();
}
}

void changeLights() {
for (int y=0; y<4; y++){
digitalWrite(carGreen, LOW);
delay(500);
digitalWrite(carGreen, HIGH);
delay(500);
}
digitalWrite(carGreen, LOW);
digitalWrite(carYellow, HIGH); 
delay(2000); 
digitalWrite(carYellow, LOW); 
digitalWrite(carRed, HIGH);
digitalWrite(pedRed, LOW); 
digitalWrite(pedGreen, HIGH); 
for(int z=0; z<10; z++){
  tone(3, 4000);
  delay(500);
  noTone(3);
  delay(500);
}

for (int x=0; x<5; x++) {
digitalWrite(pedGreen, LOW);
tone(3, 4000);
delay(250);
digitalWrite(pedGreen, HIGH);
noTone(3);
delay(250);
}
digitalWrite(pedGreen, LOW);

digitalWrite(pedRed, HIGH); 
digitalWrite(carRed, LOW); 
digitalWrite(carYellow, HIGH); 
delay(1000);
digitalWrite(carYellow, LOW); 
digitalWrite(carGreen, HIGH); 
}

 

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

А можно было так по этой структуре

dmitron1036
Offline
Зарегистрирован: 10.01.2016

Делал светофор под руководителем профессионала.

он мигал настоящими лампочками.

И до начала писания я получил алгоритм работы светофорного перекрёстка.

Которого я здесь не вижу.

Программа - это была самая простая часть этой работы. на ассемблере писал: дэлэй-дэлэй-дэлэй.