物联网开发笔记(39) |
您所在的位置:网站首页 › 加油站处理客户投诉的原则和技巧 › 物联网开发笔记(39) |
一、目的 这一节我们学习如何使用我们的ESP32开发板来控制PS2摇杆。 二、环境 ESP32 + PS2摇杆 + Thonny IDE + 几根杜邦线 接线示意图:注意接3.3V,接5V烧板子。 三、ESP32 ADC ESP32 上有几个引脚可以用来获取模拟量——这些引脚称为 ADC 引脚(模拟值转换为数字值),以下所有 GPIO 均可用作 ADC 引脚:0、2、4、12、13、14、15、25、26、27、32、33、34、35、36、39 但有些开发板上0、2、4引脚不能使用,推荐使用32、 32、33、34、35、36、39 官方文档:Quick reference for the ESP32 — MicroPython latest documentation 注意,默认ESP32的对应值是1v对应4095,所以为了能够调整需要在代码中控制 ADC.ATTN_0DB— 满量程电压:1.2VADC.ATTN_2_5DB— 满量程电压:1.5VADC.ATTN_6DB— 全量程电压:2.0VADC.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)五、演示效果 六、摇杆购买 同样大家可以在某宝上购买到摇杆: https://detail.tmall.com/item.htm?spm=a1z10.3-b.w4011-23212844728.102.33a931e5KWj9l4&id=637208197637&rn=7f003cb721f85bfc44d51e018752b58d&abbucket=8 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |