使用Arduino IDE將伺服電機與Raspberry Pi Pico W接口
在本博客中,我們將學(xué)習(xí)如何將伺服電機與Raspberry Pi Pico W連接,并使用Arduino IDE對其進(jìn)行編程。一般來說,Micropython用于編程Pico W,但我們將學(xué)習(xí)如何使用C/ c++編程。樹莓派Pico W是一個偉大的板,為那些誰正在尋找一個強大的和多功能的微控制器,易于使用和負(fù)擔(dān)得起。
通過之前的教程了解更多關(guān)于樹莓派Pico W的信息:
?使用Arduino IDE將OLED顯示器與Raspberry Pi Pico W接口
?使用Arduino IDE將伺服電機與Raspberry Pi Pico W接口
?使用樹莓派Pico W構(gòu)建您自己的氣象站
?使用基于樹莓派Pico W的web服務(wù)器控制LED
Arduino IDE是一個非常有效和節(jié)省時間的初學(xué)者編程工具。它被廣泛使用并為大多數(shù)初學(xué)者所熟悉,擁有龐大的庫生態(tài)系統(tǒng),并且不需要任何其他軟件安裝。
接口允許我們使用Pico w的pwm支持的GPIO引腳控制伺服器的運動。樹莓派Pico w是一款經(jīng)濟實惠的程序員板,使用RP2040微控制器。
組件的要求
?伺服電機(SG-90)
?樹莓派Pico W板
?跳線和面包板
?樹莓派Pico W的輸出
該板具有內(nèi)置的未來Wi-Fi和藍(lán)牙兼容性,使其成為各種物聯(lián)網(wǎng)控制的無線設(shè)備和項目的完美解決方案。它有26個GPIO引腳,264kB的SRAM, 2MB的板載閃存和一個基于RP2040芯片的微控制器。其他引腳包括Power、GND和Reference引腳。
伺服電機(SG-90)工作
SG 90伺服電機是一種廣泛使用的伺服電機,提供0到180度的旋轉(zhuǎn)角度范圍。該伺服電機通過PWM技術(shù)運行,使我們能夠通過調(diào)整其占空比來操縱輸出軸的角度位置。因此,這些電機在各種目的的精確控制角運動中得到廣泛應(yīng)用,包括RC汽車,機械臂和數(shù)控機床。
伺服器的連接通常包括三個引腳:
?VCC(或+):該引腳連接到電源正極(通常為4.8V至6V)。它為伺服電機提供工作電壓。
?GND(或-):接在電源的接地(0V)上,完成電路。
信號(或控制)引腳:引腳使用微控制器以PWM(脈寬調(diào)制)形式產(chǎn)生的控制信號。引腳必須連接到電路板的PWM引腳??刂菩盘枦Q定伺服應(yīng)該旋轉(zhuǎn)的位置或角度。
伺服與樹莓派Pico接口電路框圖
下圖描述了伺服與Pico W板接口的連接。
伺服的Vcc或電源引腳應(yīng)連接到Raspberry Pi Pico W的VBUS引腳上。
伺服的GND連接到Pico板的任何接地端子。由于電路板上有各種接地端子,您可以使用其中任何一個。
伺服的信號引腳必須連接到Pico W的任何使能PWM的GPIO。大多數(shù)GPIO引腳都是在GP0 - GP28的Pico W中使能PWM的。
Arduino代碼接口伺服與樹莓派Pico W
代碼部分非常簡單,因為我們必須首先使用必要的庫,其中包括servo. h來控制伺服的旋轉(zhuǎn)。
代碼命令伺服控制0到180度的角度旋轉(zhuǎn),反之亦然。
在Setup()函數(shù)中,給定伺服連接到板上的信號引腳細(xì)節(jié)到attach()函數(shù)到對象myservo。我已經(jīng)將伺服的信號引腳連接到Pico板的GP-0引腳上。此外,attach()函數(shù)用于指定引腳和以微秒為單位的最小和最大脈沖寬度值,以便將伺服器從0°旋轉(zhuǎn)到180°。在這種情況下,最小脈寬設(shè)置為400μs,最大脈寬設(shè)置為2600μs。
在loop()函數(shù)內(nèi)部,我們使用兩個for循環(huán)創(chuàng)建了代碼設(shè)計,以便第一個for循環(huán)提供從0到180度的旋轉(zhuǎn),第二個for循環(huán)將反轉(zhuǎn)回0。循環(huán)將運行無限次。
總的來說,代碼將連續(xù)地在0°和180°之間來回旋轉(zhuǎn)伺服電機,每一步之間的延遲為10毫秒。
樹莓派Pico W伺服系統(tǒng)的工作原理
要將代碼上傳到Raspberry Pi Pico w,我們必須將板庫安裝到Arduino IDE中。這里是以前設(shè)計的Raspberry Pi Pico W項目的教程,您可以參考它們的一步一步的安裝過程。
最后,仔細(xì)按照教程中的步驟上傳整個代碼,并確保檢查代碼內(nèi)的硬件引腳是否正確。
本文編譯自iotdesignpro