0. 들어가며

다른 부품들(LOLIN D1 mini, 터치센서 등등)을 구매하면서 쿠폰 가격을 맞추느라 그냥 사봤습니다.

언제봐도 알리익스프레스는 가격이 깡패입니다.

그나저나 LOLIN D1 mini 납땜하다 거꾸로 했다가 그거 뜯어내고 다시 했더니 스케치에서 업로드가 안되서 속상하네요. 또 사야할 듯...


1. 상세 스펙 설명

아무튼 3색 신호등 LED 모듈에 대해서 알아보겠습니다.

이렇게 생겼으며 GND, R(Red), Y(Yellow), G(Green) 의 핀을 가지고 있습니다.


작동전압: 5V

GND : GND

R     : Digital

Y     : Digital

G     : Digital

(출처: https://www.aliexpress.com/item/LED-traffic-lights-light-emitting-module-digital-signal-output-Traffic-light-module-electronic-building-blocks/32883435544.html)


스펙을 보니 아두이노의 디지털IO에 연결해서 사용하면 될 것 같습니다.


2. 회도로 & 실제 연결도

간단한 모듈이니 회도로는 생략하겠습니다.

 3색 신호등 LED

 아두이노 나노

 GND

 GND

 R

 D3

 Y

 D4

 G

 D5



위와 같이 연결해서 테스트해 봅니다.


3. 테스트용 예제 작성

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#define LED_R 3
#define LED_Y 4
#define LED_G 5
 
void setup() {
  // put your setup code here, to run once:
  pinMode(LED_R, OUTPUT);
  pinMode(LED_Y, OUTPUT);
  pinMode(LED_G, OUTPUT);
}
 
void loop() {
  // put your main code here, to run repeatedly:
  turnOffAll();
  
  digitalWrite(LED_R, HIGH);
  delay(1000);
  turnOffAll();
 
  digitalWrite(LED_Y, HIGH);
  delay(1000);
  turnOffAll();
 
  digitalWrite(LED_G, HIGH);
  delay(1000);
  turnOffAll();
 
  turnOnAll();
  delay(1000);
  turnOffAll();
}
 
void turnOffAll() {
  digitalWrite(LED_R, LOW);
  digitalWrite(LED_Y, LOW);
  digitalWrite(LED_G, LOW);
}
 
void turnOnAll() {
  digitalWrite(LED_R, HIGH);
  digitalWrite(LED_Y, HIGH);
  digitalWrite(LED_G, HIGH);
}
cs


빨간색-노란색-초록색-모든LED를 순서대로 1초씩 켜는 예제입니다.


4. 결과 확인

문제없이 잘 되네요. 초록색 불이 많이 약하게 들어오기는 하지만 그래도 불이 켜지는 건 확인할 수 있습니다.



5. 마무리

특별히 복잡한 모듈은 아닙니다. 물론 쓸 곳도 딱히 없다는 게 애매한 점이긴 합니다만, 나중에 거리나 도로 모형 같은 걸 만들어서 링비트카 같은 무선조종 자동차로 도로를 달리게 하는 식으로 써봐야겠습니다.

+ Recent posts