esp32 ps2摇杆控制oled菜单栏

from machine import Pin,ADC,SoftI2C
from ssd1306 import SSD1306_I2C
import time

i2c=SoftI2C(scl=Pin(5),sda=Pin(4))
oled=SSD1306_I2C(128,64,i2c)
ps2x=ADC(Pin(3))
ps2x.atten(ADC.ATTN_11DB)
#ps2y=ADC(Pin(2))
#ps2y.atten(ADC.ATTN11DB)
#key=Pin(0,Pin.IN)

current=0
menu_items=['start hot','stop hot','set','exit']
def display_menu(current):
    oled.fill(0)
    oled.text('Menu',0,0)
    for i in range(len(menu_items)):
        if i==current:
            oled.text('>'+menu_items[i],0,20+i*10)
        else:
            oled.text(' '+menu_items[i],0,20+i*10)
    oled.show()
display_menu(current)
while True:
    move=ps2x.read()
    if move>2000:
        current=(current+1)%len(menu_items)
        display_menu(current)
    elif move<1300:
        current=(current-1)%len(menu_items)
        display_menu(current)
    time.sleep(0.1)

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值