» 기술 » arduino » 시프트 레지스터는 Arduino와 LED 도트 매트릭스를 사용 하 여

시프트 레지스터는 Arduino와 LED 도트 매트릭스를 사용 하 여

범주: arduino저자: 조회수: 266

지멘스 DLO7135 도트 매트릭스 LED에는 광전자의 한 놀라운 작품 이다. 그것은 표로 5 x 7 도트 매트릭스 지능형 디스플레이 (r) 드라이버-메모리/디코더. 그 메모리와 함께 96 문자 ASCII 디스플레이 상단 및 소문자 문자, 기본 제공 문자 발생기와 설정 및 멀티플렉서, 빛의 강도의 4 레벨을가지고 있다 하 고 모든 5v에서 실행 됩니다.

많이 살, 그리고 $16에서 팝업, 그것은 확실히 한다. 내 좋아하는 로컬 전자 제품 상점에서 하루의 절반을 지출 하는 동안 발견 $1.50에 대 한 이러한 전체 빈 조각. 여러 상점을 떠났다.

이 instructable 이러한 도트 매트릭스 LED의 연결 및 AVR 기반 Arduino를 사용 하 여 문자를 표시 하는 방법을 보여 줍니다. 만약 내 이전 가이드의을 읽었습니다, 나는 종종 가장 지극히 검소 한 솔루션에 찬성 하는 아이디어를 얻을 수 있습니다 하 고 수시로 목표 짧은을 할 경우에 당신은 잘못 되지 않을 것 이다. 따라서, 나 또한 다른 갈 거 야이 instructable 단계를 어떻게 줄일 수 있습니다 이러한 큰, 드라이브 하는 데 필요한 I/O 포트 수 honkin’ 도트 매트릭스 LED의 표시.

1 단계입니다. 상품을 얻을…

이 짧은 작은 프로젝트에 대 한이 필요 합니다.:

  • AVR 기반 마이크로컨트롤러는 Arduino 또는 그것의 ilk의 처럼. 아마 이러한 지침 선택의 당신의 MCU에 적용할 수 있습니다.
  • DLO7135 도트 매트릭스 LED 또는 동일한 제품군의 다른
  • 74LS164, 같은 8 비트 시프트 레지스터 74C 299, 또는 74HC594
  • 브레드보드
  • 중계 와이어, 전선 절단기, 등등입니다.

납땜 나중; 하나을 사용 하지만 필요 하지 않습니다. 당신은 그것 없이 얻을 수 있습니다.

2 단계입니다. LED 디스플레이에 직접 연결

귀하의 작은 부품 목록 레이아웃 및 LED를 잡아. 장소는 브레드보드에 다소 중심 정중 선에서 groove를 벌리고. 모든 LED의 왼쪽에 일어난 연결의 첫 번째 부분. 핀 # 1은 삼각형/화살표로 표시를 왼쪽 상단에 있습니다. 당신이 읽기 또는 귀하의 LED를 연결 하는 대로 당신의 참조를 위해 그림에 핀 기능 넣어.

왼쪽

긍정적인 왼쪽, 위에 NegativeStarting Vcc 5v에 연결 합니다. 그것은 어쩌면 보드 전체 왼쪽; 완료 될 때까지 전원이 없는 것이 좋습니다. LED 전선에서 찌를 작은 구멍을 참조 하려는 경우에 밝은 될 수 있습니다. GND 접지 왼쪽 하단을 연결 합니다.램프 테스트, 칩 사용 및 WriteThe 2 및 3 왼쪽 상단에서 램프 테스트 및 칩 사용 됩니다. 이들은 모두 부정적인 논리, 논리 0 대신 1 때 사용할 수 있습니다 의미 합니다. 아래에 내 그림, 그들을 통해 바 해야 하지만 모든 그들의 그을 주석 하지 않았다. LT 핀 사용 하면 1/7 밝기에서 도트 매트릭스에 모든 점이 최대 조명. 그것은 더 픽셀 테스트 하지만 LT 핀에 대 한 흥미로운 것은 그래서 당신은 이들 중 몇 가지 있으면 쩔 함께 메모리에 있는 모든 문자를 덮어쓰기 하지 않습니다 (그들은 20 피트 거리를 보기가지고), 플래시 LT 커서 처럼 보이게 만들 수 있습니다. 그것을 사용할 수 있도록 5v에 연결.CE 및 WR 핀은 또한 부정적인 논리와에 기록이 스마트 장치에 대해 사용 하도록 설정 하는 데 필요한. 하지만 우리가 여기에 귀찮게 하지 않을 귀하의 마이크로컨트롤러 예비 I/O 포트와이 핀 세세 수 있습니다. 그냥 사용 그들을 유지 하는 접지에 연결 합니다.밝기 Levelsthere는 Led의 DLO 가족에 4 개의 프로그래밍 가능한 밝기 수준:

  • 1/7 밝기
  • 1/2 밝기
  • 전체 밝기

