цифровая электроника
вычислительная техника
встраиваемые системы

 



Arduino и OLED дисплей SSD1306

Автор: Mike(admin) от 15-12-2018, 00:55

Многие из любителей Arduino знакомы с матричным ЖК-дисплеем с разрешением 16 × 2 точек, который используется в большинстве проектов для отображения некоторой информации для пользователя. Но эти ЖК-дисплеи имеют много ограничений в плане того, что они могут делать.


Arduino и OLED дисплей SSD1306

В этом уроке мы узнаем о OLED дисплеях и о том, как их использовать с Arduino. Есть много типов OLED дисплеев, доступных на рынке, и есть много способов заставить их работать. В данном материале мы будем работать с SSD1306.


Термин OLED обозначает «органический светоизлучающий диод». Дисплеи вроде SSD1306 применяют эту технологию, которая также используется в большинстве наших телевизоров, но дисплей имеет меньше пикселей по сравнению с ними. Очень хорошо, что эти классно выглядящие дисплейные модули очень просто взаимодействуют с Arduino, что позволит усовершенствовать визуальную составляющую многих проектов.


Arduino и OLED дисплей SSD1306

Дисплей SSD1306 является небольшим (0.96 дюймов) и монохромным с 7-ю выводами. Причина выбора этого дисплея заключается в том, что он может работать с тремя различными протоколами связи, такими как режим 3-проводного SPI, четырехпроводный режим SPI и режим I2C. В этом проекте будет показано, как использовать модуль в 4-проводном режиме SPI, так как это самый быстрый и стандартный режим связи. Выводы и их функции описаны в таблице ниже.


Arduino и OLED дисплей SSD1306

Сообщество Arduino уже предоставило нам много библиотек, которые можно напрямую использовать, чтобы намного проще работать с SSD1306. Опробовав несколько библиотек, можно обнаруть, что библиотека Adafruit_SSD1306 очень проста в использовании и имеет несколько графических опций, поэтому мы будем использовать ее в этом руководстве. Но если у вашего проекта есть ограничение по памяти или скорости, попробуйте использовать библиотеку U8g, так как она работает быстрее и занимает меньше памяти программ.


Принципиальная схема подключения OLED SSD1306 с Arduino очень проста и показана ниже.


Arduino и OLED дисплей SSD1306

Мы просто установили связь SPI между модулем OLED и Arduino. Поскольку OLED работает с напряжением от 3В до 5В и потребляет очень мало энергии, ему не требуется внешний источник питания. Вы можете просто использовать провода, чтобы установить соединение, или использовать макетную плату, чтобы было легко экспериментировать. В таблице ниже указано соединение выводов Arduino и SSD1306.


Arduino и OLED дисплей SSD1306

Как только подключение будет завершено, вы можете начать программировать Arduino. Как было сказано ранее, мы будем использовать библиотеку Adafruit и библиотеку GFX для работы с этим модулем OLED. Сначала с Github загрузите библиотеку Adafruit (https://github.com/adafruit/Adafruit_SSD1306) и библиотеку GFX (https://github.com/adafruit/Adafruit-GFX-Library).


Вы должны были загрузить два файла Zip. Теперь добавьте их в Arduino IDE, выполнив Sketch - Include Library - Add Zip library, как показано ниже. Затем выберите библиотеку, которую мы только что скачали. Вы можете выбрать только одну библиотеку за раз, поэтому вы должны повторить этот шаг снова.


Arduino и OLED дисплей SSD1306

Запустите пример программы, выбрав File – Examples - Adafruit SSD1306 - SSD1306_128*64_SPI.ino, как показано на изображении ниже.


Arduino и OLED дисплей SSD1306

Внутри примера программы выше строки 64 добавьте строку «#define SSD1306_LCDHEIGHT 64», как показано на изображении ниже.


Arduino и OLED дисплей SSD1306

Теперь загрузите программу, и вы увидите, что OLED-дисплей включается с примером Adafruit по умолчанию. В этом примере программы показаны все возможные графические элементы, которые могут отображаться на экране OLED. Этого кода должно быть достаточно для создания растровых изображений, рисования линий / кругов / прямоугольников, игры с пикселями, отображения символов и строк с различными шрифтами, размерами и т.д.


Это может показаться сложным, но с помощью веб-инструмента (http://javl.github.io/image2cpp/) очень легко преобразовать изображение в битовые значения и загрузить их в массив кода. Просто загрузите изображение и отрегулируйте настройки, чтобы получить предпочтительный предварительный просмотр изображения. Затем нажмите «Generate Code», скопируйте код и вставьте его в свой массив. Загрузите программу, и все готово. Ниже показан логотип Бэтмена на SSD1306, и как это получилось.


Arduino и OLED дисплей SSD1306

Arduino и OLED дисплей SSD1306



© digitrode.ru


Теги: Arduino, дисплеи




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий