直流小电机接线非常简单,只有2根线,而且不分正负极,接线方式只会决定电机正转或是反转,没有其它影响,下图是我从某多平台里花15元买的2个小电机和轮子。

L293D及连线

一般需要5V以上的动力,而Pico的工作电压为3.3V,所以马达不能直接混入Pico的电路里,还需要一个芯片来驱动马达,一个廉价且好用的芯片就是L293D。


它的引脚比较多,16个,由于它几乎是对称的,接地的引脚有4个,接正极的有2个,所以还是很快能搞明白它们的作用的。


第1引脚是2、3、6、7的控制开关,2、7接Pico,给它高/低电位,让3、6口产生输出电流,驱动马达正转或反转。

基本原理差不多明白了,准备与Pico连线了,还需要一个外接电源,我在买面包板的时候,还买了一个电源模块,上面的跳线可以在3.3V或5V输出之间进行选择。


先把正极和GND接好,这里的接地一边与外部电源模块的负极相连,另外还要与Pico的GND相连,我曾经少接了这条线,电机一直不转,排查了许久的原因。

再把马达的两极分别与L293D的3、6引脚相连,用Pico的GP17和GP16分别连2、6引脚,最后用GP21与1号引脚相连,控制马达的启停,还可以利用PWM技术控制其转速。


实际连线需要认真仔细看好正负极和引脚编号,否则Pico毁了,还得花30多元再买一个。

MicroPython编程

import machine
import utimepwmPin = 21 #控制马达的转速
cwPin = 16
acwPin = 17# speed:速度,0到100
# direction: 旋转方向,1为顺时针,0停止,-1逆时针
# speed_pin:控制小马达起停的引脚编号
def motorRun(speed, direction, speed_pin, clockwise_pin, anti_clockwise_pin):if speed > 100: speed=100if speed < 0: speed=0cw = machine.Pin(clockwise_pin, machine.Pin.OUT)acw = machine.Pin(anti_clockwise_pin, machine.Pin.OUT)pwm = machine.PWM(machine.Pin(speed_pin))pwm.freq(50)pwm.duty_u16(int(speed/100*65535))if direction < 0:cw.value(0)acw.value(1)if direction == 0:cw.value(0)acw.value(0)if direction > 0:cw.value(1)acw.value(0)motorRun(100, 1, pwmPin, cwPin, acwPin)
utime.sleep(5)
motorRun(80, -1, pwmPin, cwPin, acwPin)
utime.sleep(5)
motorRun(100, 0, pwmPin, cwPin, acwPin)

代码并不难懂,用PWM技术控制旋转速度,最后主程序是全速顺转5秒,再用80%的速度反转5秒,最后停止。

除了前面接地的问题之外,实际过程中还遇到电池不稳定的问题,一开始用电池供电,电机转了2次就不动了,我一度以为烧毁了,后来观察电源模块上的小灯,当电机工作时,小灯变得非常暗,所以怀疑电机工作时,电量已经非常不稳定,可能无法达到5V的工作电压,所以电机不转。最后,用电源适配器给电源模块供电,电机可以长时间旋转也没问题。

最后的视频效果:
https://v.qq.com/x/page/x3302xid62q.html

树莓派Pico控制直流小电机,用microPython编程,正转5秒,再反转5秒,然后停止。

参考资料:

https://peppe8o.com/l293d-and-dc-motor-with-raspberry-pi-pico-and-micropython/

https://dmccreary.medium.com/raspberry-pi-pico-robot-in-micropython-51f956486270

推荐阅读:
树莓派Pico开发系列文章

