如何控制树莓派产生与读取pwm波——pigpio库函数使用指南:第一篇:基本介绍与安装

在使用树莓派制作一些电子小作品的时候,我们经常需要用到舵机等需要pwm波操控的模块,在这里,向大家推荐一个非常实用的pwm波形产生/读取库函数:pigpio

基本介绍

pigpio是一个由C语言编写的库函数,并提供Python接口,由于我用Python的经验比较丰富,所以接下来的文章主要介绍它的python接口的使用。
根据官方文档上的介绍,这个库主要特性有(翻译自官方文档,可能有错漏):

  • 能够同时在31个GPIO口进行精确至5微秒的硬件定时采样
  • 能够同时在31个GPIO口产生硬件定时PWM
  • 能够同时在31个GPIO口产生硬件定时伺服脉冲
  • 同时监听31个GPIO口,电平更改时进行回调(精确到几个微秒)
  • 同时监听31个GPIO口,电平更改时通过管道发送通知
  • 可以在规定的时间间隔内进行回调
  • 可以同时读取/写入存储区中的所有GPIO(0-31,32-53)
  • 可以实现对GPIO状态的读,写模式和内部拉动
  • 提供套接字和管道接口
  • 可以用于生成GPIO电平变化的波形(精确到几个微秒)
  • 可以使用任何用户的GPIO的软件串行链接
  • 通过套接字和管道接口进行基本权限控制
  • 在pigpio守护进程上创建和运行脚本

安装

安装方法有多种,采取其中一种就可以,不必重复安装:

直接安装:

绝大多数人树莓派上的操作系统是Raspbian,可以直接在命令行输入下列命令安装:

sudo apt-get update
sudo apt-get install pigpio python-pigpio python3-pigpio

make安装:

可以采用make进行安装,有几种方法,请参考以下步骤:
请注意:如果你之前安装过,请先删除或者重命名任何现有的pigpio zip或tar文件。删除或重命名任何现有的PIGPIO或pigpio-master目录(记得要先保存该目录中的自己的文件)。

方法一:

rm pigpio.zip
sudo rm -rf PIGPIO
wget abyz.me.uk/rpi/pigpio/pigpio.zip
unzip pigpio.zip
cd PIGPIO
make
sudo make install

方法二:

rm pigpio.tar
sudo rm -rf PIGPIO
wget abyz.me.uk/rpi/pigpio/pigpio.tar
tar xf pigpio.tar
cd PIGPIO
make
sudo make install

方法三:

rm master.zip
sudo rm -rf pigpio-master
wget https://github.com/joan2937/pigpio/archive/master.zip
unzip master.zip
cd pigpio-master
make
sudo make install

用以上任何方法安装成功后,运行以下测试:

sudo ./x_pigpio # check C I/F
sudo pigpiod    # 开启守护进程
./x_pigpiod_if2 # check C      I/F to daemon
./x_pigpio.py   # check Python I/F to daemon
./x_pigs        # check pigs   I/F to daemon
./x_pipe        # check pipe   I/F to daemon

若失败,请换方法安装

安装成功后,在下一篇,我将进一步介绍具体如何使用这个库。

猜你喜欢

转载自blog.csdn.net/wenhanhe/article/details/88771350
今日推荐