指间ESP按键操作

来自Microduino Wikipedia
跳转至: 导航搜索

指间ESP按键操作


指间ESP开发板板载了左右两个按键,分别对应IO0(左)、IO35(右),该示例展示了如何驱动两个按键读取按下状态

import machine, display 
from machine import Pin

btA = Pin(0, Pin.IN)
btB = Pin(35, Pin.IN)

bkcolor = 0x333333

tft = display.TFT()
tft.init(tft.ST7789)

tft.clear()
tft.rect(0, 0, 240, 240, bkcolor, bkcolor)

while True:
    if btA.value():
        tft.roundrect(10, 110, 50, 50, 10, bkcolor, 0x00F0F0)
    else:
        tft.roundrect(10, 110, 50, 50, 10, bkcolor, 0xF0F000)
    if btB.value():
        tft.roundrect(180, 110, 50, 50, 10, bkcolor, 0x00F0F0)
    else:
        tft.roundrect(180, 110, 50, 50, 10, bkcolor, 0xF0F000)
    • 该程序使用板载TFT屏幕画出两个圆角矩形用于标识状态,非按下时为青色,按下时为黄色。
Tftbutton.png
    • 程序详解:import为引用所需文件,包括display(屏幕驱动),Pin(IO口驱动)
import machine, display 
from machine import Pin

之后声明按键A与B

btA = Pin(0, Pin.IN)
btB = Pin(35, Pin.IN)

初始化TFT并使用背景色"bkcolor"填充屏幕

bkcolor = 0x333333

tft = display.TFT()
tft.init(tft.ST7789)

tft.clear()
tft.rect(0, 0, 240, 240, bkcolor, bkcolor)

主程序中扫描按键,按下则绘制黄色圆角矩形,否则绘制青色圆角矩形

while True:
    if btA.value():
        tft.roundrect(10, 110, 50, 50, 10, bkcolor, 0x00F0F0)
    else:
        tft.roundrect(10, 110, 50, 50, 10, bkcolor, 0xF0F000)
    if btB.value():
        tft.roundrect(180, 110, 50, 50, 10, bkcolor, 0x00F0F0)
    else:
        tft.roundrect(180, 110, 50, 50, 10, bkcolor, 0xF0F000)




返回指间ESP开发板编程手册界面