질문게시판 > 아두이노 4차선 신호 코딩 질문있습니다.

TODAY788 TOTAL2,918,679
사이트 이용안내
Login▼/회원가입
최신글보기 질문게시판 기술자료 동영상강좌

아두이노 센서 ATMEGA128 PWM LED 초음파 AVR 블루투스 LCD UART 모터 적외선


BASIC4MCU | 질문게시판 | 아두이노 4차선 신호 코딩 질문있습니다.

페이지 정보

작성자 율향 작성일2020-08-09 18:59 조회39,657회 댓글6건

본문

	

메가보드와 오토닉스 사 포토센서8개와 로드셀 무게센서8개로

4차선 횡단보도및 교통신호 체계를 만들고 있습니다.

목적은 카운트된 수들을 바탕으로 신호를 빠르게 변경하고 능동적으로 변경하는데 목적이있습니다.

 

포토센서는 각 도로구간에 마주보게설치하여 차량을 카운트하고,

무게센서는 횡단보도앞에 설치하여 보행자무게의 평균을 나타내 카운트하는 용도로 사용예정입니다.

 

if문으로 6개의 조건을 만들어 사용할려합니다.

 

 

//////////////////////////////현재 구상중에 있는 코딩입니다.(사진첨부)

예를 들어 C신호에서 A의 신호 조건을 충족하는 상황이 될 경우,

if(3의 차량과 4의 사람이 많다, 42,1에 차량이 없다)

{

if(1,4,3에 사람이 없다)

{

A

B

C

D

E

F

}

순서를 가지고 A신호로 바꿔준다.

그러나, LOOP문 특성상 반복실행하기 때문에 만약 If 문을 통해 C를 실행 하면 A로 돌아가기 때문에 D~F신호를 기다리고 있던 사람은 계속 대기하게 되는 상황이 발생한다.

예를 들어 C의 신호로 바꿨을 경우, CDEFAB 순으로 실행 되어야 한다.

이를 실행하기 위해 status 변수를 지정하여 status값에 따라 각 신호 이후의 신호를 실행 시킬 수 있게 코딩을 하였다.

 

처음에 If문으로 코딩을 한다.

if(조건을 만족하는 경우가 없을 때)

{

A

B

C

D

E

F

}

기본 C 문에 Status3(C)를 넣어 3번째가 실행되게 한다.

EX) Status = 3(C)

 

 

////////////////////

이런식으로 a~f 까지 코딩을 하여 신호체계를 만들생각인데, 코딩이 너무길어지고 4차선이라 복잡한부분이 너무 많아서 조금이나마 줄일수있는 방법이 있는지 

개선할수 있는 방안을 질문하고싶습니다 ㅠㅠ.

센서 총 16개와 led 총 24개를 사용하기때문에 메가보드를 사용합니다.

 

  

  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글 6

조회수 39,657

master님의 댓글

master 작성일

우선 A->B->C->D... 이 순서는 지키세요
이 순서까지 엉망으로 신호가 들어오면 운전자와 보행자가 헷갈려합니다.
A->D로 건너 뛰고 싶을 때는 B와 C의 시간이 1~2초 정도로 짧으면 되겠죠

master님의 댓글

master 작성일

현재 A에 있을 때
B의 대기 차량이 많을 때라도 A의 차량이 남아있다면 A 시간을 더 줄 것인지, 일정시간 후에는 A의 차량이 남았더라도 B로 시간을 넘길 것인지 정하세요

master님의 댓글

master 작성일

현재 A에 있을 때
아직 일정시간이 경과하지 않았더라도 B의 사람이 많이 대기한다면
A 시간을 일정시간동안 유지 할 것인지 B로 시간을 넘길 것인지 정하세요
사람위주인지 차량 위주인지를 정하라는 의미입니다.
사람위주가 아니라면 사람이 신호등에 많이 대기하든 말든 신경 쓸 필요가 없습니다.
단, 보행시간이 주어졌을 때 사람이 있다면 차량이 없더라도 보행시간을 유지해야겠죠

master님의 댓글

master 작성일

정해진 시간대로 움직이는 기존의 사거리 신호등 프로그램을 먼저 완성 시키고
각 구간에서 경과시간 및 센서를 읽고 다음 신호로 넘길지 말지를 결정하면 됩니다.
복잡할 것이 없겠죠
다음신호로 넘어왔는데 차량도 없고 사람도 없으면 1~2초 대기 후 또 다음 신호로 넘기면 됩니다.

율향님의 댓글

율향 댓글의 댓글 작성일

