컴퓨터 지식 네트워크 - 컴퓨터 프로그래밍 - 안녕하세요. 저는 마이크로 컨트롤러의 초보자로서 라이트 큐브에 대해 잘 이해하지 못합니다. 라이트 큐브가 어떻게 작동하는지 자세히 설명해주실 수 있나요?

안녕하세요. 저는 마이크로 컨트롤러의 초보자로서 라이트 큐브에 대해 잘 이해하지 못합니다. 라이트 큐브가 어떻게 작동하는지 자세히 설명해주실 수 있나요?

간단히 말하면 라이트 큐브는 마이크로 컨트롤러를 사용하여 규칙적으로 배열된 많은 LED의 켜짐 및 꺼짐을 제어합니다.

1. 먼저 단일 LED의 제어 방법을 이해합니다. 전류 제한 저항을 통해 양극을 전원 공급 장치에 연결하고 음극을 마이크로 컨트롤러의 IO 포트에 연결할 수 있습니다. IO 포트가 로우 레벨을 출력하면 LED가 켜지고, 그렇지 않으면 LED가 꺼집니다.

2. 단일 LED 제어 방식에 따르면 각 LED는 마이크로 컨트롤러의 IO 포트를 차지해야 합니다. 100개의 LED를 제어하려면 100개의 IO 포트가 필요합니다. 그렇다면 더 적은 수의 IO 포트로 더 많은 LED를 제어할 수 있는 방법이 있을까요? 대답은 '예'입니다. 이 방법은 드라이버 회로를 스캔하는 것입니다.

3. 스캔 구동 회로의 기본 원리는 인간 눈의 시각적 체류 효과를 활용하는 것입니다. 2×2 스캔 구동 회로를 예로 들면, 작동 원리에 대한 간략한 설명이 제공됩니다. 4개의 LED가 2행과 2열로 나누어져 있습니다. 회로는 다음과 같습니다(그림에서는 전류 제한 저항이 생략됨). ):

때:

p>

C1=x, C2=x, L1=1, L2=1일 때 모든 조명이 꺼집니다.

C1일 때 =1, C2=0, L1=0, L2=1, D11 점등

C1=1, C2=0, L1=1, L2=0, D12 점등

C1=0, C2=1, L1=1, L2=1일 때, 모두 꺼짐

C1=0, C2=1, L1=0, L2=1일 때, D21 점등

p>

C1=0, C2=1, L1=1, L2=0 일 때, D22가 ON

C1, C2, L1, L2를 제어하면 어느 하나가 되는 것을 알 수 있습니다. D11, D12, D21, D22의 LED 중 하나를 켜거나 끌 수 있으며, 4개의 LED를 모두 끌 수 있습니다.

위의 방법을 사용하면 D11과 D12를 한 번에 하나씩만 켜집니다. 그러나 회전 속도를 높이고 초당 50회 이상 회전하면 시각적 효과가 나타납니다. 즉, 두 LED가 동시에 켜집니다.

이렇게 C1, C2, L1, L2를 제어하면 모든 LED가 켜지고 꺼지도록 제어할 수 있다.

위 회로는 4개의 LED를 제어하기 위해 4개의 IO 포트를 사용한다. 그러나 직접 제어에 비해 IO 포트를 아끼지 않는다. 그러나 행과 열의 개수를 16×16으로 늘리면 *** 256개의 LED는 제어를 위해 32개의 IO 포트만 필요합니다. 즉, 행과 열이 많을수록 더 많은 IO 포트가 절약됩니다.

위 제어 과정을 면밀히 분석해 보면 IO 포트 수를 더 줄일 수 있다는 것을 알 수 있다.

16×16 열을 예로 들어보겠습니다. 16개 열 중 한 번에 한 열만 켜지면 4개의 IO 라인과 4~16개의 디코더로 대체될 수 있습니다. 이렇게 하면 IO 포트가 20개만 있는 16+4가 됩니다. 여전히 16개의 행이 있습니다. 이러한 방식으로 한 열의 여러 LED가 동시에 켜지도록 제어할 수 있기 때문입니다. 스캔 진행 속도를 높입니다.

위는 라이트 큐브의 기본 원리이다. 제어 프로세스에 익숙해지면 프로그램을 작성하는 것은 어렵지 않습니다.

上篇: 어떻게 핸드폰으로 텔레비전에 화면을 투사합니까? 下篇: 전설적인 핸드 박스 순위
관련 내용