아두이노 우노로 실감나는 신호등 시뮬레이터 만들기
부품 및 소모품
| 아두이노 우노 (지크레잇 등 호환 보드 가능) |
× |
1 |
| 브레드보드 |
× |
1 |
| 점퍼 와이어 (수-수) |
× |
1 |
| LED (빨강, 노랑, 초록 각 1개) |
× |
3 |
| 아두이노 USB 2.0 데이터 케이블 |
× |
1 |
| 저항 100Ω (갈-검-갈) |
× |
1 |
앱 및 온라인 서비스
프로젝트 설명
아두이노와 LED 몇 개로 실제 신호등처럼 동작하는 시뮬레이터를 만듭니다. 내부 타이머로 동작하며 전원 차단 전까지 무한 반복합니다.
준비물 확인
1단계: 브레드보드에 전원 공급
점퍼 와이어 한 쪽을 아두이노 GND 핀에, 다른 쪽을 브레드보드 맨 오른쪽 열(그라운드 레일) 최상단에 꽂습니다. 사진/회로도 참조.
2단계: LED와 저항 연결
저항 한 쪽을 그라운드 레일(오른쪽 열)에, 다른 쪽을 브레드보드 메인 영역 아무 행에 꽂습니다. LED도 같은 행에 꽂되, 짧은 다리(캐소드)는 저항 쪽(오른쪽), 긴 다리(애노드)는 왼쪽으로 향하게 합니다. 세 색상 모두 동일하게 3개 행에 배치.
3단계: 회로 완성 - 아두이노 핀 연결
각 LED가 꽂힌 행에서 점퍼 와이어로 아두이노 디지털 PWM 핀에 연결:
- 초록 LED → 핀 2
- 노랑 LED → 핀 3
- 빨강 LED → 핀 4
이제 코드 업로드하면 완성!
코드
// 핀 및 딜레이 상수
int GREEN = 2;
int YELLOW = 3;
int RED = 4;
int DELAY_GREEN = 5000; // 5초
int DELAY_YELLOW = 2000; // 2초
int DELAY_RED = 5000; // 5초
void setup() {
pinMode(GREEN, OUTPUT);
pinMode(YELLOW, OUTPUT);
pinMode(RED, OUTPUT);
}
void loop() {
green_light();
delay(DELAY_GREEN);
yellow_light();
delay(DELAY_YELLOW);
red_light();
delay(DELAY_RED);
}
void green_light() {
digitalWrite(GREEN, HIGH);
digitalWrite(YELLOW, LOW);
digitalWrite(RED, LOW);
}
void yellow_light() {
digitalWrite(GREEN, LOW);
digitalWrite(YELLOW, HIGH);
digitalWrite(RED, LOW);
}
void red_light() {
digitalWrite(GREEN, LOW);
digitalWrite(YELLOW, LOW);
digitalWrite(RED, HIGH);
}
회로도