감사합니다. 기존 사거리신호등 프로그램은 완성하였습니다!
a~f순서에서 차량이많을경우에는 보행자신호를줄이고 보행자가많을경우 차량신호를 줄일생각입니다.
사람과 차량둘다 센서로 할경우에는 많이 복잡할까요? 사람위주로하는게 뭔가더 나아보일듯합니다.

master님의 댓글

master 댓글의 댓글 작성일

사람이든 차량이든 많을 때에는 시간을 연장 해보죠(정해진 시간의 2배까지)

현재단계 신호등출력
delay(1000);
if(사람이 있는 경우){
  if(정해진 시간의 2배 이상이면)현재 단계 종료,다음단계로
}
else if(차량이 있는 경우){
  if(정해진 시간의 2배 이상이면)현재 단계 종료,다음단계로
}
else{ 현재 단계 종료,다음단계로 } // 사람과 차량이 모두 없는 경우

질문게시판HOME > 질문게시판 목록

MCU, AVR, 아두이노 등 전자공학에 관련된 질문을 무료회원가입 후 작성해주시면 전문가가 답변해드립니다.
ATMEGA128PWMLED초음파
아두이노AVR블루투스LCD
UART모터적외선ATMEGA
전체 스위치 센서
질문게시판 목록
제목 작성자 작성일 조회
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은 질문게시판에서만 작성 가능합니다. 스태프 19-01-15 21006
공지 사이트 이용 안내댓글[29] master 17-10-29 34882
질문 stm32 보드에서 시간설정과 불러오기를 하는데 새글 라칸 10:09 7
질문 아두이노 인터럽트 질문입니다.댓글[1] 새글 Tell 23-09-21 12
답변 답변글 답변 : 아두이노 인터럽트 질문입니다. 새글 master 05:47 14
질문 아두이노와 거리 감지 센서의 전류 관련댓글[1] 새글 hmkim 23-09-21 25
질문 아두이노 코딩 질문있습니다. 도와주세요....댓글[1] 이미지새글첨부파일 vnpaz 23-09-20 36
질문 아두이노를 사용한 dc모터 위치제어댓글[2] 새글 모터위치 23-09-20 41
질문 stm32 디버깅이나 rst버튼 없이 하는 방법좀댓글[1] 라칸 23-09-20 37
질문 LCD에 숫자 표기법을 바꾸고 싶습니댓글[2] Bs드리프터 23-09-19 87
질문 알코올 측정기(MQ-3) 관련 질문 이미지 소오금 23-09-18 50
답변 답변글 답변 : 알코올 측정기(MQ-3) 관련 질문 master 23-09-19 43
질문 스텝모터 제어하는 소스파일 수정방법 질문드립니다. Bs드리프터 23-09-15 60
답변 답변글 답변 : 스텝모터 제어하는 소스파일 수정방법 질문드립니다.댓글[1] master 23-09-15 92
질문 atmega 128을 이용한 악기 튜너기댓글[1] 아두이노짱 23-09-15 220
질문 stm32 보드 ip주소 찾는법댓글[1] 라칸 23-09-13 58
질문 마이컴 종류 질문댓글[2] stevie8 23-09-12 105
질문 주파수 실수배 체배 관련문의댓글[6] 스쳐두임신 23-09-11 142
질문 스마트 창문 제작 중에 질문 있습니다!댓글[1] 이미지첨부파일 N8008 23-09-09 100
질문 아두이노와 파이어베이스 연결이 안되는데 도와주실수 있을까요댓글[1] 아카링고 23-09-08 353
질문 노르딕 타이머댓글[1] stevie8 23-09-08 253
질문 아두이노우노 엔코더모터 서보모터 코드댓글[1] 팔쟁이 23-09-07 191
질문 rs485 모드버스 통신 질문댓글[2] 킹초보 23-08-28 388
질문 데이터 타입 질문댓글[1] stevie8 23-08-22 206
질문 아두이노 서보모터 연결 작동안함댓글[1] 이미지 토뭉이 23-08-19 531
질문 아두이노 외부전원 인가 문제 해결방안...댓글[3] 나도할수있어아두 23-08-17 313
질문 Arduino nano 33 iot 모듈 블루투스 통신댓글[5] 이미지첨부파일 senior 23-08-16 597
질문 아두이노로 전달받은 값을 실시간으로 웹페이지와 연동댓글[1] 스냥 23-08-16 285
질문 atmega128 여러개 RFID 연결댓글[1] 강민준 23-08-15 251
질문 ATmega128A UCSR1A Register 질문 mustbe 23-08-14 228
게시물 검색

2022년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2021년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2020년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2019년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2018년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
Privacy Policy
MCU BASIC ⓒ 2020
모바일버전으로보기