항공기 나 선박에서 프로펠러를 본 적이있을 것입니다. 실제가 아니라면 영화에서 확실히 볼 수 있습니다. 이 세션에서는 Arduino, LED 및 DC 모터가 있는 프로펠러 디스플레이 를 설계 할 것 입니다. 이 프로펠러 디스플레이에서 텍스트는 원형으로 프로펠러 방식으로 회전하는 것처럼 보입니다.
프로펠러 디스플레이는 LED 매트릭스와 같은 방식입니다. 8 * 1 매트릭스 (8 행 1 열)의 형태로 배열 된 8 개의 LED (발광 다이오드)가 포함되어 있습니다. 그것들은 사다리 형태로 배열되어 있습니다. 이 8 개의 LED는 텍스트, 숫자, 기호 등과 같은 모든 콘텐츠 를 표시 하도록 만들 수 있습니다. 이것은 많은 정지 이미지가 순차적으로 하나씩 빠르게 이동하는 POV (Perception of Vision)에 의해 달성되어 애니메이션의 인식을 제공합니다. 또는 움직이는 이미지. 이것이 어떻게 수행되는지는 아래 주어진 튜토리얼에서 설명됩니다.
필요한 구성 요소:
- Arduino Uno
- DC 모터
- + 3.6V 리튬 이온 배터리
- LED (8 개)
- 1KΩ 저항기 (8 개)
프로펠러 디스플레이의 구성:
먼저 안정적인 기반을 확보하십시오. 주변에 누워 있던 오래된 PC DVD DRIVE를 사용했습니다. 나무 판자 또는 판지 상자를 얻을 수 있습니다. 그런 다음 DVD 드라이브 (베이스) 중간에 구멍을 뚫고 DC 모터 축을 삽입합니다. 구멍이 모터를 고정 할 수있을만큼 꽉 조여 있고 모터가 자유롭게 회전 할 수 있는지 확인하십시오. 저는 Feviquick을 사용하여 축을 제자리에 배치했습니다.
고르지 않은 범프 를 동일시하도록 모터 상단을지지합니다. 나는 그 위에 도트 보드를 사용하고 다시 빠른 접착제를 사용하여 DC 모터에 붙였습니다.
리튬 이온 배터리를 상단에 부착합니다. 같은 크기의 리튬 이온 배터리가없는 경우 그대로 두십시오. 그 후 각 LED를 가져와 버튼 셀 또는 다른 소스로 테스트하십시오. 그런 다음 아래 그림과 회로도에 따라 저항기를 가져와 LED로 납땜하십시오.
아래 그림과 회로도와 같이 납땜 된 LED와 저항을 Arduino UNO와 연결합니다.
DC MOTOR 상단에 UNO를 장착하고 첼로 테이프로 고정하여 설정을 완료합니다. 따라서 최종 프로펠러 설정 은 다음과 같습니다.
회로 및 작동 설명:
Arduino 제어 POV Display의 회로 는 매우 간단합니다. 아래 회로도에 따라 Arduino Uno에 8 개의 LED를 간단히 연결했습니다.
PORTD, PIN0 ------------------ LED8 포지티브 터미널
PORTD, PIN1 ------------------ LED7 포지티브 터미널
PORTD, PIN2 ------------------ LED6 포지티브 터미널
PORTD, PIN3 ------------------ LED5 포지티브 터미널
PORTD, PIN4 ------------------ LED4 포지티브 터미널
포트, PIN5 ------------------ LED3 포지티브 터미널
PORTD, PIN6 ------------------ LED2 포지티브 터미널
PORTD, PIN7 ------------------ LED1 포지티브 터미널
디스플레이를 확장하기 위해 8x8 LED Matrix에 더 많은 열을 추가하는 것처럼, 더 많은 LED COLUMNS를 추가하는 대신 DC MOTOR의 움직임을 사용하여 첫 번째 LED COLUMN을 두 번째 LED COLUMN 위치로 이동합니다.
전체 상황을 이해하기 위해 프로펠러 디스플레이에 'A'가 표시되도록하겠습니다. 아래 그림과 같이 LED 'needle'이 처음에 POSITION1에 있다고 가정합니다. LED 바늘 은 8 개의 LED가있는 기둥입니다.
이제 모터에 전원을 공급하고 작동을 시작합니다.
t = 0ms에서: 바늘은 위치 1에 있습니다.이 위치에서 TOP LED (MSB)에서 BOTTOM LED (LSB)까지 8 개의 LED가 모두 켜집니다.
t = 1ms에서: 바늘은 위치 2에 있습니다. 위치 1과 동일하게이 위치에서 TOP LED (MSB)에서 BOTTOM LED (LSB)까지 8 개의 LED가 모두 켜집니다.
t = 2ms에서: 바늘은 POSITION 3에 있습니다.이 위치에서는 LED7, LED6 및 LED3 만 ON 상태를 유지하고 나머지 LED는 꺼집니다.
t = 3ms에서: 바늘은 위치 4에 있습니다. 위치 3과 동일합니다.이 위치에서는 LED7, LED6 및 LED3 만 ON 상태를 유지하고 나머지 LED는 꺼집니다.
t = 4ms에서: 바늘은 위치 5에 있습니다. 위치 3 및 4와 동일하며이 위치에서는 LED7, LED6 및 LED3 만 ON 상태를 유지합니다. 나머지 LED는 꺼집니다.
t = 5ms에서: 바늘이 위치 6에 있습니다.이 위치에서 8 개의 LED가 모두 다시 켜지고 TOP LED (MSB)에서 BOTTOM LED (LSB)까지 켜집니다.
t = 6ms에서: 바늘은 위치 7에 있습니다. 위치 6과 동일하며이 위치에서 8 개의 LED가 모두 켜져 있습니다.
위에서 설명한 것처럼 적절한 바늘 위치에서 적절한 LED를 켜서 필요한 문자를 표시합니다. 바늘의 이동 속도가 느리면 각 LED 열을 개별적으로 볼 수 있습니다. 그러나 모터의 속도가 빠르고 바늘이 너무 빨리 움직이면 디스플레이에 "A"문자가 계속 표시됩니다.
프로그래밍 설명:
회전하는 동안 적절한 시간에 적절한 LED에 전원을 공급하도록 Arduino를 프로그래밍하여 LED 열이 원형 위치에 "CIRCUIT DIGEST"텍스트를 표시하도록했습니다.
프로펠러 디스플레이의 프로그래밍 은 쉽게 이해할 수 있습니다. 26x8의 문자 배열은 휘발성 문자 ALPHA 로 간주됩니다 . 이 배열은 26x8 배열을 만드는 26 개의 알파벳을 각각 표시하기 위해 바늘의 8 개 위치로 구성됩니다. 배열의 26 행은 26 개의 알파벳을 나타내고 각 행의 8 열은 회전하면서 문자를 표시하는 바늘의 8 개 위치를 나타냅니다. 이제 각 셀은 Needle의 특정 위치에있는 8 개의 LED의 켜짐 / 꺼짐 상태를 나타내는 이진수로 구성됩니다. 여기서 바늘은 위에서 설명한대로 Arduino에 연결된 8 개의 LED 라인을 나타냅니다.
이제 DC 모터를 회전하고 문자를 표시하기 위해 8 번 반복 하는 ' for 루프 '를 사용하면 됩니다. 10 개의 문자를 표시하려면 각각 8 개의 반복으로 10 개의 ' for 루프' 를 실행해야합니다. 그래서 우리는 CIRCUIT DIGEST 텍스트를 표시하기 위해 13 개의 for 루프 를 사용했습니다. 데모 비디오로 아래 의 전체 프로그램 코드를 확인하십시오.
그래서 이것은 텍스트가 프로펠러처럼 회전하는 것처럼 Arduino를 사용하여 아름다운 POV (Persistence of Vision) 환상을 만드는 방법 입니다.