久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5111|回復(fù): 1
收起左側(cè)

用arduino nano做的蜘蛛機(jī)器人 手機(jī)APP藍(lán)牙遙控+超聲波避障

[復(fù)制鏈接]
ID:561575 發(fā)表于 2020-2-14 17:34 | 顯示全部樓層 |閱讀模式
(新手)用arduino nano做的簡易蜘蛛機(jī)器人,可通過手機(jī)APP藍(lán)牙串口控制,也可用超聲波避障行走。實(shí)物圖看起來有點(diǎn)粗糙,畢竟是寒門子弟在家操手做的,但效果還是可以的。

實(shí)拍

實(shí)拍

自己做的APP操作界面

自己做的APP操作界面

1、藍(lán)牙使用的是HC-05,串口軟件用的是SPP(附件里有)

2、電機(jī)是常見的130小電機(jī),帶減速箱。驅(qū)動(dòng)也是常見的L298N.
3、電池用的是兩節(jié)串聯(lián)的18650鋰電池(電壓7.4v)
4、結(jié)構(gòu)部分是從某寶上20塊買來的益智拼裝玩具蜘蛛機(jī)器人,由于單個(gè)電機(jī)驅(qū)動(dòng)不能實(shí)現(xiàn)拐彎,
  自己改成了兩個(gè)電機(jī)驅(qū)動(dòng)
5、超聲波使用的是常見的4引腳SR04,舵機(jī)用的是9g小舵機(jī)。


為方便小伙伴們的交流,源代碼已貼出,新手水平有限,望笑納。
  1. #include <Servo.h>
  2. int ENA=3,ENB=9;
  3. int IN1=4;
  4. int IN2=5;
  5. int IN3=7;
  6. int IN4=8;

  7. int trig=A0,echo=A1;//發(fā)射、接收
  8. unsigned int juli;//距離
  9. Servo dj;//舵機(jī)
  10. void setup()
  11. {
  12.   pinMode(ENA,OUTPUT);
  13.   pinMode(ENB,OUTPUT);
  14.   pinMode(IN1,OUTPUT);
  15.   pinMode(IN2,OUTPUT);
  16.   pinMode(IN3,OUTPUT);
  17.   pinMode(IN4,OUTPUT);
  18.   Serial.begin(9600);
  19.   

  20.   pinMode(trig,OUTPUT);
  21.   pinMode(echo,INPUT);
  22.   dj.attach(11);//舵機(jī)引腳
  23.   dj.write(90);//角度
  24. }
  25. void ceju()
  26. {
  27.   digitalWrite(trig,LOW); //測距
  28. delayMicroseconds(2); //延時(shí)2微秒
  29. digitalWrite(trig,1);
  30. delayMicroseconds(20);
  31. digitalWrite(trig,0);
  32. int distance = pulseIn(echo,1); //讀取高電平時(shí)間.pulseIn函數(shù)用于讀取引腳脈沖的時(shí)間長度,脈沖可以是HIGH或LOW。如果是HIGH,函數(shù)將先等引腳變?yōu)楦唠娖剑缓箝_始計(jì)時(shí),一直到變?yōu)榈碗娖綖橹埂7祷孛}沖持續(xù)的時(shí)間長短, 單位為ms。如果超時(shí)還沒有讀到的話, 將返回0。
  33. distance = distance/58; //按照公式計(jì)算
  34. juli = distance; //把值賦給S
  35. Serial.println(juli); //向串口發(fā)送S的值,可以在顯示器上顯示距離
  36. if (juli<30)
  37. {
  38. delay(50); //延時(shí)
  39. }
  40.   }
  41.   void chaoshengbo()
  42.   {
  43.     dj.write(90);
  44.     ceju();
  45.     if(juli<10)
  46.     {
  47.       houtui();
  48.       delay(300);
  49.       }
  50.       if(juli>10&&juli<=40)
  51.      { turn();
  52.     }
  53.     if(juli>40)
  54.     {
  55.       qianjin();
  56.       }
  57.   }
  58.   
  59.   void turn()
  60.   { //判斷轉(zhuǎn)向函數(shù)
  61. ting(); //停止所用電機(jī)
  62. dj.write(170); //舵機(jī)轉(zhuǎn)到170度既左邊(角度與安裝方式有關(guān))
  63. delay(500); //留時(shí)間給舵機(jī)轉(zhuǎn)向
  64. ceju(); //運(yùn)行測距函數(shù)
  65. dj.write(90); //測距完成,舵機(jī)回到中位
  66. delay(600); //留時(shí)間給舵機(jī)轉(zhuǎn)向
  67. if (juli>30) {qianzuo();} //判斷左邊障礙物距離,如果距離充足,運(yùn)行左轉(zhuǎn)
  68. else {
  69. dj.write(10); //否則,舵機(jī)轉(zhuǎn)動(dòng)到10度,測右邊距離
  70. delay(600);
  71. ceju(); //測距
  72. dj.write(90); //中位
  73. delay(600);
  74. if(juli>30){qianyou();
  75. } //右轉(zhuǎn)
  76. else{ houtui(); //判斷右邊距離,距離充足右轉(zhuǎn)否則后退
  77. int x=random(1); //產(chǎn)生一個(gè)0到1的隨機(jī)數(shù)
  78. if (x=0){qianyou();}
  79. else{qianzuo();} //判斷隨機(jī)數(shù)
  80. } //否則后退,并隨機(jī)轉(zhuǎn)向
  81. }
  82. }
  83. void qianjin()
  84. {
  85.   analogWrite(ENA,250);
  86.   analogWrite(ENB,250);
  87.    digitalWrite(IN1,1);
  88.     digitalWrite(IN2,0);
  89.      digitalWrite(IN3,1);
  90.       digitalWrite(IN4,0);
  91.   }
  92.   void houtui()
  93. {
  94.   analogWrite(ENA,250);
  95.   analogWrite(ENB,250);
  96.    digitalWrite(IN1,0);
  97.     digitalWrite(IN2,1);
  98.      digitalWrite(IN3,0);
  99.       digitalWrite(IN4,1);
  100.   }
  101.   void qianzuo()
  102. {
  103.   analogWrite(ENA,0);
  104.   analogWrite(ENB,200);
  105.    digitalWrite(IN1,0);
  106.     digitalWrite(IN2,0);
  107.      digitalWrite(IN3,1);
  108.       digitalWrite(IN4,0);
  109.   }
  110.   void qianyou()
  111. {
  112.   analogWrite(ENA,200);
  113.   analogWrite(ENB,0);
  114.    digitalWrite(IN1,1);
  115.     digitalWrite(IN2,0);
  116.      digitalWrite(IN3,0);
  117.       digitalWrite(IN4,0);
  118.   }
  119.   void houzuo()
  120. {
  121.   analogWrite(ENA,0);
  122.   analogWrite(ENB,200);
  123.    digitalWrite(IN1,0);
  124.     digitalWrite(IN2,0);
  125.      digitalWrite(IN3,0);
  126.       digitalWrite(IN4,1);
  127.   }
  128.   void houyou()
  129. {
  130.   analogWrite(ENA,200);
  131.   analogWrite(ENB,0);
  132.    digitalWrite(IN1,0);
  133.     digitalWrite(IN2,1);
  134.      digitalWrite(IN3,0);
  135.       digitalWrite(IN4,0);
  136.   }
  137.   void shunshi()
  138. {
  139.   analogWrite(ENA,250);
  140.   analogWrite(ENB,250);
  141.    digitalWrite(IN1,1);
  142.     digitalWrite(IN2,0);
  143.      digitalWrite(IN3,0);
  144.       digitalWrite(IN4,1);
  145.   }
  146.   void nishi()
  147. {
  148.   analogWrite(ENA,250);
  149.   analogWrite(ENB,250);
  150.    digitalWrite(IN1,0);
  151.     digitalWrite(IN2,1);
  152.      digitalWrite(IN3,1);
  153.       digitalWrite(IN4,0);
  154.   }
  155.   void ting()
  156. {
  157.    digitalWrite(IN1,0);
  158.     digitalWrite(IN2,0);
  159.      digitalWrite(IN3,0);
  160.       digitalWrite(IN4,0);
  161.   }
  162.   
  163. void loop() {
  164.   
  165.   if(Serial.available())
  166.   {
  167.     char i=Serial.read();
  168.     switch(i)
  169.     {
  170.       case'b':qianzuo();break;
  171.       case'c':qianjin();break;
  172.       case'd':qianyou();break;
  173.       case'e':nishi();break;
  174.       case'f':ting();break;
  175.       case'g':shunshi();break;
  176.       case'h':houzuo();break;
  177.       case'i':houtui();break;
  178.       case'j':houyou();break;
  179.       case'a':chaoshengbo();break;
  180.       //case'k':gunf();break;
  181.       //case'l':gunt();break;
  182.       }
  183.     }
  184. }
