[아두이노] 3x3x3 CUBE LED 제어 I
[아두이노] 3x3x3 CUBE LED 제어 I
- 온라인 가상시뮬레이터 : https://www.tinkercad.com/
- 참고자료 : [아두이노] 스위치버턴을 이용한 Keypad 제어
[아두이노] LED 제어
오늘의 주제는 흥미를 유발할 수 있는 3x3x3 CUBE LED 원리를 배우도록 하겠습니다. 지난 [아두이노] 스위치버턴을 이용한 Keypad 제어에서 스위치 버턴을 건물의 층과 호실로 나눠서 살펴봤는데 스위치 버턴은 아두이노로 입력을 받는 방식이라면 역으로 3x3x3 CUBE LED은 아두이노에서 LED로 출력하는 방식이라고 생각 하시면 됩니다. 스위치 버턴은 시각적으로 이해하기는 어렵지만 이번 포스팅 내용은 최대한 시각적인 표현을 통해 LED 제어하는 원리를 쉽게 이해할 수 있도록 표현해 보겠습니다.
1. 3x3x3 CUBE LED 원리
무료이미지 없고 실제로 제작한 것이 없어서 남의 이미지를 가져오는게 좀 문제가 있어서 가상시뮬레이터 최대한 표현은 해 봤네요. 검색어로 3x3x3 CUBE LED를 치시면 사진으로 화려한 이미지들을 볼 수 있을꺼에요. 이런걸 만드는 거구나 하고 우선 구경만 해보세요.
3x3x3 CUBE LED은 x,y 축으로 3x3 LED가 있고 z축으로 3x3 LED가 3개가 있는 것을 3x3x3 CUBE LED라고 부릅니다. 평면이 아닌 3차원 LED라고 생각하면 편하실꺼에요.
아래 그림은 x,y축으로 1개의 LED 단면을 나타낸 실험 그림입니다. 그림을 보면 5V 파워서플라이를 이용해서 전류를 보낼때 회로도 처럼 +, - 를 보내면 아래 한줄이 전부 불이 들어오는 결과를 보실 수 있을거에요. 왜 이렇게 불이 들어왔는지 그 원리에 대해서 공부해보도록 하겠습니다.
회로도 | 결과 |
---|---|
2. LED 원리
LED은 다리가 긴쪽이 '+' 이고 다리가 짧은쪽이 '-' 입니다. 가상시뮬레이터에서 사용하는 LED은 다리가 긴쪽이 꺽여있는 걸 보실꺼에요. 다리가 길다는 것을 표현한 이미지 입니다.
위 그림처럼 LED은 5V의 전류가 공급되면 바로 터져버립니다. 그래서 저항을 붙여줘서 전류의 양을 필요한 만큼만 공급되게 해야 아래와 같이 정상적으로 켜집니다. 220옴을 사용했네요. [아두이노] LED 제어 편에서 LED 색상별 필요한 전류가 표로 나와 있으니깐 참조하세요.
3. LED 동작
전류의 공급이 이루어진 LED만 불이 들어오는 것을 보실 수 있죠. 해당 LED에 Vcc(+) 전류가 공급되면 Gnd(-)핀과 쌍으로 연결된 LED에만 정상적으로 전류가 흐르니깐 LED에 불이 들어오게 됩니다. 이 동작 원리를 잘 이해해 주세요. 3x3x3 CUBE LED의 기본 동작 원리이기 때문입니다.
4. 3x3x3 CUBE LED 동작
위 LED 동작에서 보신 3개의 LED를 하나의 층으로 생각하고 총 3층으로 구성되었다고 생각하세요. 3개의 LED가 3개씩 총 9개가 배치된 그림입니다.
전선의 색을 잘 살펴봐주세요. 세로로 같은색을 이루고 있죠. 그 색은 서로 연결되어 있는거라고 생각해 주세요. 오렌지, 블루, 핑크색 선들이 세로로 연결되어 있으니깐 혼동하지 마세요
이제 3층 3호실로 이루어진 건물이 있다고 생각하세요. 각층의 1호실은 핑크선, 각층의 2호실은 블루선, 각층의 3호실은 오렌지선으로 연결되어 있다고 생각하세요.
1층 1호실방에 불이 들어올려면 LED 동작에서 이해 했다면 Vcc(+)와 Gnd(-)를 연결을 어떻게 해야 할까요. 핑크선에 Vcc(+)을 연결하고 1층의 녹색선에 Gnd(-)를 연결하면 됩니다.
여기서 핑크선에 Vcc(+)를 연결하면 1층1호실, 2층1호실, 3층1호실에 Vcc(+) 전류가 공급됩니다. 여기서 1층 녹색선만 Gnd(-)선이 연결되어 있다면 1층1호실만 불이 들어옵니다. 하지만 2,3층 녹색선도 Gnd(-)에 연결되어 있다면 어떻게 될까요.
위 그림처럼 각층에 1호실에 Vcc(+)가 공급되니깐 각층마다 Gnd(-)가 연결된다면 각층 1호실 전부다 불이 들어오게 되겠죠. 이 의미를 잘 이해해 주세요.
그러면 다시 2층 2호실에 불이 들어올려면 어떻게 해야 할까요. 블루선에 Vcc(+)가 연결되고 2층 녹색선만 Gnd(-)선이 연결된다면 아래와 같이 불이 들어 오겠죠.
어렵지 않죠. 여러분들도 원하는 위치에 불이 들어오게 한다면 Vcc(+)와 Gnd(-)를 어떻게 연결할지 그려보시거나 가상시뮬레이터에서 한번 실험 해보세요.
이게 3x3x3 CUBE LED의 원리입니다. 오늘 실험은 3x3x1 CUBE LED 라고 생각하시면 되겠죠. 3x3x3 CUBE LED라면 9 호실로 이루어진 3층 건물로 생각하시면 됩니다. 3호실이 아니라 9호실로 늘어났다고 생각하시면 됩니다. 단지 LED를 큐브 모양으로 배치했을뿐 위에서 다룬 LED 동작을 3층 9호실로 호실만 늘어난 구조라고 생각하시면 오늘 내용은 이게 전부입니다.
Vcc(+)와 Gnd(-)을 어떻게 연결하느냐에 따라 LED에 불이 들어오는지만 이해하시면 됩니다. 핑크, 블루, 오렌지 선에 공급되는 Vcc(+)와 각층에 연결된 Gnd(-)선이 서로 연결되었을때 원하는 위치에 LED에 불이 들오는 것만 이해하시면 됩니다.
설명보다는 실제로 가상시뮬레이터에서 선을 연결해보세요. 그래야 이해가 되실 듯 싶네요
마무리
위에서 Vcc(+), Gnd(-) 선을 연결하여 해당 위치의 LED에 불이 들어오게 하는 방법을 배웠습니다. 하지만 중요한것은 아두이노에서는 위에서 실험한것처럼 그때 그때마다 선을 바꿀 수 없잖아요. 그걸 아두이노가 디지털핀으로 Vcc(+0)와 Gnd(-)을 출력함으로써 그 역활을 대신합니다.
파워서플라이에서 선이 전부다 Vcc(+), Gnd(-)가 연결되어 있죠 1층 1,2,3호실에 불이 들어오고 나머지는 불이 안들어오게 하기 위해서 표현한 예인데 아두이노였다면 디지털핀 6개를 Vcc(+)와 Gnd(-)를 출력으로 보내면 보시는 것처럼 LED불이 들어오게 되겠죠.
그리고 선을 보시면 녹색선에 Gnd(-) 대신에 Vcc(+)를 연결하신 걸 보실꺼에요. 양극이 같은 극이 되면은 전류가 흐를 않는 원리를 이용한 것입니다. 왜 이렇게 구지 연결했냐면 다음편에 소개할 아두이노에서는 해당핀을 Vcc(+) or Gnd(-) 에서 핀은 둘중 하나의 상태를 유지하기 때문에 시각적으로 보여주기 위해서 파워서플라이 연결을 이런식으로 표현 한 것이죠.
이부분은 다음편에서 자세히 이야기 하도록 하겠습니다. 오늘은 LED 선을 어떻게 연결하면 어느 위치에 LED가 불이 들어오는지 전류의 흐름을 잘 관찰하시고 그 원리를 이해만 해주시면 어렵지 않을 것에요. 그리고 이 부분이 핵심이니깐 전류의 흐름의 느낌을 잘 이해해 주세요.
'IOT > 아두이노' 카테고리의 다른 글
[아두이노] 3x3x3 CUBE LED 제어 III (0) | 2019.03.21 |
---|---|
[아두이노]3x3x3 CUBE LED 제어 II (0) | 2019.03.20 |
[아두이노] Debounce에 대해 살펴보자 (0) | 2019.03.18 |
[아두이노] 아두이노 끼리 통신하기 (0) | 2019.03.17 |
[아두이노] delay()함수 안쓰고 delay 제어하기 (2) | 2019.03.16 |