제조공정
| × | 1 | ||||
| × | 1 | ||||
| × | 7 | ||||
| × | 1 | ||||
| × | 2 |
|
| ||||
|
8x8 매트릭스에서 스크롤링 텍스트를 만들기 위해 여러 번 시도한 후 Embedded Lab 페이지에서 가장 완전한 매뉴얼을 찾았습니다. http://embedded-lab.com/blog/portable-bluetooth-enabled-scrolling-led-matrix-display -part-1/.
이 장치에는 스마트폰에서 데이터를 수신하기 위한 Arduino nano, Bluetooth 모듈 및 MAX7219로 구동되는 8x8 LED 매트릭스가 포함되어 있습니다.
그곳과 달리 나는 Ebay나 Alexpress에서 매우 저렴하게 구입할 수 있는 MAX7219 칩이 있는 기성품 8x8 매트릭스 모듈을 사용했습니다. 현재 저는 7개의 모듈만 가지고 있었기 때문에 코드를 약간 수정했습니다. Android 애플리케이션은 Google Play 스토어에 더 이상 존재하지 않으므로 다음에서 다운로드할 수 있습니다.
https://bluetooth-spp-pro.en.uptodown.com/android
. 스크롤 속도, LED 밝기, 일시 중지, 텍스트 지우기 및 미리 정의된 여러 텍스트 버튼을 제어할 수 있습니다.
결국, 나는 전체 장치를 상자에 넣었습니다. 저는 PVC 재질로 만든 상자에 검은색 벽지를 붙였습니다.
아두이노 라이브러리:
https://github.com/markruys/arduino-Max72xxPanel
https://github.com/adafruit/Adafruit-GFX-Library
섹션> <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">/*다음은 Arduino가 인식하는 명령입니다. 1. 모든 문자 스트림은 괄호 안에 넣어 보내야 합니다. 예:"Hello! How are you doing?"이라는 메시지를 표시하려는 경우를 가정해 보겠습니다. (안녕하세요! 잘 지내고 계신가요?) 아두이노는 첫 번째 문자를 '('로 받으면 앞으로 나올 문자는 ')'가 수신될 때까지 디스플레이 데이터임을 이해합니다. 메시지는 오른쪽에서 왼쪽으로 스크롤하여 표시됩니다. 2. 디스플레이 강도는 각각 /+ 또는 /-를 전송하여 증가 또는 감소할 수 있습니다. Arduino는 '/'를 수신할 때마다 이것이 명령임을 이해합니다. 16단계 밝기를 지원합니다. 3. 마찬가지로 /<또는 />를 각각 전송하여 스크롤 속도를 높이거나 낮출 수 있습니다. 4. /p는 스크롤링 메시지를 일시 중지하는 데 사용됩니다. 이 명령을 다시 보내면 스크롤이 재개됩니다. 5. /e는 버퍼를 지우고 디스플레이를 비우는 데 사용됩니다. 연결:Easy Matrix Arduino VCC +5V DIN MOSI(핀 11) LOAD 핀CS는 아래 프로그램에 정의되어 있습니다. CLK SCK(핀 13) GND Gnd UART 통신은 9600 보드에서 발생합니다. . 작성자:Rajendra Bhatt 연락처:[email protected] Easy Matrix 제품 링크:http://embedded-lab.com/blog/?p=9186 */#include섹션>#include #include int pinCS =10; // CS를 이 핀에 연결하고 DIN을 MOSI에 연결하고 CLK를 SCK에 연결합니다(cf http://arduino.cc/en/Reference/SPI )int numberOfHorizontalDisplays =7;int numberOfVerticalDisplays =1;Max72xxPanel matrix =Max72xxPanel(pinCS, numberOfHorizontalDisplays, numberOfVerticalDisplays);int 스크롤 속도 =100; // 기본 스크롤 속도(밀리초)int spacer =1; // 두 문자 사이의 공백int width =5 + spacer; // 글꼴 너비는 5픽셀입니다.boolean inChar =false, NewData =false, pause =false;boolean dataAvailable =false;char inputString[512];int count =0, BTvalue =5;void setup() { matrix.setIntensity(1 ); // 밝기에 대해 0에서 15 사이의 값을 사용합니다. // 필요에 따라 조정합니다. matrix.setPosition(0, 0, 0); // 첫 번째 디스플레이는 <0, 7>에 있습니다. matrix.setPosition(1, 1, 0); // 두 번째 디스플레이는 <1, 0>에 있습니다. matrix.setPosition(2, 2, 0); // 세 번째 디스플레이는 <2, 0>에 있습니다. matrix.setPosition(3, 3, 0); // 그리고 마지막 디스플레이는 <3, 0>에 있습니다. matrix.setPosition(4, 4, 0); // 첫 번째 디스플레이는 <0, 0>에 있습니다. matrix.setPosition(5, 5, 0); // 두 번째 디스플레이는 <1, 0>에 있습니다. matrix.setPosition(6, 6, 0); // 세 번째 디스플레이는 <2, 0>에 있습니다. // ... // matrix.setRotation(0, 2); // 첫 번째 디스플레이는 거꾸로 된 위치입니다. // matrix.setRotation(3, 2); // 마지막 디스플레이에 대해 동일한 유지 matrix.fillScreen(0); 행렬.쓰기(); Serial.begin(9600); // 직렬 통신 초기화 // 디지털 핀 2에서 인터럽트 0 사용. pinMode(2, INPUT); 디지털 쓰기(2, 낮음); attachInterrupt(0, 직렬 인터럽트, 변경); } 무효 루프(){ if(dataAvailable){ display_data(); } } 무효 display_data(){ for ( int i =0; i =0 &&letter>=0 ) { if ( letter 0) { NewData =true; } } } } if(ch =='/'){ // 명령 모드 inChar =true; while(inChar){ if (Serial.available()) { ch =Serial.read(); // '/+'는 밝기 증가를 위한 것입니다. if(ch =='+'){ if(BTvalue <15) { BTvalue ++; matrix.setIntensity(BT값); } 부서지다; } // '/-'는 밝기 감소 if(ch =='-'){ if(BTvalue> 0){ BTvalue --; matrix.setIntensity(BT값); } 부서지다; } // '/>'는 스크롤 속도를 늦추는 것입니다. if(ch =='>'){ if(scrollspeed <200) { scrollspeed =scrollspeed + 20; } 부서지다; } // '/<'는 스크롤을 더 빠르게 만들기 위한 것입니다. if(ch =='<'){ if(scrollspeed> 10){ scrollspeed=scrollspeed-10; } 부서지다; } // '/e'는 디스플레이를 지우는 것입니다. if(ch =='e'){ dataAvailable =false; 부서지다; } // '/p'는 디스플레이를 일시 중지합니다. if(ch =='p'){ if(pause ==false){ pause =true; } else { 일시 중지 =거짓; } 부서지다; } else { 휴식; // 인식할 수 없는 명령 } } } } // if(ch =='!') } // while(serial.available) inService =false;}
제조공정
구성품 및 소모품 Arduino UNO × 1 HC-05 블루투스 모듈 × 1 카메라 OV7670 × 1 Arduino TFT 실드 × 1 이 프로젝트 정보 오늘날에는 카메라, 무선 장치 및 기타 기술 발전이 있는 휴대 전화를 사용하는 사람을 거의 놀라게 할 수 없습니다. Arduino 플랫폼 덕분에 수백만 명의 사람들이 전자 및 프로그래밍의 놀라운 세계를 발견했습니다. 100, 500 지침은 블루투스를 통해 휴대 전화와 Arduino간에
이 Arduino 튜토리얼에서는 MAX7219 드라이버와 Arduino 보드를 사용하여 8×8 LED 매트릭스를 제어하는 방법을 배웁니다. 자세한 내용은 다음 동영상을 보거나 아래에 작성된 튜토리얼을 참조하세요. 개요 우리는 세 가지 예를 만들 것입니다. 첫 번째 예에서는 MAX7219의 기본 작동 원리를 설명하고, 두 번째 예에서는 8x8 LED 매트릭스의 스크롤링 텍스트가 어떻게 작동하는지, 세 번째 예에서는 제어할 것입니다. 블루투스 및 맞춤형 빌드 Android 애플리케이션을 통해. MAX7219 이제 MAX7219