树莓派33/100 - Pico控制直流小马达,为智能避障小车提供动力相关推荐

  1. 树莓派40/100 - Pico控制WS2812B,一根信号线实现多种LED灯光效果(1)

    从某多平台花了15元钱买了一米长的WS2812B彩灯,用于我的Pico编程试验,这种灯的神奇之处在于只需一根信号线,能够控制串联在一起的30颗LED灯珠(好像能长达1024颗灯),实现各种彩灯效果. ...

  2. 树莓派26/100 - Pico控制RGB三色灯

    RGB三色LED灯,相当于把三种颜色的LED灯组合在一起,它有4条腿,最长的那条腿是阴极或阳极,根据这个灯是共阴的,还是共阳的而定. 与以前接LED灯的情况类似,不过这次要接三个电阻,我把它们分别接到 ...

  3. STM32蓝牙控制循迹避障小车源代码——3.舵机、超声波测距模块

    STM32蓝牙控制循迹避障小车源代码--3.舵机.超声波测距模块 注意-所需模块: US-015超声波模块 SG90舵机云台 接线:舵机超声波: A1–P2.7 B8–Trig B9–Echo 代码 ...

  4. STM32蓝牙控制循迹避障小车——2.循迹模块

    STM32蓝牙控制循迹避障小车源代码--2.循迹模块 注意-所需模块: 接线:四个循迹模块(从左到右分别为1,2,3,4) B4–第1个循迹模块的D0 B5–第2个循迹模块的D0 B6–第3个循迹模块 ...

  5. STM32蓝牙控制循迹避障小车源代码——4.蓝牙控制

    STM32蓝牙控制循迹避障小车源代码--4.蓝牙控制 注意-所需模块: 蓝牙模块 接线: 串口通信 A2–RX A3–TX 所有的代码都是直接从工程里面复制的,实测是没有问题的. 蓝牙控制原理: 设计 ...

  6. STM32蓝牙控制循迹避障小车源代码——5.最终程序

    STM32蓝牙控制循迹避障小车源代码--5.最终程序 将前面4讲的内容整合一起.主函数里用switch函数或者if语句来判断接收到的数据,改变小车的运动. 注意要将控制循迹和避障的参数单独定义一个.否 ...

  7. 将循迹小车改为蓝牙控制自动避障小车#arduino

    演示视频:https://www.bilibili.com/video/BV1CM41187oh/?share_source=copy_web&vd_source=d43eaf7cae2ed3 ...

  8. 树莓派红外避障小车python_基于树莓派的环保“捡垃圾”机器人小车(避障、摄像、红外、WIFI)...

    项目:基于树莓派的环保"捡垃圾"机器人小车控制平台 功能:避障.锁定某个障碍物 概述: 目前这个控制平台能够识别是"垃圾"只是塑料瓶,核心是利用Arduino控 ...

  9. Arduino教程-09.L298N控制直流电机(避障小车)

    目录 3.1 电机 3.2 控制直流电机 PWM – 控制速度 H桥 – 控制转动方向 L298N 电机驱动芯片 技术规格 L298N 电机驱动器模块引脚排列 电源引脚 输出引脚 方向控制引脚 速度控 ...

  10. 基于控制的角度无人机集群——避障(有源代码)

    无人机集群--避障 前言 一.浅谈避障 二.复杂公式 三.仿真效果 1.集群效果 2.避障效果 总结 前言 关于无人机集群避障的问题,我在之前的博客中已经简单描述了一下. 三维空间无人机集群编队控制, ...

最新文章

  1. 服务器内存傲腾基本参数信息,服务器加傲腾内存
  2. 扩展 lua require 的行为
  3. 使用ActiveMQ和HornetQ通过WebSocket通过STOMP轻松进行消息传递
  4. Oracle数据库的三种标准的备份方法
  5. 信息学奥赛一本通(1094:与7无关的数)
  6. Mybatis-Plus批量插入数据太慢,使用rewriteBatchedStatements属性优化,堪称速度与激情!
  7. Hyper-V虚拟机安装及网卡无法找到,驱动无法安装解决办法
  8. java new 新对象_java基础(五)-----new一个对象的具体过程
  9. 深度学习基础之线性回归
  10. 十分钟入门 Kafka,通俗易懂地理解分布式消息系统!!
  11. php base64 转 amr,base64转amr文件
  12. npm查看依赖包报错:npm ERR! extraneous解决!!
  13. 鼠标左键双击图标出现属性窗口的问题
  14. ios15.6RC-15.7.1系统降级iOS14,适用于checkm8机型
  15. C语言基础之13:文件输入/输出
  16. 为何Adobe国际认证证书被那么多人吐槽,看完你就明白了
  17. 360手机:360N6 Twrp、Root、Magisk教程
  18. 如何用Xinstall来做一款App运营推广?
  19. OA系统二十四:请假审批五:【点击“审批”后的审批弹出框】的后台逻辑;(审批结果提交的Dao层和Service层逻辑)
  20. qrcode生成固定大小的二维码

热门文章

  1. 引脚复用和引脚重映射
  2. centos7 oracle11gR2安装
  3. JavaWeb实训项目案例开发之在线图书网站开发【非常适合初学者】
  4. html日志网页,以HTML为表现的日志记录组件
  5. 如何对计算机进行磁盘整理,碎片整理,详细教您怎样进行磁盘碎片整理
  6. 数据中心白皮书 2022东数西算下数据中心高性能计算的六大趋势八大技术
  7. 获取iOS设备唯一标示
  8. 全文搜索引擎solr使用说明
  9. Android API19 设置Alarm闹钟
  10. implicit declaration of function —— 函数隐式声明 警告