미카 투우폴라

2011 년 11 월 4 일(금)

누가 깜박이는 빛을 좋아하지 않을 것입니까? 전자가 어렵다. 전자 제품은 프로그래밍보다 훨씬 어렵습니다. 나는 주도 행렬이 어떻게 작동하는지 이해하기 위해 열심히 시간을 보냈습니다. 뭔가를 배우는 가장 좋은 방법은 무엇입니까? 하나 자신을 구축 할 수 있습니다.

구조

매트릭스 형식으로 행과 열로 배열됩니다. 당신은 또한 그들을 다음과 같이 생각할 수 있습니다.와이 과 엑스 좌표. 우리가 4 배 행렬을 가지고 있다고 가정 해 봅시다.행은 1 에서 4 까지 표시되며 열은 1 에서 4 까지 표시됩니다. 이제 우리는행과 열로 이끄는 각각의 주소를 지정하십시오. 왼쪽 상단 주도 것(에이,1). 그 이유는 다음과 같습니다.

지도한 모체는 2 개의 풍미 들어옵니다. 공통 행 양극(왼쪽)및 공통 행 캐소드(오른쪽).

위의 그림은 다른 구성을 보여줍니다. 이 두 가지 구성의 차이는 당신이 주도 조명 방법입니다. 공통 행 양극 전류 소스(양의 전압)가 행에 부착됩니다..디 및 전류 싱크(음의 전압,접지)열 1..4. 와일반 행 음극 전류 싱크는 행에 부착된다..열 1 에 대한 소스..4.

예를 들면. 일반적인 음극 매트릭스의 아래쪽(디,4)을 밝게하려면 양극 전압을 열 4 에 공급하고 행을 접지에 연결하십시오. 명확성을 포기하십시오.이 기사의 나머지 부분에 대한 예제에서 공통 행 음극을 사용할 것입니다.2406>

발광 다이오드 매트릭스 구축

4*4 공통 행 음극 매트릭스를 구축하려면 16 개의 발광 다이오드,4 개의 저항기,일부 헤더 및 프로토타이핑 보드가 필요합니다. 나는 에폭시 접착제로 프로토 타이핑 보드에 시트를 붙이는 것으로 시작했습니다. 이 방법으로 더 쉽게 가질 수 있습니다.아름답게 정렬 된 정원. 접착 할 때 긴 다리와 짧은 다리가 같은 방식으로 정렬되어 있는지 확인하십시오.

접착 매트릭스

접착제가 건조 할 때 구부리고 납땜하는 시간입니다. 먼저 벤드 모든 카토 데스토 가능한 한 보드를 프로토 타입에 가까운 떠났다. 모든 음극을 납땜하십시오.각 행에 함께. 음극이 준비되면 모든 양극을 구부립니다. 양극 음극을 만지지 않아야합니다. 음극 위의 다리를 형성하기 위해 양극을 구부리는 데 도움이되는 플라스틱 튜브 조각을 사용했습니다.

굽힘 다리

이제 각 행의 모든 양극을 함께 납땜하십시오. 헤더를 납땜하고헤더에 음극 행을 직접 연결하십시오.

하단

양극 행은 전류 제한 저항으로 헤더에 연결됩니다.저항의 값은 사용 주도 따라 달라집니다. 주도 데이터 시트를 확인하십시오.순방향 전압 및 전류. 지도 된 계산기가 당신을 찾는 데 도움이 될 것입니다.올바른 저항. 매트릭스는 이제 테스트를위한 준비가되어 있습니다.

상단

주소 단일 주도

연결 접지 행 및 긍정적 전압 열 1 빛 오른쪽 상단 주도(,1).

단일 조명

연결 접지 행 디 및 긍정적 인 전압 열 4 빛 바닥 다운 주도(디,4).

단일 주도 조명

