Программирование AVR Подключение OLED SSD1306 к ATmega32U4 Thu, November 21 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.


Подключение OLED SSD1306 к ATmega32U4 Печать
Добавил(а) microsin   

В этой статье опубликован простой проект, созданный для тестирования подключения к микроконтроллеру AVR через I2C монохромного индикатора OLED 128x64 точки (SSD1306).

Для проверки программы использовалась макетная плата AVR-USB32U4 [1] с микроконтроллером ATmega32U4, однако проект можно легко перенести на любой AVR, у которого на борту есть аппаратный интерфейс I2C (по терминологии Atmel это интерфейс TWI).

Цоколевка индикатора OLED 128x64. При подключении питания к индикатору будьте особенно внимательны, так как разные версии индикатора, которые можно купить на Aliexpress [2] или на Ebay, имеют разную цоколевку.

SSD1306 I2C OLED pinout1 SSD1306 I2C OLED pinout2

Очень легко перепутать полярность питания, что может вывести индикатор из строя. Напряжение питания может быть любое в диапазоне от +3 до +5 вольт (подается на ножку VCC относительно GND).

Подключение к ATmega32U4. К микроконтроллеру индикатор подключается 2 сигналами: SCL (такты) и SDA (данные). Сигналы SCL и SDA должны подключаться к ножкам микроконтроллера PD0 и PD1 соответственно, см. рисунок:

AVR USB32U4 connect SSD1306

Использовался исходный код библиотек от Adafruit, предназначенных для Arduino. Библиотеки были основаны на классах C++, но я для собственного удобства перенес код на стандартный язык C.

При тестировании кода пришлось подбирать адрес подчиненного устройства I2C, который соответствовал моему индикатору. Значение адреса может быть разным: 0x3C, 0x3D, 0x78, 0x7A. В моем случае он оказался 0x78.

Исходный код проекта можно скачать по ссылке [3].

[Ссылки]

1Макетная плата AVR-USB32U4.
2. OLED I2C 128x64 site:aliexpress.com.
3. 180916SSD1306-test.zip - исходный код, документация.

 

Комментарии  

 
0 #2 maks 31.10.2020 00:35
Какая студия использовалась?

microsin: Использовалась Microsoft Visual Studio 2010. Можете взять также более свежую версию студии.
Цитировать
 
 
0 #1 Николай 08.02.2019 18:36
Привет! Всех благ вам! Только начинаю кодить на C, пишу в AtmelStudio для Atmega328p, скачал архив. Там много файлов, не могу понять какие мне нужны, а какие нет. Я так понял, что нужно собрать все нужные файлы в одну папку, чтоб они автоматически подключались?

microsin: файлы модулей кода должны быть добавлены при этом в проект. Или если Вы компилируете через командную строку вызовом утилиты make, то нужные модули должны обрабатываться в Makefile.
Цитировать
 

Добавить комментарий


Защитный код
Обновить

Top of Page