配置引脚复用功能
查阅OrangePi官网引脚信息(http://www.orangepi.cn/)
参照OrangePi说明书打开复用引脚(/sys/class/pwm下面已经有两个pwmchipX,不知道为什么有的,可能是WiringOP?,先不管)。
配置方法,sudo vim /boot/orangepiEnv.txt
上述文件追加一行
overlays=pwm15-m2 pwm13-m2
重启。
查看/sys/class/pwm
目录,ls -l
找到你添加的那两个pwm对应的地址,这两个pwmchip目录就是接下来要操控的pwm目录。
PWM控制
虽然OrangPi可以用wiringOP很方便地控制GPIO,但是下面这个方法是通用方法,不管是树莓派
、OrangePi
还是NVIDIA Jetson
都是一样的操作。
Linux中设备即文件。操作PWM即为操作文件。
sudo -i # 进入root
echo 0 > /sys/class/pwm/pwmchip**/export # 创建pwm,运行完成后会生成pwm0目录
echo 20000000 > /sys/class/pwm/pwmchip**/pwm0/period #配置周期 单位纳秒
echo 1000000 > /sys/class/pwm/pwmchip2/pwm0/duty_cycle # 配置占空比 单位纳秒
echo "normal" > /sys/class/pwm/pwmchip2/pwm0/polarity # 配置极性,默认为“inversed”,SG90舵机需为“normal”
echo 1 > /sys/class/pwm/pwmchip2/pwm0/enable # 使能pwm,开始发生波形
echo 0 > /sys/class/pwm/pwmchip2/pwm0/enable # 暂停发生pwm波形
舵机控制
假如需要控制舵机,将pwm引脚和舵机信号线相连即可。
如果是独立电源供电,将OrangePi GND引脚和电源共地。