導(dǎo) 本人是一名機(jī)械電子專業(yè)的大一學(xué)生,這是我在博客園的第一篇隨筆。 2024年4月份,我在二手平臺(tái)花費(fèi)300大洋入手了香橙派zero3和3B。最初,我將它們裝上ubuntu系統(tǒng)用于運(yùn)行QQ機(jī)器人和Min...

本人是一名機(jī)械電子專業(yè)的大一學(xué)生,這是我在博客園的第一篇隨筆。

2024年4月份,我在二手平臺(tái)花費(fèi)300大洋入手了香橙派zero3和3B。最初,我將它們裝上ubuntu系統(tǒng)用于運(yùn)行QQ機(jī)器人和Minecraft服務(wù)器。盡管看到了板子上的40pin引腳,但當(dāng)時(shí)并未立即探索其硬件擴(kuò)展功能。然而,幾天后,好奇心驅(qū)使我深入了解這些引腳的用途,開始研究香橙派的GPIO編程。因此,我決定記錄下我的折騰之旅。

180度舵機(jī)是一種常見的執(zhí)行機(jī)構(gòu),廣泛應(yīng)用于機(jī)器人關(guān)節(jié)控制、攝像頭云臺(tái)調(diào)整等場(chǎng)景。要驅(qū)動(dòng)舵機(jī),關(guān)鍵在于理解PWM(脈沖寬度調(diào)制)信號(hào)的生成與控制。在香橙派上使用wiringPi來(lái)輸出PWM不需要像stm32一樣去配置各種寄存器,還算是方便一些。

以下是我們需要使用的函數(shù)來(lái)輸出硬件PWM波(以香橙派3B為例)。

硬件PWM的頻率是可調(diào)的,有適用于香橙派的計(jì)算公式。

下面是一個(gè)控制sg90舵機(jī)旋轉(zhuǎn)到45度處的代碼。

保存,命名為main.c。

我是用vscode遠(yuǎn)程連接到香橙派3B的,在控制臺(tái)輸入gpio readall就可以看到香橙派3B的引腳定義圖。使用cd命令進(jìn)入代碼所在文件夾,輸入。

然后再輸入。

按照提示輸入密碼后就可以看到舵機(jī)轉(zhuǎn)到了45度處。

python的代碼和c語(yǔ)言版本大同小異,如下。

保存為main.py,然后以管理員身份執(zhí)行。

是可以看到舵機(jī)轉(zhuǎn)到了90度位置處。