Первая часть о пакете 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 (название контроллера дисплея):
Вот что получилось в итоге:
И видео:
Редактировалось 1 раз(а), последний 2017-05-23 03:37:31
Этот топик читают: Гость
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
карма: 27 |
| ||
Голосовали: | sla8a, Konst, man-man74, tig-rrr, MACTEPyc |
Ответов: 198
Рейтинг: 2
|
|||
ВО БЛИН! А я думаю, что это за поломанный поисковик - "Google vip #1.1", который всегда молчит, только сейчас заметил, что там написано: "контекстная реклама от партнеров" и отключил Adguard
|
|||
карма: 0 |
|
Ответов: 140
Рейтинг: 2
|
|||
SkyPrinceRus писал(а): ВО БЛИН! А я думаю, что это за поломанный поисковик - "Google vip #1.1", который всегда молчит, только сейчас заметил, что там написано: "контекстная реклама от партнеров" и отключил Adguard АГА Не знал Надо офнуть блочер рекламы! Спасибо |
|||
карма: 0 |
|
3