物联网开发114 - Micropython ESP32 C3连接L9110电机驱动风扇模块和PS2双轴按键摇杆

一、目的

        这一节我们来学习如何使用合宙ESP32 C3,连接PS2双轴按键摇杆控制L9110电机驱动风扇模块的实验。

二、环境

        ESP32 C3开发板(MicroPython v1.19.1 on 2022-06-18)+ PS2双轴按键摇杆+ L9110电机驱动风扇模块 + 几根杜邦线 + Win10商业版

        ESP32 C3和各个模块接线方法:

三、实验代码

examples.py

from machine import Pin,PWM,ADC
import time

# 定义摇杆的vrx引脚
vrx = ADC(Pin(4))
# 定义摇杆的vry引脚
vry = ADC(Pin(5))

# 定义摇杆的vrx、vry的属性
vrx.atten(ADC.ATTN_11DB)  # 衰减比为3.3V
vrx.width(ADC.WIDTH_12BIT)  # 宽度为12位,对应的范围0-4095

vry.atten(ADC.ATTN_11DB)  #衰减比为3.3V
vry.width(ADC.WIDTH_12BIT)  # 宽度为12位,对应的范围0-4095

# 打印出摇杆x,y轴的数值
print("x: %d, y: %d"%(vrx.read(),vry.read()))

#L9110直流电机的PWM范围0-1023
moa = PWM(Pin(2),duty=(0),freq=(1000))  # 对应模块的INA引脚
mob = PWM(Pin(8),duty=(0),freq=(1000))  # 对应模块的INB引脚

# 定义摇杆的按键
key = Pin(3,Pin.IN,Pin.PULL_UP)
# 定义一个LED灯,当摇杆按键按下时反转led状态
led = Pin(12,Pin.OUT)

# 定义L9110电机驱动风扇模块函数
def motor():
    if key.value() == 0:
        time.sleep(0.020)
        if key.value() == 0:  # 如果摇杆按键值为0
            led.value(not led.value())  # 反转led灯状态
            # 正转
            moa.duty(0)
            mob.duty(1023)
            while not key.value():
                pass
    
    try:
        # 获取摇杆vrx和vry的值
        x = vrx.read()
        y = vry.read()
        # L9110模块的PWM占空比
        moa.duty(int((x/4095)*1023))
        mob.duty(int((y/4095)*1023))
    except:
        moa.deinit()
        mob.deinit()
         
def main():
    # 正转
    moa.duty(0)
    mob.duty(1023)
    
    time.sleep(3)
    
    # 反转
    moa.duty(1023)
    mob.duty(0)
    
    time.sleep(3)
    
    # 刹车
    moa.duty(0)
    mob.duty(0)
    
    # 高阻态
    moa.duty(1023)
    mob.duty(1023)
    
    while True:
       motor()


if __name__ == "__main__":
    main()

四、实验效果

        运行上述代码后,L9110马达会正转3秒,倒转3秒。然后使用摇杆向上下左右推动摇杆,可以控制马达正反转。按下摇杆的按键,LED灯亮,马达最大转速,松开按键马达停止转动。

五、各模块获取

1,L9110电机驱动风扇模块

https://item.taobao.com/item.htm?spm=a1z09.2.0.0.2f582e8dicTU5j&id=582567473361&_u=np01rchcef7https://item.taobao.com/item.htm?spm=a1z09.2.0.0.2f582e8dicTU5j&id=582567473361&_u=np01rchcef7

 资料网盘下载:https://pan.baidu.com/s/1PIdrVOh2WoYYsMYs5F3chQ

2,双轴按键摇杆

https://detail.tmall.com/item.htm?abbucket=8&id=620727821914&ns=1&spm=a230r.1.14.49.619c777dPQ3Qsphttps://detail.tmall.com/item.htm?abbucket=8&id=620727821914&ns=1&spm=a230r.1.14.49.619c777dPQ3Qsp

3,L9110s桥两路直流电机步进电机驱动板智能小车控制器模块

        如果你想控制多个马达可以使用这个模块,只需要在接两个小马达就可以了:

https://item.taobao.com/item.htm?spm=a1z09.2.0.0.2f582e8dicTU5j&id=523115713846&_u=np01rch02cdhttps://item.taobao.com/item.htm?spm=a1z09.2.0.0.2f582e8dicTU5j&id=523115713846&_u=np01rch02cd

资料下载:http://pan.baidu.com/s/1qWADjha

4,小马达发电3V有刷DC6V直流电机

https://detail.tmall.com/item.htm?_u=np01rch11b7&id=646710498661&spm=a1z09.2.0.0.461b2e8dz5O8sihttps://detail.tmall.com/item.htm?_u=np01rch11b7&id=646710498661&spm=a1z09.2.0.0.461b2e8dz5O8si

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

魔都飘雪

您的1毛奖励是我创作的源源动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值