一、背景需求
1.应需求需要制作一台自动左右摇摆的机械手臂,模拟人工左右挥手
2.于是想到机械臂,利用舵机进行控制
二、购买板子
1.与其他同学处了解到ESP32板子,于是在合宙商城购买,经典款ESP32C3
三、下载Thonny与安装+下载ESP32C3驱动
1.https://thonny.org/ 粘贴复制另打开网页
2.选择选择了Windows系统
安装完成后,桌面显示
3.驱动链接
esp32C3板子需要下载【CH343SER.EXE】驱动,CH343SER.EXE - 南京沁恒微电子股份有限公司
4.双击打开
5、安装成功后点击菜单栏,查找【设备管理器】-端口
显示CH434说明安装成功(COM4编号可能每个人不一样)
注意:需要链接板子才可以查看,需要链接可以支持传输数据的数据线
四、下载Micropython固件
1.micropython官方下载地址: MicroPython - Python for microcontrollers
五、格式设置并烧录
1、点击-【视图】-文件,可以加载左边文件,还是很方便的
2、选择代码保存位置
3、点击【工具】-【选项...】,选择解释器
4、选择解释器,选择MicroPython(ESP32),端口选择COM4,点击安装与更新
5、由于我已安装,下面3个选择不能再选,大家根据选项选择
当安装完成后,左下角显示done,重新打开thonny,出现以下成功说明烧录成功
六、编写代码-点灯
1、烧录成功后,创建一个文件,编写led灯代码,如下:
import machine
import time
from machine import Pin, PWM
from time import sleep
pin12 = machine.Pin(12, machine.Pin.OUT)
pin13 = machine.Pin(13, machine.Pin.OUT)
while True:
pin12.value(1)
pin13.value(1)
time.sleep_ms(500)
pin12.value(0)
pin13.value(0)
time.sleep_ms(500)
2.点击运行
3.保存代码,重命名为main.py,这样就把代码保存到开发板里面了,在其他地方上电也可以使用
七、链接舵机-MG90S
1、网购舵机,大小根据自己需求购买
2、链接引脚,黑线链接GND,红线5V电源,黄线连接自己设置的GPOI管脚
3、编写代码
from machine import Pin, PWM
from time import sleep#初始化一个Pin对象来控制舵机电机的引脚
pin2 = Pin(2, Pin.OUT)
# 初始化一个PWM对象来控制舵机电机
servo_pwm = PWM(pin2, freq=50, duty=0)
# 将舵机转到指定的角度的函数,设置频率为50Hz,初始占空比为0。
def rotate(servo_pwm, degree):
# 根据角度计算占空比值
val = int(degree * 0.54 + 25)
# 设置PWM信号的占空比
servo_pwm.duty(val)
while True:
# 将舵机转到60度的角度
rotate(servo_pwm, 60)
# 休眠0.7秒
time.sleep_ms(700) # 将舵机转到140度的角度
rotate(servo_pwm, 140)
# 休眠0.7秒
time.sleep_ms(700)
八、总结
好啦,这样就可以控制脱机自动转动啦,后续可以手动安装一个物理开关,方便控制
2.后续TODO
使用蓝牙模块,远程操控