復(fù)制代碼
51hei截圖20200214165254.jpg
全部資料51hei下載地址:
自制蜘蛛機(jī)器人.zip (6.87 MB, 下載次數(shù): 61)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:664234 發(fā)表于 2021-1-6 23:43 | 顯示全部樓層
請問需要降壓模塊嗎,電壓7.4有點(diǎn)大是不是
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美亚洲一区 | 国产精品三级在线 | 欧美中文字幕在线 | 一区二区三区国产精品 | 国产精品无遮挡 | 综合色婷婷一区二区亚洲欧美国产 | 波多野结衣av在线播放 | 免费在线观看av | 成人女同在线观看 | 日韩黄色av | 久久精品久久久久久久 | 丰满少妇高潮在线观看 | 免费久久久 | 免费视频一区 | 91成人在线 | 午夜精品影院 | 蜜臀久久99精品久久久久宅男 | www.国产91 | 中文在线免费观看 | 4438成人网 | 精品久久网站 | 激情综合五月天 | 国产一区二区三区四区 | 精品三级在线观看 | 69堂视频| 国产老头视频 | 8x8ⅹ国产精品一区二区 | 九色91| www.亚洲国产 | 伊人国产女 | 天天插天天透 | 99热在线免费观看 | 中文字幕婷婷 | 久久精品一区二区国产 | 日韩av免费在线 | 一区二区三区视频 | 91爱爱爱| 中文字幕一区二区三区四区视频 | 在线视频福利 | 黄色成年人网站 | 色综合久久88色综合天天 |