冰楓論壇

 找回密碼
 立即註冊
ads_sugarbook
搜索
查看: 715|回覆: 0

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

[複製鏈接]

2609

主題

0

好友

932

積分

高級會員

Rank: 4

UID
373967
帖子
7149
主題
2609
精華
0
積分
932
楓幣
815
威望
912
存款
25000
贊助金額
0
推廣
0
GP
1199
閱讀權限
50
在線時間
396 小時
註冊時間
2023-1-12
最後登入
2024-3-29

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

發表於 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 腳位。
複製連結並發給好友,以賺取推廣點數
簡單兩步驟,註冊、分享網址,即可獲得獎勵! 一起推廣文章換商品、賺$$
高級模式
B Color Image Link Quote Code Smilies |上傳

廣告刊登意見回饋關於我們職位招聘本站規範DMCA隱私權政策

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

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

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

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

GMT+8, 2024-3-29 05:10

回頂部