Есть такие LED-дисплеи из восьми семисегментных индикаторов . Индикаторами управляет MAX7219 ( даташит [PDF] ) или его клон, а общение между чипом и МК осуществляется по SPI. Питается модуль напряжением 5 В. Вот стало интересно, можно ли подружить такой дисплей с STM32, а также что полезного удастся на него вывести.

MAX7219 имеет простой протокол, который хорошо описан в даташите. Однако мне не пришлось его реализовывать. В сети была найдена готовая библиотека за авторством Andriy Honcharenko. Библиотека имеет лицензию MIT. Конечно же, в итоге я сделал форк и подправил код под свои нужды. Но библиотека прекрасно работала и в исходном виде.

Интерфейс получился следующим:

void init ( ) {
max7219_Init ( ) ;
max7219_SetIntensivity ( 1 ) ;
max7219_TurnOn ( ) ;
}

void loop ( ) {
// Display «tr14.012.3»
max7219_SendData ( 8 , MAX7219_SYM_T ) ;
max7219_SendData ( 7 , MAX7219_SYM_R ) ;
max7219_SendData ( 6 , MAX7219_SYM_1 ) ;
max7219_SendData ( 5 , MAX7219_SYM_4 | MAX7219_SYM_DOT ) ;
max7219_SendData ( 4 , MAX7219_SYM_0 ) ;
max7219_SendData ( 3 , MAX7219_SYM_1 ) ;
max7219_SendData ( 2 , MAX7219_SYM_2 | MAX7219_SYM_DOT ) ;
max7219_SendData ( 1 , MAX7219_SYM_3 ) ;
HAL_Delay ( 3000 ) ;

// Display «SPEEd —»
max7219_SendData ( 8 , MAX7219_SYM_S ) ;
max7219_SendData ( 7 , MAX7219_SYM_P ) ;
max7219_SendData ( 6 , MAX7219_SYM_E ) ;
max7219_SendData ( 5 , MAX7219_SYM_E ) ;
max7219_SendData ( 4 , MAX7219_SYM_D ) ;
max7219_SendData ( 3 , MAX7219_SYM_BLANK ) ;
max7219_SendData ( 2 , MAX7219_SYM_MINUS ) ;
max7219_SendData ( 1 , MAX7219_SYM_MINUS ) ;
HAL_Delay ( 3000 ) ;

// …
}

Так это примерно выглядит:

Вывод рабочей частоты на LED-дисплей под управлением MAX7219

На камеру сложно снять, как это смотрится на самом деле. Наиболее точно картину воспроизводит съемка в темноте:

Вывод скорости электронного телеграфного ключа на LED-дисплей под управлением MAX7219

Дисплей вполне применим в простом самодельном трансивере . На него можно вывести рабочую частоту, текущее состояние (прием или передача), а при необходимости — скорость электронного телеграфного ключа и прочую информацию. Конечно, он не так гибок, как ЖКИ 1602 или 0802 . Но есть и свои плюсы. Например, яркостью светодиодов можно управлять программно.

Полная версия исходников доступна на GitHub .

Дополнение: Позже я выяснил , что MAX7219 генерирует слышимый шум. Этот шум подхватывается УНЧ и идет в наушники или на динамик. Модуль не подходит для использования в самодельных приемниках и трансиверах.

EnglishRussianUkrainian