Arduino專案:使用電位計控制伺服馬達

這個專案中,我們將學習如何使用電位計控制伺服馬達。 透過類比輸入腳位,我們可以讀取電位計的旋轉值,範圍從0到1023。 我們將利用這些數值將伺服馬達從0°旋轉到180°。 首先我們需要建立電路,然後撰寫程式碼。 將電源腳位5V和GND連接到麵包板的「+」和「-」行上: 然後將這些訊號連接至電位計的輸入腳位: 將輸出腳位連接至類比I/O腳位A0: 接下來,連接伺服馬達。將棕色線連接至0V,紅色線連接至5V,橙色線連接至腳位9: 現在切換到Arduino IDE以撰寫程式。 首先我們需要讀取電位計的輸入: void setup() { Serial.begin(9600); } void loop() { int value = analogRead(A0); Serial.println(value); } 將此程式上傳至Arduino,您應該可以在序列監視器中看到從0到1023的輸出。 現在我們需要將這個0-1023的數值重新映射為0-180,以供伺服馬達使用。 我們可以使用map()函式來實現: value = map(value, 0, 1023, 0, 180); 接下來,我們將使用一個函式庫。 在Arduino IDE的「Sketch」選單中,選擇「Include Library」,然後選擇「Servo」: 這將在檔案頂部加入#include <Servo.h>這一行。 Servo函式庫是一個內建的函式庫,您可以透過開啟「Tools」和「Manage libraries…」來取得更多關於此函式庫的資訊。 這會開啟Library manager: 在搜尋方塊中搜尋「servo」,您應該會看到相關結果: 點擊「More info」連結,這會在您的瀏覽器中開啟https://www.arduino.cc/reference/en/libraries/servo/這個頁面。 這是獲取任何函式庫相關資訊的方式,不僅僅是這個函式庫,知道如何獲取更多資訊是很有用的。 該頁面列出了一些使用資訊、函式庫暴露的方法以及一些範例: Arduino的好處是它是完全開源的。在這種情況下,您可以在https://github.com/arduino-libraries/Servo找到該函式庫的原始碼,因此您可以撰寫自己修改後的版本,或者僅僅了解其內部運作方式。 我們將使用兩個方法:attach()和write()。 使用attach()函式告訴Servo使用哪個端口。 使用write()函式將伺服馬達移動到指定的角度(參數範圍為0到180)。 但首先我們需要宣告一個Servo物件。我們在setup()函式之前這麼做,使用Servo myservo;: #include <Servo.h> Servo myservo; 然後在setup()函式中,我們將伺服馬達連接至I/O腳位9: #include <Servo.h> Servo myservo; void setup() { myservo.attach(9); } 最後在loop()函式中,我們呼叫myservo....