BL1 높고 BL0 낮은 1/2 밝기입니다. 두 높은 전체 밝기입니다. 당신이 원하는대로 설정. 다시, 당신은 여분의 I/O 포트 그것은 충분히 당신에 게 중요 한 경우이 의해 제어 될 수도 있습니다 귀하의 Arduino.That 래핑합니다 왼쪽. 귀하의 보드에 전력을가지고 LED 빛을 보아야 합니다. 밝기 컨트롤을, 당신이 궁금해 하는 경우 램프 테스트와 재생.

오른쪽

오른쪽은 완전히 데이터 포트 구성 됩니다. 정확 하 게, 오른쪽 아래, 8 핀 또는 D0 7-비트 문자에 가장 중요 한 비트를 나타냅니다. 오른쪽 상단 핀 14 또는 D6 가장 중요 한 비트를 나타냅니다. 이 통해 LED를 쓸 때 귀하의 비트 순서를 섞으려면 순서를 알 수 있습니다. 있을 때 위로 유선 데이터 입력된 포트, 7 Arduino 또는 AVR에 디지털 I/O 포트를 빈 및 그들을 연결 찾을. 아마 데이터를 기억 하려는 거 야 귀하의 AVR의 출력 포트를 데이터 입력된 포트는 LED에 간다.이제는 스마트 LED에 일부 데이터를 밀어 준비가 완료 되었습니다. 당신은 아직 흥분과 떨림? 난 알고…

3 단계입니다. 표시 될 문자를 지정 하

