本人是一名机械电子专业的大一学生,这是我在博客园的第一篇随笔。
2024年4月份,我在二手平台花费300大洋入手了香橙派zero3和3B。最初,我将它们装上ubuntu系统用于运行QQ机器人和Minecraft服务器。尽管看到了板子上的40pin引脚,但当时并未立即探索其硬件扩展功能。然而,几天后,好奇心驱使我深入了解这些引脚的用途,开始研究香橙派的GPIO编程。因此,我决定记录下我的折腾之旅。
180度舵机是一种常见的执行机构,广泛应用于机器人关节控制、摄像头云台调整等场景。要驱动舵机,关键在于理解PWM(脉冲宽度调制)信号的生成与控制。在香橙派上使用wiringPi来输出PWM不需要像stm32一样去配置各种寄存器,还算是方便一些。
以下是我们需要使用的函数来输出硬件PWM波(以香橙派3B为例)。
硬件PWM的频率是可调的,有适用于香橙派的计算公式。
下面是一个控制sg90舵机旋转到45度处的代码。
保存,命名为main.c。
我是用vscode远程连接到香橙派3B的,在控制台输入gpio readall就可以看到香橙派3B的引脚定义图。使用cd命令进入代码所在文件夹,输入。
然后再输入。
按照提示输入密码后就可以看到舵机转到了45度处。
python的代码和c语言版本大同小异,如下。
保存为main.py,然后以管理员身份执行。
是可以看到舵机转到了90度位置处。