Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| products:laboratory_iot_c:exp49 [2024/12/13 13:56] – [Программный код эксперимента] labuser30 | products:laboratory_iot_c:exp49 [2024/12/13 15:23] (текущий) – [Программный код эксперимента] labuser30 | ||
|---|---|---|---|
| Строка 28: | Строка 28: | ||
| Adafruit_ST7735 tft = Adafruit_ST7735(PIN_CS, | Adafruit_ST7735 tft = Adafruit_ST7735(PIN_CS, | ||
| - | |||
| LittleFS_ImageReader reader; | LittleFS_ImageReader reader; | ||
| Строка 61: | Строка 60: | ||
| Этот код выводит интерфейс секундомера. | Этот код выводит интерфейс секундомера. | ||
| - | Этой строкой мы переключаем частоту микроконтроллера на максимальные для него | + | Задаем |
| - | <code arduino[enable_line_numbers=" | + | <code arduino[enable_line_numbers=" |
| - | os_update_cpu_frequency(160); | + | |
| - | </ | + | |
| - | + | ||
| - | Настройка | + | |
| - | <code arduino[enable_line_numbers=" | + | |
| #define PIN_CS | #define PIN_CS | ||
| #define PIN_DC | #define PIN_DC | ||
| Строка 73: | Строка 67: | ||
| </ | </ | ||
| - | Настраиваем аппаратный контроллер шины SPI и создаем объект дисплея | + | Cоздаем объекты дисплея |
| - | < | + | < |
| - | spi = SPI(1, baudrate=40000000, polarity=0, phase=0) | + | Adafruit_ST7735 tft = Adafruit_ST7735(PIN_CS, |
| - | tft = TFT_GREEN(128, | + | LittleFS_ImageReader reader; |
| </ | </ | ||
| - | Инициализируем дисплей, заливаем | + | Этой строкой |
| - | < | + | < |
| - | tft.initr(tft.BGR) # tft.initr(tft.RGB) #Если вместо синего цвета отображается красный, | + | |
| - | tft.clear(tft.rgbcolor(255, | + | |
| - | tft.draw_bmp(0, | + | |
| </ | </ | ||
| - | Объявляем переменную с цветом | + | Инициализируем файловую систему и дисплей, устанавливаем поворот изображения на 180°. |
| - | < | + | заливаем его фоновым |
| - | fontcolor = tft.rgbcolor(39,40,51) | + | < |
| + | | ||
| + | | ||
| + | tft.setRotation(2); | ||
| </ | </ | ||
| - | Отображаем | + | Закрашиваем |
| - | < | + | < |
| - | tft.text(5, 125, ' | + | tft.fillScreen(tft.color565(255, 251, 240)); |
| + | tft.draw_bmp(0,0,' | ||
| </ | </ | ||
| - | Отображаем | + | Задаем |
| - | < | + | < |
| - | tft.text(41, 125, ":", | + | tft.setTextColor(tft.color565(39, 40, 51)); |
| + | | ||
| </ | </ | ||
| - | Подобным | + | Отображаем часы, разделитель — двоеточие, |
| - | < | + | <code arduino[enable_line_numbers=" |
| - | tft.text(55, 125, ' | + | tft.setCursor(8, |
| - | tft.text(90, 130, ":" | + | tft.print(" |
| - | tft.text(98, 132, ' | + | tft.setCursor(41, |
| + | tft.print(":" | ||
| + | tft.setCursor(55, | ||
| + | tft.print(" | ||
| + | </ | ||
| + | |||
| + | Уменьшаем размер шрифта, | ||
| + | < | ||
| + | tft.setTextSize(2); | ||
| + | tft.setCursor(88, 132); | ||
| + | tft.print(":" | ||
| + | tft.setCursor(98, 132); | ||
| + | tft.print(" | ||
| + | } | ||
| </ | </ | ||