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

 

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, дисплеи



   Благодарим Вас за интерес к информационному проекту digitrode.ru.
   Если Вы хотите, чтобы интересные и полезные материалы выходили чаще, и было меньше рекламы,
   Вы можее поддержать наш проект, пожертвовав любую сумму на его развитие.


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

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

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