이 CMOS LED에 사용 되는 문자 집합은 0×20부터 당신의 평범한 ASCII (10 진수 32, 공간) 0x7F 끝 (십진수 127; 삭제, 비록 커서 그래픽으로 LED에 표시). 그래서, 아무것도 보다 더 밀고 임무 인 데 문자를 표시 하는 LED는 로직 1 또는 0 데이터 출력 핀, 일반적으로 뒤에 WR 펄스 하지만이 연습 하는 상기 해요.그래서, 작성 또는 핀 포트, 오른쪽으로 이동 하는 무엇을 기억 했습니다? [2..7] PD 및 pb0을 선택 했다 (디지털 Arduino 통화에서 2-8 핀). 일반적으로 PD [0에서 1까지] FreeBSD 상자를 다시 내 시리얼 통신에 할애 하 고 Arduino의 연구진이 자신의 FTDI USB 통신 채널에 그 핀을 지도 하기 때문에 그리고 그들 “은” 말 핀 0 및 1 비록 사용 시리얼 통신을 초기화 하지 않는 경우, 나는 결코 정상적인 디지털 I/O로 그 핀을 사용할 수 것이 좋습니다 하지 않습니다. 실제로, PD1 PD0 사용 그들은 높은 항상 발견 하려고 할 때 문제를 디버깅 하려고 하는 2 일을 보냈다. * 어깨를 쓱 * 아마 것 처럼 어쩌면 키패드, pushwheel 또는 썸휠을 스위치, 외부 입력의 일종 좋은 또는 어쩌면 (내 ArduinoTerm 아직 준비가 황금 시간대에 대 한 그냥…) 터미널에서 입력 합니다. 선택은 당신입니다. 그냥 지금 나 LED에 문자를 코드를 가져오는 방법을 보여 주는 거 야. 다운로드 소스 코드 및 메이크파일 zipfile 이며 또한 문자 세트의 LED 인쇄를 보여주는 짧은 영화입니다. 비디오의 엉 터 리 품질에 대 한 죄송 합니다.아래 코드는 “내 Instructable에 환영!” 다음 순환 LED 지원 전체 문자 집합 문자열을 인쇄 합니다.DDRD = 0XFF; / / OutputDDRB (1[[:LT:]][[:LT:]]DDB0); = char msg = “내 Instructable에 환영!”;uint8_t 나 한 (;){대 한 (나 = 0; 난 [[: LT:]] 27; i + +) {Print2LED(msg[i]); _delay_ms(150);}에 대 한 (나 = 0×20; 나 [[: LT:]] 0×80; i + +) {Print2LED(i); _delay_ms(150);} Print2LED(‘*’);}포트 출력은 알아서 Print2Led() function.voidprint2led(uint8_t i)에서 {PORTD = (나 [[: LT:]] [[: LT:]] 2) 경우; (나 & 0b n/a PORTB = (1[[:LT:]][[:LT:]]PINB0); 다른 PORTB = (0[[:LT:]][[:LT:]]PINB0);}코드 및 메이크파일 아래 zip 파일에 포함 됩니다.

4 단계입니다. 시프트 레지스터와 함께 보존 하기 위해 I/O 포트

그래서 지금 우리의 마이크로컨트롤러 도트 매트릭스 LED 데이터를 보낼 수 있습니다 하지만 8 개의 I/O 포트를 사용 하는. 그는 ATtiny 8 핀 DIP 패키지에서와 심지어는 하나의 LED에 대 한 I/O 포트의 많은 ATmega328p 스포츠 최신 Arduino를 사용 하 여 제외 합니다. 그러나 우리 주변이, 얻을, 변화 라는 IC를 사용 하 여 등록할 수 있습니다.”Shift” 기어를 순간…시프트 레지스터 이름을 구성 하는 두 단어에 대 한 생각에 의해 가장 잘 이해 될 수 있다: “이동” 및 “등록.” 단어 shift 어떻게 데이터는 레지스터를 통해 이동 하는 말합니다. (우리의 Arduino와 마이크로컨트롤러, 일반)로 여기는 레지스터 데이터를 보유 하 고 있는 위치입니다. 이 implementsing 1 또는 0으로 나타낼 수 있는 두 가지 안정 상태는 “플립 슬리퍼” 라고 하는 디지털 논리 회로의 선형 체인. 그래서, 넣어 8 플립 퍼 함께 누르고 8-비트 바이트를 나타내는 수 있는 장치를가지고.거기 그냥 여러 종류의 플립 퍼 고 몇 가지 테마에 시프트 레지스터 (업/다운 카운터와 존슨 카운터 생각), 거기에 또한 시프트 레지스터를 레지스터에 데이터를 래치 하는 어떻게 하 고 어떻게 데이터는 출력에 따라 여러 유형의. 이것을 바탕으로, 다음과 같은 유형의 시프트 레지스터를 고려:

  • 직렬 / 병렬 (SIPO) 개
  • 직렬 / 시리얼 (SISO) 개
  • 병렬 / 직렬 (PISO) 개
  • (PIPO) 개에 / 병렬 병렬

두 참고는 SIPO와 PISO입니다. SIPO 레지스터 직렬 데이터, 즉, 다음 플립 플롭에 이전에 입력된 비트를 넘는다고 하 고 모든 데이터를 보내고 다른 후 하나의 비트를 한 번에 입력. 따라서 좋은 직렬 병렬 컨버터를. PISO 시프트 레지스터, 반대로 병렬 입력, 그래서 모든 비트를 한 번에 입력 하지만 한 번에 하나의 출력 됩니다. 그리고 당신은 그것을 짐작,이 직렬 변환기를 좋은 병렬에 대 한. I/O 핀의 수를 줄이기 위해 사용 하는 시프트 레지스터 우리 우리는 이전 사용 그 8 IO 핀을 하나, 또는 어쩌면 그냥 몇 가지 그들을 줄일 수, 우리 고려 수 있습니다 해야 제어를 어떻게 우리가 입력 비트. 따라서 우리가 사용 하는 시프트 레지스터는 직렬 / 교대 LED와 ArduinoUsing 사이의 변화를 병렬 Out.Wire 등록 레지스터 쉽습니다. 가장 어려운 부분입니다 그냥 데이터 출력 핀 및 어떻게 이진 자릿수 결국 IC, 그리고 어떻게 그들은 결국 표시 됩니다 LED에 시각화 됩니다. 이 밖으로 계획 하는 순간을 선택 하십시오. 1. 핀 14 (오른쪽 상단)에 5v를 연결 하 고 ground.2로 핀 7 (하단 왼쪽) 걸릴. 시프트 레지스터는 2 개의 직렬 입력 하지만 우리만 사용 해야 하나, 그래서 핀 두 5v3에 연결 합니다. 우리는 분명 핀을 사용 하지 않습니다 (모든 출력 밖으로 0 사용) 그래서 부동 또는 5v4에 공격. 하나의 디지털 IO 포트 핀 시프트 레지스터 중 하나에 연결 합니다. 이것은 직렬 입력된 pin.5 이다. 핀 8 (오른쪽 아래)에 하나 디지털 IO 포트를 연결 합니다. 이것은 시계 pin.6입니다. Q0에서 Q6 데이터 라인을 연결 합니다. 만에서는 7 비트 ASCII 문자 집합만 7 비트를 사용 하기 때문에. 클록 신호에 대 한 내 직렬 데이터 및 PD3 출력할 pd2을 사용 합니다. 데이터 핀 나 LED에 계속 그런 식으로 (D5 Q1), Q2 D4, 등등에 D6 Q0 연결. 우리가 보내는 데이터 직렬 우리 이진 표시 각 문자를 검사 해야 할 것 이다 이후 우리가 보내려고, 1과 0, 보고 하 고 각 비트 직렬 줄에 출력 합니다. 두 번째 버전의 메이크파일 아래 함께 dotmatrixled.c 소스를 포함 했습니다. 그것은 문자 집합을 순환 하 고 (이상한 생각 편지 순간 이진 표현에 대 한 홀수 또는 짝수, 생각 될 수 있는 경우) 모든 심지어 문자를 표시 합니다. 어떻게 모든 이상한 문자가 표시 순환 수 있도록 하려고 합니다. 시프트 레지스터, 도트 매트릭스 LED, 및 당신의 Arduino 간의 연결을 더욱 실험할 수 있다. LED와 데이터를 표시 하는 때에 대 한 귀하의 컨트롤을 세부적으로 조정할 수 수 있는 레지스터 간의 여러 제어 기능이 있습니다.우리만 두를 사용 하 여 8 개의 I/O 포트를 사용 하는 데에서 갔어요 그래서…!

5 단계입니다. 요약

이 instructable, 내가 제시 DLO7135 도트 매트릭스 LED와 그것을 작동 하는 방법. 나 또한, 시프트 레지스터를 사용 하 여만 두를 8에서 필요한 I/O 포트의 수를 감소 하는 방법을 설명 합니다. DLO7135 도트 매트릭스 LED는 아주 눈 잡기 및 흥미로운 윤곽을 함께 중독 될 수 있습니다.

이 instructable 읽는 재미를 했다 희망! 만약 거기에 어떤 개선 당신이 만들 수 있는 생각 또는 제안 당신이이 또는 주고 싶습니다 내 ‘ ibles, 그들을 듣고 행복 해요!

해피 AVR’ing!



최근 게시물


  1. 사용 되는 커피 컵에서 디자이너 화병

  2. 구형 볼륨

  3. 놀라운 테슬라 CD 터빈 구축

  4. 아수스의 Eee에 대 한 간단한 가방을 만드는 방법

  5. 터키 개 취급

  6. 수 지 시계 스트랩 장식 하는 방법

  7. 많은 ' o '를 봇 팔찌

  8. 제스처 게임 키트 만들기

  9. 미니 USB 플래시 드라이브 (개폐식)

  10. 양족 동물 로봇 V-3

  11. 과학자가 될: 병 전기.

  12. '증폭': 해킹 라디오.

  13. 자동차 속도계에는 계신

  14. 추가 팬 컴퓨터 방열판을-필요 없이 나사

  15. K-Mod 당신의 Supersoaker!

  16. 당신의 자신의 혀 분기점을 수행 하는 방법

  17. 스케치업, Inkscape, 및 Ponoko 레이저 절단

  18. V b 6에서 프로그래밍: 팁과 트릭

  19. 오래 타고 깎는 기계-복원 하 고 치아를 추가!

  20. 전체 헬멧 스테레오 (헤드폰 및 MP3 플레이어)

달력

2월 2014
« Jan    
 12
3456789
10111213141516
17181920212223
2425262728  

기록 보관소