女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>制作Arduino控制的機器人

制作Arduino控制的機器人

2023-07-06 | zip | 0.04 MB | 次下載 | 免費

資料介紹

描述

今天我們將制作一個Arduino控制的機器人它有點類似于我之前的項目。唯一的區別是我沒有使用陀螺儀傳感器,而是使用了操縱桿模塊。機器人使用 Rf (ASK) 發射器和接收器模塊進行無線控制。這兩個電路均由兩個 ??Arduino 板組成,均使用 9 V 電池供電

在職的 -

這個項目的工作非常簡單。操縱桿模塊為 X 和 Y 軸運動提供模擬值。然后借助各種 if else 語句將該值與設置值進行比較。并據此向接收方發送一個字符。就像在這種情況下,字符“a”被發送用于機器人的向前移動。

這些字符然后由另一端的 Rf 接收器接收。接收器的工作就是接收字符并將其發送到 Arduino。Arduino 然后根據發送的字符移動機器人。運動由 L293d 電機驅動模塊控制。這是該項目的基本工作。現在讓我們開始構建這個機器人。

第 1 步:獲取耗材!!!

poYBAGOILIyAGNZDAAGa7zmoOHI023.jpg
?

購買耗材是任何項目的關鍵部分。最重要的是價格合適。為此,我建議您從UTSource.net網站購買它們。他們以低成本和快速運輸提供優質組件。他們還為制造商和原型制造商提供高質量的 PCB現在就去看看他們,并利用他們免費的一個月 Plus 會員試用,這給客戶帶來了很多好處。

現在讓我們快速瀏覽一下構建這個機器人所需的東西:

1. Arduino Uno 開發板 x 2

2.搖桿模組x 1

3. 射頻發射和接收模塊 x 1

4. 電機驅動模塊 (L293D) x 1

5. 面包板 x 2

6. 帶輪子和電機的金屬底盤。

7.帶領

8. 頭線

9.電池(9V)

第 2 步:電路圖

pYYBAGOILJGASdlWAAB7lIxlFpI873.jpg
?

該項目的電路圖非常簡單。構建這個項目大約只需要 10 分鐘。連接顯示在上面的電路圖中。操縱桿模塊連接到兩個模擬輸入,發射器連接到數字引腳。這里我使用了 pin 12。你可以使用串行端口,但這會在上傳草圖時導致問題。因此,改為使用虛擬線庫并將其他一些引腳設為 tx 引腳。

接收器部分由電機驅動模塊和射頻接收器組成。我們在這里再次使用了虛擬線庫。如果接收到字符,則連接一個 LED 以獲取狀態。兩塊板均使用 9 V 電池供電。一個單獨的電池用于為電機驅動模塊供電。

第 3 步:上傳草圖

?
?
?
poYBAGOILJSATYVOAABH_Z8AILU764.jpg
?
1 / 2
?

現在讓我們將草圖上傳到 Arduino 板上。你可以從下面得到草圖。

// 發送器代碼

#include 
const int X_AX = A0;
const int Y_AX = A1;
void setup()
{
  Serial.begin(9600);    
  Serial.println("setup");
  vw_setup(2000); 
  vw_set_tx_pin(12); 
}
void loop()
{
  int xval = analogRead(X_AX);
  int yval = analogRead(Y_AX);
  if(xval<=261&&xval>=0)
  {
   char *msg2 = "a";//send a to the receiver
   vw_send((uint8_t *)msg2, strlen(msg2));
   vw_wait_tx();
   Serial.println("a");
  }
  else if(xval<=1023&&xval>=782)
  {
   char *msg2 = "b";
   vw_send((uint8_t *)msg2, strlen(msg2));
   vw_wait_tx();
   Serial.println("b");
  }
  else if(yval<=261&&yval>=0)
  {
   char *msg2 = "c";
   vw_send((uint8_t *)msg2, strlen(msg2));
   vw_wait_tx(); 
   Serial.println("c");
  }
  else if(yval<=1023&&yval>=782)
  {
   char *msg2 = "d";
   vw_send((uint8_t *)msg2, strlen(msg2));
   vw_wait_tx(); 
   Serial.println("d");
  }
  else 
  {
   char *msg2 = "e";
   vw_send((uint8_t *)msg2, strlen(msg2));
   vw_wait_tx(); 
   Serial.println("e");
  }
}
// RECIEVER CODE
#include //Motor A right
const int motorPin1  = 9;  // Pin 9 of L293D
const int motorPin2  = 10;  // Pin 10 of L293D
//Motor B left
const int motorPin3  = 11; // Pin  11 of L293D
const int motorPin4  = 12;  // Pin 12 of L293D
void setup()
{
    Serial.begin(9600); 
    Serial.println("setup");
    vw_setup(2000);  
    vw_set_rx_pin(8);    
    vw_rx_start();      
    pinMode(13, OUTPUT);
    //digitalWrite(13, HIGH);
    pinMode(motorPin1, OUTPUT); 
    pinMode(motorPin2, OUTPUT);
    pinMode(motorPin3, OUTPUT);
    pinMode(motorPin4, OUTPUT);
}if (vw_get_message(buf, &buflen)) 
    {
  int i;
  for (i = 0; i < buflen; i++)
  {
     if(buf[i] == 'a')//if button a is pressed.... i.e.forward buton
      {
        digitalWrite(13, HIGH);
        Serial.println("Forward");
        digitalWrite(motorPin1, LOW);
        digitalWrite(motorPin2, HIGH);//FORWARD
        digitalWrite(motorPin3, LOW );
        digitalWrite(motorPin4, HIGH);
      }
     if(buf[i] == 'b')
      {
        digitalWrite(13, HIGH);
        Serial.println("Backward");
        digitalWrite(motorPin1, HIGH);
        digitalWrite(motorPin2, LOW);//REVERSE
        digitalWrite(motorPin3, HIGH);
        digitalWrite(motorPin4, LOW);
      }
      if(buf[i] == 'c')
      {
        digitalWrite(13, HIGH);
        Serial.println("Left");
        digitalWrite(motorPin1, LOW);
        digitalWrite(motorPin2, LOW);//LEFT
        digitalWrite(motorPin3, LOW);
        digitalWrite(motorPin4, HIGH);
      }
     if(buf[i] == 'd')
      {
        digitalWrite(13, HIGH);
        Serial.println("Right");
        digitalWrite(motorPin1, LOW);
        digitalWrite(motorPin2, HIGH);//RIGHT
        digitalWrite(motorPin3, LOW);
        digitalWrite(motorPin4, LOW);
      }
     if(buf[i] == 'e')
      {
        digitalWrite(13, LOW);
        Serial.println("Stop");
        digitalWrite(motorPin1, LOW);
        digitalWrite(motorPin2, LOW);//STOP
        digitalWrite(motorPin3, LOW);
        digitalWrite(motorPin4, LOW);
      }
      Serial.print(" ");
  }
  Serial.println("");
}
}

上傳代碼后,連接電池并運行您的項目。如果機器人向操縱桿的相反方向移動,則只需交換電機線即可。

第 4 步:項目的運作

?

如果您喜歡我制作的內容,請不要忘記與您的朋友分享這個教程也關注我,因為我經常想出這樣的項目。如果您對此項目有任何疑問,請在下方評論。我會盡力幫助你。就這樣吧。看到你會與另一個很棒的項目。謝謝你。

.


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費