가 몇 년 전, [Frans-Willem]은 몇 가지 RGB LED 패널을 얻었습니다. 10 개의 32 × 16 패널은 많은 LED이며 이러한 모든 패널을 모두 운전하려면 충분히 강력한 하드웨어가 필요합니다. 그는 FPGA 개발 보드로 일했지만 24 비트 색상에 대한 메모리가 충분하지 않았습니다. Microcontroller du Jour – Ti Stellaris – 깜박임없이 16 비트 이상의 색상을 늘릴 수 없었습니다. 무리의 LED가 있지만 운전할 방법은 없으며 [Frans-Willem]은 패널을 상자에 넣고 어딘가에 패널을 넣어 그들이 최대한의 용량에 사용할 수있는 날을 기다리고 있습니다.
이 날은 [Frans-Willem]이 F1 발견위원회가있는 STM32 시리즈 칩에 도입되었을 때 왔습니다. 이 보드와 함께 사용하기 위해 전자 재생을 찾으려고하면 LED 패널에 비축되어 훨씬 더 많은 시도를주었습니다. 결과는 33 비트의 색상이 있으며 애니메이션이 WiFi를 통해 라우터를 통해 스트리밍 된 애니메이션이 있습니다.
문제의 패널은 HUB75 LED 패널입니다. 32 × 8 패널에서는 각 색상의 6 개의 데이터 핀이 있습니다. 4 행 선택 핀 및 3 개의 제어 핀이 있습니다. 행 선택 핀은 한 번에 픽셀의 행이 활성화되는 행을 선택합니다. 그들을 충분히 빠르게 순환시키고, 그것은 모두가 한 번에 모두 켜져있는 것처럼 보일 것입니다. 컨트롤 핀은 데이터 핀이 분명한 역할을 채우는 시프트 레지스터의 제어 핀과 매우 흡사합니다.
실제로 LED를 실제로 구동하는 코드는 모두 STM32F4에서 DMA 및 FSMC의 도움을 받거나 칩에서 발견 된 유연한 정적 메모리 컨트롤러의 도움을받습니다. 이 주변 장치는 메모리에서 발견 된 제어 선을 처리하므로 쓰기 스트로브를 전환하면 칩이 데이터 선에 어떤 메모리의 특정 주소에 있는지 덤프합니다. 시계 신호를 생성하는 데 큰 방법입니다.
이 디스플레이 드라이버로 픽셀을 보내는 경우 [Frans-Willem]는 인기있는 TP-Link WR703N을 사용하고 있습니다. 그는 원래 USB 포트를 통해 모든 픽셀 데이터를 보낼 계획 이었지만 너무 많은 오버 헤드가 있었고 USB 1.1은 충분히 빠르지 않습니다. 이는 새로운 자동차 운전자가있는 라우터의 UART 및 OpenWRT의 재 컴파일 된 버전으로 UART를 사용하여 수정되었습니다.
이 프로젝트를 복제하는 모든 소프트웨어는 GitHub에서 사용할 수 있으며 완료된 프로젝트가 수행 할 수있는 훌륭한 비디오가 있습니다. 아래에서 확인할 수 있습니다.