직관은 모두 조명 말할 것(에이,1)과(디,4)동시에 네 개의 전선을 모두 연결하는 것입니다. 이것은 사실이 아니다. 불이 켜진 4 개의 레드가 있습니다. 이는 전류가(에이,4)및(디,1)을 통해 흐르기 때문입니다.

다중화 및 비전 지속성

다중화를 사용하여 임의의 패턴을 표시 할 수 있습니다. 멀티플렉싱은 때때로 스캐닝이라고도합니다. 그것은(일반적으로 위로부터 아래로)행을 스캔하고 빛은 한 행에서 한 번에 발광 다이오드를 필요로했다. 다음과 같은 것:

  1. 모든 연결이 끊어진 것으로 시작하십시오.
  2. 연결 긍정적 전압 필요한 모든 열.
  3. 연결 행 접지. 이 행에 필요한 조명.
  4. 행과 모든 열을 분리합니다.
  5. 모든 행에 대해 동일한 단계를 하나씩 수행 한 다음 시작부터 시작하십시오.

이 작업을 천천히 수행하면 깜박이는 행이 표시됩니다. 정말 빨리해라.인간의 눈은 전체 패턴을 볼 수 있습니다. 현상이 호출됩니다.비전의 유지.

패턴 그리기

행렬에 패턴을 그리기위한 간단한 코드를 작성할 수 있습니다. 참고!나는 아두 이노 보드를 사용하고 있지만 나는 개발을 위해 아두 이노 라이브러리 노 라이드를 사용하지 않습니다. 그러나 나는 아두 이노 핀 번호 체계를 좋아한다.함수pin_mode()digital_write()은 아두 이노 등가물과 정확히 같은 방식으로 작동합니다.

우리는 그들에 대한 핀 및 기본 상태를 설정하여 시작합니다.

uint8_t column_pins = { 2, 3, 4, 5 };uint8_t row_pins = { 11, 10, 9, 8 };static void init(void) { /* Turn all columns off by setting then low. */ for (uint8_t x=0; x<4; x++) { pin_mode(column_pins, OUTPUT); digital_write(column_pins, LOW); } /* Turn all rows off by setting then high. */ for (uint8_t y=0; y<4; y++) { pin_mode(row_pins, OUTPUT); digital_write(row_pins, HIGH); }}

행렬에 패턴을 표시하려면draw()함수를 사용합니다.비트맵은 2 차원 배열로 전달됩니다. 지연은 다음에 만 사용됩니다.비전의 지속성을 보여줍니다.

uint8_t pattern = {{1,0,0,1}, {0,1,0,0}, {0,0,1,0}, {1,0,0,1}};void draw(uint8_t buffer, uint8_t delay) { for (uint8_t row=0; row<4; ++row) { /* Connect or disconnect columns as needed. */ for (uint8_t column=0; column<4; ++column) { digital_write(column_pins, buffer); } /* Turn on whole row. */ digital_write(row_pins, LOW); _delay_ms(delay); /* Turn off whole row. */ digital_write(row_pins, HIGH); }}

비전 효과의 지속성을 조사하기 위해 우리는 다음과 같은 패턴을 그립니다.다른 지연.

uint8_t main(void) { init(); /* With 100ms delay eye can see updating row by row. */ for (uint8_t i=0; i<10; i++) { draw(pattern, 100); } /* With 10ms delay pattern appears but flickers. */ for (uint16_t i=0; i<100; i++) { draw(pattern, 10); } /* Withoud delay solid pattern appears. */ while (1) { draw(pattern, 1); } return 0;}

전체 코드는 다음에서 찾을 수 있습니다.기스 허브.아래 비디오의 출력을 확인하십시오.

더 읽기

회로 기술:메이크업 잡지에 의해 주도 매트릭스. 또는 알렉산더 웨버에 의해 저항없이 주도 운전. 이 응용 프로그램은 당신의 운전 능력을 향상하는 데 도움이됩니다. 전자공학 클럽에 의하여 발광 다이오드(발광 다이오드).

에서 배치하는

답글 남기기

이메일 주소는 공개되지 않습니다.