物联网开发笔记(39)- 使用Micropython开发ESP32开发板之控制PS2摇杆_micropython esp32 ps2

167 阅读2分钟

img img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

官方文档:Quick reference for the ESP32 — MicroPython latest documentation

注意,默认ESP32的对应值是1v对应4095,所以为了能够调整需要在代码中控制

  • ADC.ATTN_0DB— 满量程电压:1.2V
  • ADC.ATTN_2_5DB— 满量程电压:1.5V
  • ADC.ATTN_6DB— 全量程电压:2.0V
  • ADC.ATTN_11DB— 全量程电压:3.3V

四、代码

from machine import Pin, ADC
import time


ps2_y = ADC(Pin(33))
ps2_y.atten(ADC.ATTN_11DB)  # 这里配置测量量程为3.3V,默认为1V
ps2_x = ADC(Pin(32))
ps2_x.atten(ADC.ATTN_11DB)  # 这里配置测量量程为3.3V,默认为1V


btn = Pin(15, Pin.IN)  # 按键按下输出0,

while True:
    val_y = ps2_y.read()  # 输出范围0-4095,默认处于中间位置
    if(val_y > 1900):
        print("向上")
    elif(val_y < 1800):
        print("向下")
        
    val_x = ps2_x.read()  # 输出范围0-4095,默认处于中间位置
    if(val_x > 1900):
        print("向右")
    elif(val_x < 1800):
        print("向左")
        
    if(btn.value() == 0):
        print("按键按下")
    print("x:{} y:{} btn:{}".format(val_x, val_y, btn.value()))  # 打印出x轴,y轴的值
    time.sleep(0.2)

五、演示效果

六、摇杆购买

        同样大家可以在某宝上购买到摇杆:

detail.tmall.com/item.htm?sp…

img img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取