Robot Arm for Pi

来自丢石头百科
Robot Arm for Pi
Servo Driver HAT
基本信息

分类: 树莓派 电机

品牌: Waveshare

功能简介
特性

机械手臂/舵机控制/PWM输出

接口

RPi接口 I2C接口

相关产品

{{{related}}}

树莓派

提供python控制,功能包括简单的PCA9685库测试程序,wifi遥控程序以及蓝牙遥控程序。

打开I2C接口

在终端执行:

sudo raspi-config 
选择 Interfacing Options -> I2C ->yes 启动 i2C 内核驱动

RPI open i2c.png
然后重启树莓派:

sudo reboot

安装库

sudo apt-get updata
sudo apt-get install python-pip 
sudo pip install RPi.GPIO
sudo apt-get install python-smbus

下载示例程序,并解压到指定目录

sudo apt-get install p7zip
wget http://wiki.diustou.com/w/upload/6/6c/Servo_Driver_HAT.7z
7zr x Servo_Driver_HAT.7z -r -o./Servo_Driver_HAT
cd Servo_Driver_HAT/Raspberry\ Pi/

运行测试例程

python例程

#如果你是python2,树莓派默认是python2.7
cd python/
sudo python PCA9685.py
#如果你是python3
cd python3/
sudo python3 PCA9685.py

实验现象:将舵机接到0号通道,0号通道的舵机从0度转到180度,然后又从180度转动到0度,不断重复循环。

wifi遥控程序

cd Wifi-Control/
sudo python main.py

操作与现象:发送端(手机或者电脑)和接收端(树莓派),需要连接到同一个局域网。程序是通过TCP协议传输数据,程序运行后会显示树莓派IP,服务器端口号是8000.
手机打开APP,选择Wifi遥控,输入对应的IP地址和端口号,点击连接.
Servo driver hat wifi.png
连接成功进入控制界面,点击按键可以控制0~4号通道的舵机正反转。
Servo driver hat wifi1.png
也可在电脑上运行Qt软件控制,如下图
Servo driver hat wifi2.png

蓝牙遥控程序

执行:

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get dist-upgrade -y
sudo apt-get install pi-bluetooth bluez bluez-firmware blueman
sudo usermod -G bluetooth -a pi
sudo vi /etc/systemd/system/dbus-org.bluez.service
sudo reboot

启动/增加SPP,开启蓝牙设备

sudo vi /etc/systemd/system/dbus-org.bluez.service

Servo driver hat bt.png
重启树莓派后,输入hciconfig命令(类似ifconfig命令)查看蓝牙服务
Servo driver hat bt2.png
如果有看到hci0设备则蓝牙已经开启工作。如果没有则没有识别到蓝牙设备
运行如下命令启动程序

cd Servo_Driver_HAT/python/Bluetooth-Control
sudo ./Bluetooth.sh

操作与现象:程序运行后会提示等待蓝牙连接,手机App选择蓝牙遥控,点击扫描,发现raspberrypi设备并连接。
Servo driver hat bt3.png
连接程序后进入控制界面,点击按键可以遥控0~4通道的舵机正反转了。
Servo driver hat bt4.png
注意:如果接收到的命令不对,可能需要在APP中config一下对应按键按下和松开时发送的命令。
Servo driver hat bt5.png
注意:树莓派默认是只有180s的发现时间,如果想一直可以发现和配对,如果通过修改下面的文件配置。

sudo vi /etc/bluetooth/main.conf

找到下面两个语句并去掉注释。
Servo driver hat bt6.png
程序兼容python3 ,运行的时候将python替换成python3即可。
更多关于树莓派wifi和蓝牙遥控可以参考AlphaBot2:
https://wiki.diustou.com/wiki/AlphaBot2
https://www.waveshare.com/wiki/AlphaBot2

FAQ


问题:
能否精密控制转动角度
答复:
  • 无法做到精密控制,这个只是入门级的。



Icon-mail.png 联系 丢石头

我们的工作时间是: 09:00-18:00 (UTC+8 周一到周六)