Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
products:laboratory_iot_c:exp48 [2024/12/07 17:53] – labuser30 | products:laboratory_iot_c:exp48 [2024/12/12 11:35] (текущий) – [Эксперимент 48. Отображение картинки] labuser30 |
---|
Существует множество графических форматов, в которых можно сохранять изображения. Самым простым является формат BMP. В данном формате можно хранить только однослойные растры. В этом формате просто описывается цвет каждой точки изображения. На каждый пиксель в разных файлах может приходиться разное количество бит (глубина цвета). Сейчас этот формат распространен мало так как он не подразумевает никакого сжатия данных и картинки имеют большой вес, зато с ним легко работать. С помощью встроенного в Windows простейшего графического редактора Paint без труда можно сконвертировать картинки в этот формат. | Существует множество графических форматов, в которых можно сохранять изображения. Самым простым является формат BMP. В данном формате можно хранить только однослойные растры. В этом формате просто описывается цвет каждой точки изображения. На каждый пиксель в разных файлах может приходиться разное количество бит (глубина цвета). Сейчас этот формат распространен мало так как он не подразумевает никакого сжатия данных и картинки имеют большой вес, зато с ним легко работать. С помощью встроенного в Windows простейшего графического редактора Paint без труда можно сконвертировать картинки в этот формат. |
| |
Наш дисплей имеет разрешение 128*160 точек. Попробуем занять весь дисплей одним большим изображением. Тогда оно должно быть такого же размера. Если оно будет меньше — то останется незаполненная область экрана. Если больше — обрежется. Можно загрузить в память микроконтроллера любое свое изображение, но если подходящего изображения под рукой нет, то можно скачать нашу картинку с самолетом и загрузить в МК ее. | Наш дисплей имеет разрешение 128*160 точек. Попробуем занять весь дисплей одним большим изображением. Тогда оно должно быть такого же размера. Если оно будет меньше — то останется незаполненная область экрана. Если больше — обрежется. Можно загрузить в память микроконтроллера любое свое изображение, но если подходящего изображения под рукой нет, то можно скачать нашу картинку с самолетом и загрузить в МК ее. Так как размер картинки значительно больше текстовых файлов, которые мы создавали/загружали ранее, необходимо задать размер файловой системы. Для этого выбери: |
| |
| <span menu> |
| <span menu-item>Инструменты</span> |
| <span menu-item>Flash size</span> |
| <span menu-item>4MB (FS:1MB OTA:~1019KB)</span> |
| </span> |
| |
<WRAP center round download 60%> | <WRAP center round download 60%> |
{{ :products:esp-iot:plane.zip |}} | {{ :products:esp-iot:plane.zip |}} |
</WRAP> | </WRAP> |
| |
| Для отображения картинки нам потребуется библиотека "LittleFS_ImageReader", которую придется установить вручную. Для этого нужно скачать архив по ссылке ниже и поместить папку "LittleFS_ImageReader", которая находится в архиве и содержит два файла с расширениями ".h" и ".cpp", в папку "libraries". Папка "libraries" расположена по следующему пути — C:\Users\<user>\Documents\Arduino |
| (<user> это имя твоей учетной записи на компьютере). Также можно открыть в проводнике папку "Документы", а уже в ней папку "Arduino". |
| |
| <WRAP center round download 60%> |
| {{:products:laboratory_iot_c:littlefs_imagereader.zip|}} |
| </WRAP> |
| |
| |
==== Схема эксперимента ==== | ==== Схема эксперимента ==== |
//Рисунок 2. Монтажная схема эксперимента для дисплея с 11 выводами// | //Рисунок 2. Монтажная схема эксперимента для дисплея с 11 выводами// |
==== Программный код эксперимента ==== | ==== Программный код эксперимента ==== |
Напишем приветственную надпись на дисплее. | Выведем картинку на дисплей. |
| |
<file arduino Exp47.ino[enable_line_numbers="2", start_line_numbers_at="1"]> | <file arduino Exp48.ino[enable_line_numbers="2", start_line_numbers_at="1"]> |
#include <SPI.h> | #include <SPI.h> |
#include <Adafruit_ST7735.h> | #include <Adafruit_ST7735.h> |
#include "LittleFS_ImageReader.h" | #include <LittleFS_ImageReader.h> |
| |
#define PIN_CS 2 | #define PIN_CS 2 |
Adafruit_ST7735 tft = Adafruit_ST7735(PIN_CS, PIN_DC, PIN_RST); | Adafruit_ST7735 tft = Adafruit_ST7735(PIN_CS, PIN_DC, PIN_RST); |
| |
LittleFS_ImageReader reader; | LittleFS_ImageReader reader; // Создаем объект считывателя |
| |
void setup() { | void setup() { |
void loop() { | void loop() { |
} | } |
| |
</file> | </file> |
| |
| |
| |