Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
products:laboratory_iot_c:exp49 [2024/12/13 13:56] – [Программный код эксперимента] labuser30products:laboratory_iot_c:exp49 [2024/12/13 15:23] (текущий) – [Программный код эксперимента] labuser30
Строка 28: Строка 28:
  
 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;
  
Строка 61: Строка 60:
 Этот код выводит интерфейс секундомера.  Этот код выводит интерфейс секундомера. 
  
-Этой строкой мы переключаем частоту микроконтроллера на максимальные для него  160 мегагерц. Это нужно для увеличения скорости его работы, что ускоряет работу с дисплеем. +Задаем псевдонимы выводов микроконтроллера, к которым подключается дисплей 
-<code arduino[enable_line_numbers="2", start_line_numbers_at="14"]> +<code arduino[enable_line_numbers="2", start_line_numbers_at="5"]>
-  os_update_cpu_frequency(160); +
-</code> +
- +
-Настройка выводов микроконтроллера, к которым подключается дисплей +
-<code arduino[enable_line_numbers="2", start_line_numbers_at="9"]>+
 #define PIN_CS  2 #define PIN_CS  2
 #define PIN_DC  4 #define PIN_DC  4
Строка 73: Строка 67:
 </code> </code>
  
-Настраиваем аппаратный контроллер шины SPI и создаем объект дисплея +Cоздаем объекты дисплея дисплея и считывателя изображений 
-<code python[enable_line_numbers="2", start_line_numbers_at="13"]> +<code arduino[enable_line_numbers="2", start_line_numbers_at="13"]> 
-spi SPI(1baudrate=40000000polarity=0, phase=0+Adafruit_ST7735 tft Adafruit_ST7735(PIN_CS PIN_DCPIN_RST); 
-tft = TFT_GREEN(128, 160, spi, dc, cs, rst, rotate=0)+LittleFS_ImageReader reader;
 </code> </code>
  
-Инициализируем дисплей, заливаем его фоновым цветом и отображаем картинку с секундомеромМеняем настройку цвета в ''initr'' при необходимости+Этой строкой мы переключаем частоту микроконтроллера на максимальные для него  160 мегагерцЭто нужно для увеличения скорости его работы, что ускоряет работу с дисплеем. 
-<code python[enable_line_numbers="2", start_line_numbers_at="16"]> +<code arduino[enable_line_numbers="2", start_line_numbers_at="13"]> 
-tft.initr(tft.BGR) # tft.initr(tft.RGB) #Если вместо синего цвета отображается красный, а вместо красного синий +  os_update_cpu_frequency(160);
-tft.clear(tft.rgbcolor(255,251,240))  +
-tft.draw_bmp(0,0,'time.bmp')+
 </code> </code>
  
-Объявляем переменную с цветом шрифта +Инициализируем файловую систему и дисплей, устанавливаем поворот изображения на 180°.  
-<code python[enable_line_numbers="2", start_line_numbers_at="20"]> +заливаем его фоновым цветом и отображаем картинку с секундомером.  
-fontcolor = tft.rgbcolor(39,40,51)+<code arduino[enable_line_numbers="2", start_line_numbers_at="14"]> 
 +  LittleFS.begin(); 
 +  tft.initR(INITR_BLACKTAB); 
 +  tft.setRotation(2)
 </code> </code>
  
-Отображаем часы шрифтом 3 с началом в координате 5, 125 +Закрашиваем дисплей RBG цветом, получая нужное значение с помощью метода ''color565'', выводим картинку секундомера.  
-<code python[enable_line_numbers="2", start_line_numbers_at="22"]> +<code arduino[enable_line_numbers="2", start_line_numbers_at="18"]> 
-tft.text(5125'00', font.terminalfontfontcolor3)+  tft.fillScreen(tft.color565(255251240)); 
 +  tft.draw_bmp(0,0,'time.bmp')
 </code> </code>
  
-Отображаем двоеточие — разделитель +Задаем цвет шрифта и его размер 
-<code python[enable_line_numbers="2", start_line_numbers_at="23"]> +<code arduino[enable_line_numbers="2", start_line_numbers_at="21"]> 
-tft.text(41, 125, ":", font.terminalfontfontcolor, 3)+ tft.setTextColor(tft.color565(394051)); 
 + tft.setTextSize(3);
 </code> </code>
  
-Подобным образом отображаем остальные данные: минуты и секунды +Отображаем часы, разделитель — двоеточие, и минуты
-<code python[enable_line_numbers="2", start_line_numbers_at="24"]> +<code arduino[enable_line_numbers="2", start_line_numbers_at="23"]> 
-tft.text(55, 125, '00', font.terminalfontfontcolor, 3+  tft.setCursor(8, 125); 
-tft.text(90, 130, ":", font.terminalfont, fontcolor, 2+  tft.print("00"); 
-tft.text(98, 132, '00', font.terminalfont, fontcolor, 2)+  tft.setCursor(41, 125); 
 +  tft.print(":"); 
 +  tft.setCursor(55, 125); 
 +  tft.print("00"); 
 +</code> 
 + 
 +Уменьшаем размер шрифта, отображаем разделитель и секунды 
 +<code arduino[enable_line_numbers="2", start_line_numbers_at="29"]> 
 +  tft.setTextSize(2); 
 +  tft.setCursor(88132); 
 +  tft.print(":"); 
 +  tft.setCursor(98, 132); 
 +  tft.print("00")
 +}
 </code> </code>