冰楓論壇

 找回密碼
 立即註冊
搜索
查看: 919|回覆: 0
打印 上一主題 下一主題

[分享] Arduino Pro Mini(P328 版本)製作遙控飛機

[複製鏈接]

2609

主題

0

好友

1000

積分

金牌會員

Rank: 6Rank: 6

UID
373967
帖子
8882
主題
2609
精華
0
積分
1000
楓幣
103
威望
977
存款
34822
贊助金額
0
推廣
0
GP
1205
閱讀權限
70
在線時間
455 小時
註冊時間
2023-1-12
最後登入
2024-11-25

2023端午節紀念勳章 2023中秋節紀念勳章 2023聖誕節紀念勳章

跳轉到指定樓層
1
發表於 2023-3-18 06:49:40 |只看該作者 |倒序瀏覽
所需材料
Arduino Pro Mini(P328 版本)
遙控器(例如基於 nRF24L01+ 的無線遙控器)
馬達控制板(例如 L298N 馬達驅動板)
兩個直流電機
電池或電池盒
其他零件(例如麵包板、連接線等)
程式碼
下面是一個簡單的 Arduino 程式碼範例,可以讓您控制兩個直流馬達,讓遙控飛機前進、後退、轉彎等。


#include <RF24.h>

// 設置遙控器的地址和通道
const uint64_t address = 0xABCDABCDABCD;
const byte channel = 0x60;

RF24 radio(7, 8); // 定義無線模塊的連接腳位
int leftMotor1 = 2; // 馬達控制板上控制左馬達的輸出1
int leftMotor2 = 3; // 馬達控制板上控制左馬達的輸出2
int rightMotor1 = 4; // 馬達控制板上控制右馬達的輸出1
int rightMotor2 = 5; // 馬達控制板上控制右馬達的輸出2

void setup() {
  radio.begin();
  radio.setChannel(channel);
  radio.setPALevel(RF24_PA_LOW);
  radio.openReadingPipe(1, address);
  radio.startListening();
  pinMode(leftMotor1, OUTPUT);
  pinMode(leftMotor2, OUTPUT);
  pinMode(rightMotor1, OUTPUT);
  pinMode(rightMotor2, OUTPUT);
}

void loop() {
  if (radio.available()) {
    int data[2];
    radio.read(data, sizeof(data));
    int leftSpeed = data[0];
    int rightSpeed = data[1];
    // 控制左馬達轉動
    if (leftSpeed >= 0) {
      digitalWrite(leftMotor1, HIGH);
      digitalWrite(leftMotor2, LOW);
      analogWrite(leftMotor1, leftSpeed);
    } else {
      digitalWrite(leftMotor1, LOW);
      digitalWrite(leftMotor2, HIGH);
      analogWrite(leftMotor1, -leftSpeed);
    }
    // 控制右馬達轉動
    if (rightSpeed >= 0) {
      digitalWrite(rightMotor1, HIGH);
      digitalWrite(rightMotor2, LOW);
      analogWrite(rightMotor1, rightSpeed);
    } else {
      digitalWrite(rightMotor1, LOW);
      digitalWrite(rightMotor2, HIGH);
      analogWrite(rightMotor1, -rightSpeed);
    }
  }
}
這個程式碼使用 nRF24L01+ 無線模組,讓您可以通過遙控器控制馬達的轉速。具體來說,這個程式碼會讀取無線模塊的數據,並根據數據的兩個值來控制左右兩個馬達的轉速。

連接腳位
以下是基本連接示意圖,可作參考,具體腳位和連接方法可能因實際硬體有所不同,請務必仔細閱讀硬體元件的規格和說明。

遙控飛機連接示意圖

這個示意圖展示了如何將 Arduino Pro Mini、無線模塊、馬達控制板和直流電機連接在一起。具體來說,Arduino Pro Mini 的 VCC 和 GND 腳位分別連接到電池的正負極,無線模塊的 CE、CSN、SCK、MOSI 和 MISO 腳位分別連接到 Arduino Pro Mini 的 9、10、13、11 和 12 腳位,左右兩個直流馬達則連接到馬達控制板上的對應腳位。在馬達控制板上,每個馬達都需要兩個輸出來控制其轉速,這些腳位則連接到 Arduino Pro Mini 的 2、3、4 和 5 腳位。
收藏收藏0 推0 噓0


把本文推薦給朋友或其他網站上,每次被點擊增加您在本站積分: 1彩票
複製連結並發給好友,以賺取推廣點數
簡單兩步驟,註冊、分享網址,即可獲得獎勵! 一起推廣文章換商品、賺$$
高級模式
B Color Image Link Quote Code Smilies |上傳

廣告刊登意見回饋關於我們管群招募本站規範DMCA隱私權政策

Copyright © 2011-2024 冰楓論壇, All rights reserved

免責聲明:本網站是以即時上載留言的方式運作,本站對所有留言的真實性、完整性及立場等,不負任何法律責任。

而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。

小黑屋|手機版|冰楓論壇

GMT+8, 2024-11-25 01:12

回頂部