Сегодня мы поговорим с вами, как вывести изображение без SD карты. Как раз в этом деле вам помогут дисплеи ST7735 и ST7789, о которых написана статья на https://wreckage.ru/displays-st7735-and-st7789-connect-to-esp8266-output-image/
Часто для создания любого пользовательского интерфейса или красивого отображения контента мы используем значки / изображения. В этом руководстве вы будете отображать значки, логотипы или изображения на экране TFT из Arduino с использованием флэш-памяти ATmega (микроконтроллер, используемый в Arduino). Оно не требует какой — либо SD — карты для хранения растровых изображений или подключения USB для передачи данных изображения. Мы конвертируем изображения из любого формата изображения, например .bmp, .jpg, .jpeg, .png, в его шестнадцатеричный эквивалент, который будет храниться во флэш-памяти Arduino Mega (ATmega2560).
Все микроконтроллеры имеют флэш-память, где коды хранятся постоянно. Arduino Mega имеет сравнительно хороший объем флеш-памяти, т.е. 256 КБ, из которых 8 КБ используются загрузчиком. Мы будем делать две вещи:
Монохромные значки / изображения: значки или изображения будут отображаться одним цветом, но при этом потребуется меньше памяти. Всего 1 бит на один пиксель.
Цветные значки / изображения: это зависит от используемого TFT-экрана, например. 1,8-дюймовый SPI TFT с драйвером ST7735 имеет 16-битный цвет. Изображения или значки будут выглядеть как экран вашего телефона, но занимают много места. Для каждого пикселя требуется 16 бит (2 байта) (в 16 раз больше!).
Для этого требуется TFT-экран, совместимый с Arduino, несколько соединительных кабелей (провода dupont), макетная плата, и рекомендуется использовать переключатели уровня 3,3 В-5 В (но он также работает и без него: P). Но мы использовали evive . В нем есть все необходимое для этого без дополнительной проводки !! Следовательно, это помогает избежать повторяющейся задачи по макетированию. Evive использует наиболее часто используемый 1,8-дюймовый TFT на основе SPI ( драйвер ST7735R ) с разрешением 160 на 128 пикселей вместе с Arduino Mega 2560 R3 . Также для идеального использования имеет внутренние логические переключатели уровня.
Также нам может потребоваться какой-нибудь инструмент для изменения размера изображений, поскольку большинство изображений, доступных в Интернете, имеют очень большой размер по сравнению с hoscreen.
Если вы используете инструмент, упомянутый на последнем шаге, посмотрите изображения. У него есть множество вариантов изменения размера изображения для нашего использования. Мы легко можем ввести значение «высоты» или «ширины» в пикселях!
Обратите внимание, что для 160 на 128 пикселей вы должны ограничить размер изображения этими пределами.
После того, как изображение будет готово, следующим шагом будет преобразование изображения в некоторую форму чисел, так как на самом деле все изображения представлены массивом / матрицей чисел. Поскольку мы не собираемся использовать SD-карту для сохранения изображений, логотипов или значков, поскольку каждый раз иметь для этой цели карту micro SD раздражает, теперь мы конвертируем изображения в шестнадцатеричные. Затем мы сохраним его во флеш-памяти Arduino.
Помогла вам статья?