Raspberry Pi 3 (RaspbianOS) и OLED дисплей 3,12 дюйма (SSD1322) - проверка работоспособности.
Приветствую читающих!
Хочу поделиться с вами информацией, как после покупки на AliExpress настал момент проверки работоспособности OLED дисплея 3,12 дюйма дюйма (256*64 25664 точек) на Raspberry Pi 3.
На тот момент у продавца была одна из самых приятных цен, но напрочь отсутствовала какая-то информация, решил, что разберусь по факту.
Пока дисплей ехал с Китая, начал более детально анализировать варианты его подключения, но уже в первой статье рекомендовали, сверять варианты подключения с даташитом, но информацию продавец не мог предоставить.
Так же, в разных даташитах и примерах была и соответственно и такая же информация по подключению дисплея с к питанию: только +3,3В, только +5В или от +3,3В ... +5В.
Дополнительно, встречал информацию о том, что выходы 7, 8, 9, 10, 11, 12, 13 у OLED дисплея должны быть подключены на общую землю GND.
И так, дисплей приехал, подготавливаем его к работе в режиме 4SPI, для этого резистор-перемычку перемещаем с R6 на R5, R8 оставляем без изменений.
За основу проверки работоспособности дисплея - беру информацию из сайта Blue 3.2 inch Arduino,Raspberry Pi OLED Display Module 256x64 SPI, т.к. там есть следующие примеры:
Открываю файл Interfacing 4-Wire SPI OLED Display Module to Raspberry Pi смотрю схему подключения, а здесь рекомендуют комбинацию подключений из приведенных выше, а именно - записать от +3,3В, но и выходы 7, 8, 9, 10, 11, 12, 13 подключить на общую землю GND.
Принимаю решение, подключать как показано на схеме ниже, т.е. к +3,3В и только линии управления дисплеем.
Забегая наперёд скажу, что заработало и без подключения выводов 7, 8, 9, 10, 11, 12, 13 к GND, но если у вас не запускается дисплей, рекомендую все же подключить, т.к. видел информацию, что это помогало.
Далее будет пример кода, который взял из Raspberry Pi Library and Example и актуализировал насколько позволяли знания, и исходя из своей платформы Raspberry Pi 3 (2021-05-07-raspios-buster-armhf):
Note:The module needs to be jumpered to an SPI interface.
OLED => Raspberry Pi
*1. GND -> GND
*2. VCC -> 3.3
*4. SCL -> SCK
*5. SDI -> MOSI
*14. DC -> 18 (Physical, BCM: 24)
*15. RES -> 22 (Physical, BCM: 25)
*16. CS -> 24 (Physical, BCM: CE0, 8)
sudo apt-get update -y
1. install the C libraries of bcm2835, see: http://www.airspayce.com/mikem/bcm2835/
===
Install libcap support
2. Add current user to kmem group
\code
sudo adduser $USER kmem
This library consists of a single non-shared library and header file, which will be installed in the usual places by make install
# download the latest version of the library, say bcm2835-1.xx.tar.gz, then:
cd
wget http://www.open.com.au/mikem/bcm2835/bcm2835-1.69.tar.gz
// If Pi can't figure out this URL wget http://67.192.60.197/mikem/bcm2835/bcm2835-1.69.tar.gz
tar xvfz bcm2835-1.69.tar.gz
cd bcm2835-1.69
./configure
make
sudo make check
sudo make install
sudo wget https://www.buydisplay.com/Raspberry_Pi/ER-OLEDM032-1_Raspberry_Pi_Tutorial.zip
4.1. Now create a temporary foldersudo mkdir ./SSD1322
4.2. Unzip the previously downloaded file
sudo apt-get install -y minizip
sudo miniunzip ER-OLEDM032-1_Raspberry_Pi_Tutorial.zip -d ./SSD1322
4.3. Go to this folder== Note ==
* If the characters are shown in wrong condition, you could try other parameters in
bcm2835_spi_setClockDivider(uint16_t )
like bcm2835_spi_setClockDivider(BCM2835_SPI_CLOCK_DIVIDER_2048);
*/
Результат запуска на моёй платформе показан на видео:
UPDATE: продолжение с запуском на Volumio
Комментарии
Отправить комментарий