最近家里新添加了一位吃奶小战士,所以事情比较多;经常会被打断去忙别的事情;导致电脑长时间没有动静从而出现微信等工具掉线情况;所以自制了一个小工具,在忙别的事情的时候能保证电脑不会掉链子。
下面将通过树莓派Zero、PCA9685舵机驱动、MG996舵机组合实现鼠标的定期或随机移动,组合如下图:
组合效果
实现原理:
树莓派连接PCA9685舵机驱动板,驱动板连接MG996舵机;舵机转轴连接一个驱动臂;将鼠标用胶带跟驱动臂连接起来;接下来写程序,让舵机每隔一段时间执行转动-复位动作,然后驱动臂顺带带动鼠标移动一下;从而实现,电脑检测鼠标在使用的情况,从而防止电脑程序不掉线的目的。
视频效果如下:
实现代码如下:
#coding:utf-8
'''
from JiuJiang
树莓酱的操作实例
https:://www.shumeijiang.com
'''
import time
from board import SCL, SDA
import busio
from adafruit_pca9685 import PCA9685
from adafruit_motor import servo
#引入i2c
i2c = busio.I2C(SCL, SDA)
#控制第一块板子
pca = PCA9685(i2c, address=0x40) #地址可以修改 默认0x40
pca.frequency = 50
default_angle = {0:113, 1:0, 2:80}
#开始执行
while True:
i = 2
servo_o = servo.Servo(pca.channels[i]) #i是舵机在pca9685上的编号
#设置脉冲宽度 500到2500是正常的 这个可以自己调整 不设置默认只到135度
servo_o.set_pulse_width_range(min_pulse=500, max_pulse=2500)
#初始化度数
servo_o.angle = default_angle[i]
time.sleep(1)
#再执行移动
servo_o.angle = 65
time.sleep(1)
#再恢复
servo_o.angle = default_angle[i]
time.sleep(60) #一分钟执行一次 可随机数
pca.deinit()
舵机驱动部分参考文章:https://www.shumeijiang.com/2021/08/29/舵机的新驱动方式.html。