Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| products:laboratory_iot_c:exp49 [2024/12/13 13:34] – labuser30 | products:laboratory_iot_c:exp49 [2024/12/13 15:23] (текущий) – [Программный код эксперимента] labuser30 | ||
|---|---|---|---|
| Строка 18: | Строка 18: | ||
| ==== Программный код эксперимента ==== | ==== Программный код эксперимента ==== | ||
| - | < | + | < |
| - | from machine import Pin, SPI | + | #include <SPI.h> |
| - | from tft import TFT_GREEN | + | #include < |
| - | import font | + | #include " |
| - | import time | + | |
| - | _init() | + | |
| - | machine.freq(160000000) | + | |
| + | #define PIN_CS | ||
| + | #define PIN_DC | ||
| + | #define PIN_RST 5 | ||
| - | dc | + | Adafruit_ST7735 tft = Adafruit_ST7735(PIN_CS, |
| - | cs = Pin(2, Pin.OUT) | + | LittleFS_ImageReader reader; |
| - | rst = Pin(5, Pin.OUT) | + | |
| - | spi = SPI(1, baudrate=40000000, | + | void setup() { |
| - | tft = TFT_GREEN(128, 160, spi, dc, cs, rst, rotate=0) | + | |
| + | LittleFS.begin(); | ||
| + | | ||
| + | tft.setRotation(2); | ||
| + | |||
| + | tft.fillScreen(tft.color565(255, 251, 240)); | ||
| + | reader.drawBMP("/ | ||
| - | tft.initr(tft.BGR) # tft.initr(tft.RGB) #Если вместо синего цвета отображается красный, а вместо красного синий | + | |
| - | tft.clear(tft.rgbcolor(255,251,240)) | + | |
| - | tft.draw_bmp(0,0,' | + | |
| + | tft.print(" | ||
| + | tft.setCursor(41, 125); | ||
| + | tft.print(":" | ||
| + | | ||
| + | tft.print(" | ||
| + | tft.setTextSize(2); | ||
| + | tft.setCursor(88, 132); | ||
| + | tft.print(":" | ||
| + | tft.setCursor(98, 132); | ||
| + | tft.print(" | ||
| + | } | ||
| - | fontcolor = tft.rgbcolor(39,40,51) | + | void loop() { |
| - | + | } | |
| - | tft.text(5, 125, ' | + | |
| - | tft.text(41, | + | |
| - | tft.text(55, | + | |
| - | tft.text(90, | + | |
| - | tft.text(98, | + | |
| </ | </ | ||
| Этот код выводит интерфейс секундомера. | Этот код выводит интерфейс секундомера. | ||
| - | Этой строкой мы переключаем | + | Задаем |
| - | < | + | < |
| - | machine.freq(160000000) | + | #define PIN_CS |
| + | #define PIN_DC | ||
| + | #define PIN_RST 5 | ||
| </ | </ | ||
| - | Настройка выводов | + | Cоздаем объекты |
| - | < | + | < |
| - | dc | + | Adafruit_ST7735 tft = Adafruit_ST7735(PIN_CS, |
| - | cs = Pin(2, Pin.OUT) | + | LittleFS_ImageReader reader; |
| - | rst = Pin(5, Pin.OUT) | + | |
| </ | </ | ||
| - | Настраиваем аппаратный | + | Этой |
| - | < | + | < |
| - | spi = SPI(1, baudrate=40000000, | + | |
| - | tft = TFT_GREEN(128, | + | |
| </ | </ | ||
| - | Инициализируем дисплей, | + | Инициализируем |
| - | < | + | заливаем его фоновым цветом и отображаем картинку с секундомером. |
| - | tft.initr(tft.BGR) # tft.initr(tft.RGB) #Если вместо синего цвета отображается красный, | + | < |
| - | tft.clear(tft.rgbcolor(255, | + | |
| - | tft.draw_bmp(0, | + | tft.initR(INITR_BLACKTAB); |
| + | tft.setRotation(2); | ||
| </ | </ | ||
| - | Объявляем переменную с цветом | + | Закрашиваем дисплей RBG цветом, получая нужное значение с помощью метода '' |
| - | < | + | < |
| - | fontcolor = tft.rgbcolor(39,40,51) | + | tft.fillScreen(tft.color565(255, 251, 240)); |
| + | tft.draw_bmp(0, | ||
| </ | </ | ||
| - | Отображаем | + | Задаем |
| - | < | + | < |
| - | tft.text(5, 125, ' | + | tft.setTextColor(tft.color565(39, 40, 51)); |
| + | tft.setTextSize(3); | ||
| </ | </ | ||
| - | Отображаем | + | Отображаем часы, |
| - | < | + | < |
| - | tft.text(41, 125, ":" | + | tft.setCursor(8, 125); |
| + | tft.print(" | ||
| + | tft.setCursor(41, 125); | ||
| + | tft.print(":" | ||
| + | tft.setCursor(55, 125); | ||
| + | tft.print(" | ||
| </ | </ | ||
| - | Подобным образом отображаем | + | Уменьшаем размер шрифта, |
| - | < | + | < |
| - | tft.text(55, 125, ' | + | tft.setTextSize(2); |
| - | tft.text(90, 130, ":" | + | tft.setCursor(88, 132); |
| - | tft.text(98, 132, ' | + | tft.print(":" |
| + | tft.setCursor(98, 132); | ||
| + | tft.print(" | ||
| + | } | ||
| </ | </ | ||