Давно лежала в коробочке светодиодная матрица 8*8 в комплекте с чипом для её управления MAX7219, резистором 10 кОм, конденсаторами — керамическим на 100 нФ и электролитическим на 10 мкФ, монтажной платой и несколькими коннекторами. Комплект получается как на фото. Наконец-то собрался с силами и решил её подключить.
Долго искал, как такой комплект подключить к raspberry и пример программы на С+, но не нашел, зато есть много примеров для ардуино. Удалось найти только пример кода на питоне и инструкцию по настройке, который за неимением лучшего и использовал. А в этом материале расскажу подробно, как подключить.
Во-первых, необходимо этот комплект собрать на печатной плате — там все просто, особенно после прочтения инструкции по пайке «паять просто».
Приступаем к настройке малины
Проверяем, включен ли у нас SPI. Для этого в терминале вводим:
dmesg | grep spi
Должно получиться что-то вроде этого:
[ 8.581285] spi spi0.0: setting up native-CS0 as GPIO 8
[ 8.589797] spi spi0.1: setting up native-CS1 as GPIO 7
Если ничего в ответ не выводится,
sudo raspi-config
Пункт 8 Advanced options > A6 SPI > Yes (Would you like the SPI interface enabled?) > OK > Yes (Would you like the SPI kernel module to be loaded by default?) > OK
Проверяем, установлен ли у нас SPI в /dev, для этого набираем в терминале:
ls -l /dev/spi*
На экране должны получить:
crw-rw---T 1 root spi 153, 0 Jan 1 1970 /dev/spidev0.0
crw-rw---T 1 root spi 153, 1 Jan 1 1970 /dev/spidev0.1
Подключаем наш модуль к Raspberry:
VCC — к 5V малины
GND — к gnd
DIN (data in) — GPIO 10 (SPIMOSI)
CS (chip select) — GPIO 8 (SPI CE0)
CLK (clock) — GPIO 11 (SPI CLK)
С другой стороны модуля есть пины с похожими обозначениями — они предназначены для последовательного подключения модулей.
Устанавливаем необходимые программы для вывода информации на дисплей
Скачиваем библиотеку для работы с модулем:
git clone https://github.com/rm-hull/max7219.git
Устанавливаем необходимые компоненты:
sudo apt-get install python-dev python-pip
sudo pip install spidev
sudo python setup.py install
Запускаем имеющийся пример и проверяем работу модуля:
sudo python examples/matrix_test.py
На дисплее должна появиться бегущая строка с текстом из примера. Текст можно изменить, для этого правим файл с помощью команды:
nano examples/matrix_test.py
Выводимый на дисплее текст указан в скобках после команды device.show_message.
Автор: v-milenin