Вверх ↑
Администрация
Ответов: 15295
Рейтинг: 1519
#1: 2017-05-22 23:23:54 ЛС | профиль | цитата
Первая часть о пакете Arduino http://forum.hiasm.com/topic/66476

   Добавлены еще несколько элементов в пакет: работа с массивами, строками, Serial портом, внутренним счетчиком времени на плате, генератором прямоугольных импульсов на GPIO портах, а так же работа с OLED дисплеем на шине I2C, о котором далее и пойдет речь:



   Для примера был взят один из самых распространенных монохромных OLED дисплеев с разрешением 128х64 точек. Выглядит он примерно так:



   Как было написано в предыдущем топике - в рамках пакета Arduino мы можем эмулировать работу практически любого датчика или устройства, в том числе его внешний вид:



   В эмуляторе этот дисплей в точности повторяет возможности реального устройства с одной единственной разницей: шрифты выводимого текста немного разные. Однако для тестирования это не имеет никакого значения. Представляет он из себя обычный PaintBox, область вывода которого ограничена размерами 128 на 64 пикселя и двумя цветами - черным и белым.

   В качестве примера попробуем сделать простое устройство, которое позволяет проигрывать четыре различные ноты по нажатию соответствующих кнопок и кроме этого настраивать частоту каждой ноты:



   Снизу расположены кнопки проигрывания нот, а справа - кнопки для настройки. На экране мы будем отображать две страницы - одна в режиме работы устройства, вторая - в режиме настройке нот. Для того, чтобы не плодить кучу кнопок под все функции мы используем одни и те же кнопки с разным функционалом для каждой страницы. Сделать это можно с помощью использования ссылок, команда Правка-›Копировать ссылку. Если кнопка скопирована как ссылка, то она не будет отображаться на форме в эмуляторе и сможет считывать данные с того же пина, что и оригинал.

   Исходник проекта можно найти в папке с примерами по пакету Arduino. После его сборки и загрузки OLED.ino, открываем скачанный скетч в Arduino IDE и заливаем в плату:



   Для того, чтобы скетч скомпилировался без ошибок, необходимо установить библиотеку для работы с дисплеем. Сделать это можно в меню Sketch-›Include library-›Manage libraries, в поиске вбить ssd1306 (название контроллера дисплея):



   Вот что получилось в итоге:



И видео:


карма: 27
5
Голосовали:sla8a, Konst, man-man74, tig-rrr, MACTEPyc
Редактировалось 1 раз(а), последний 2017-05-23 03:37:31