Это старая версия документа!


Эксперимент 49. Графический интерфейс секундомера

Попробуем создать первое полезное устройство с использованием TFT дисплея. Пусть это будет простой секундомер. На дисплее будут отображаться часы, минуты и секунды, которые будет отсчитывать секундомер. Также снабдим его кнопкой по нажатию на которую, секундомер будет запускаться и останавливаться. Для красоты дополнительно выведем на дисплей картинку.

Картинка с изображением секундомера

Ее нужно загрузить во внутреннюю память микроконтроллера

Схема эксперимента

Рисунок 1. Монтажная схема эксперимента

Программный код эксперимента

Напишем приветственную надпись на дисплее.

Exp49.py
  1. from machine import Pin, SPI
  2. from tft import TFT_GREEN
  3. import font
  4. import time
  5. _init()
  6. machine.freq(160000000)
  7.  
  8.  
  9. dc = Pin(4, Pin.OUT)
  10. cs = Pin(2, Pin.OUT)
  11. rst = Pin(5, Pin.OUT)
  12.  
  13. spi = SPI(1, baudrate=40000000, polarity=0, phase=0)
  14. tft = TFT_GREEN(128, 160, spi, dc, cs, rst, rotate=0)
  15.  
  16. tft.initr()
  17. tft.clear(tft.rgbcolor(255,251,240))
  18. tft.draw_bmp(0,0,'time.bmp')
  19.  
  20. fontcolor = tft.rgbcolor(39,40,51)
  21.  
  22. tft.text(5, 125, '00', font.terminalfont, fontcolor, 3)
  23. tft.text(41, 125, ":", font.terminalfont, fontcolor, 3)
  24. tft.text(55, 125, '00', font.terminalfont, fontcolor, 3)
  25. tft.text(90, 130, ":", font.terminalfont, fontcolor, 2)
  26. tft.text(98, 132, '00', font.terminalfont, fontcolor, 2)

Этот код выводит интерфейс секундомера.

Этой строкой мы переключаем частоту микроконтроллера на максимальные для него 160 мегагерц. Это нужно для увеличения скорости его работы, что ускоряет работу с дисплеем.

  1. machine.freq(160000000)