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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3013|回復: 0
打印 上一主題 下一主題
收起左側

基于arduino的超聲波,紅外綜合避障源程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:732993 發表于 2020-7-16 18:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. #define IN1 12//12口電機右正反轉,引腳可調下同
  2. #define IN2 11//11口電機右調速
  3. #define IN3 10//10口電機左正反轉
  4. #define IN4 9//9口電機左調速
  5. #define hN1 4//4口左1紅外
  6. //#define hN2 7//7口左2紅外
  7. #define hN3 8//8口右3紅外

  8. #define Trig 2//超聲波Trig
  9. #define Echo 3//超聲波Echo
  10. #define Trig2 5//超聲波Trig2
  11. #define Echo2 6//超聲波Echo2
  12. int Time=0;//高電平時間
  13. int X=0; //X是距離,單位厘米
  14. int X2=0; //X是距離,單位厘米
  15. long ran;//定義隨機變量(1到4)

  16. int xleft=0;//紅外感應左
  17. //int xzhong=0;//紅外感應中
  18. int xreight=0;//紅外感應右左


  19. void motor(int x,int y)//x=1是后退;x=2是前;x=3是左;x=4是右;y是轉速
  20. {
  21. switch(x){
  22.   case 1:
  23.    digitalWrite(IN1,1);
  24.   analogWrite(IN2,y);
  25.   digitalWrite(IN3,0);
  26.   analogWrite(IN4,y);
  27.   break;
  28.   case 2:
  29.   digitalWrite(IN1,0);
  30.   analogWrite(IN2,y);
  31.   digitalWrite(IN3,1);
  32.   analogWrite(IN4,y);
  33.   break;
  34.   case 3:
  35.   digitalWrite(IN1,0);
  36.   analogWrite(IN2,y);
  37.   digitalWrite(IN3,0);
  38.   analogWrite(IN4,y);
  39.   break;
  40.   case 4:
  41.   digitalWrite(IN1,1);
  42.   analogWrite(IN2,y);
  43.   digitalWrite(IN3,1);
  44.   analogWrite(IN4,y);
  45.   break;
  46.   }
  47.     Serial.println("x=");
  48.   Serial.println(x);
  49. }
  50. void loop() {
  51.        csb();
  52.        ydyd();
  53.    
  54. }


  55. void setup() {
  56.   Serial.begin(9600);
  57. pinMode(IN1,OUTPUT);
  58. pinMode(IN2,OUTPUT);
  59. pinMode(IN3,OUTPUT);
  60. pinMode(IN4,OUTPUT);
  61. pinMode(Trig,OUTPUT);//口是對超聲波輸出波形Trig
  62. pinMode(Echo,INPUT);//口是超聲波反饋Echo
  63. pinMode(hN1,INPUT);//hN1口是1號紅外檢測
  64. //pinMode(hN2,INPUT);//hN2口是2號紅外檢測
  65. pinMode(hN3,INPUT);//hN3口是3號紅外檢測

  66. //randomSeed(analogRead(0));
  67. //attachInterrupt(0,back,RISING);//中斷函數
  68. }





  69. /*void back()
  70. {
  71.   motor(1,120);
  72.   }*/
  73.   
  74.   
  75. void csb(){
  76.    digitalWrite(Trig,LOW);//3口,輸出低電平
  77. delayMicroseconds(2);//等待2微秒
  78. digitalWrite(Trig,HIGH);//3口,輸出高電平
  79. delayMicroseconds(10);//等待10微秒,觸發信號
  80. digitalWrite(Trig,LOW);//拉低電平
  81. Time=pulseIn(Echo,HIGH);//檢測反饋的高電平時間
  82. X=Time/58;//計算距離
  83. digitalWrite(Trig2,LOW);//3口,輸出低電平
  84. delayMicroseconds(2);//等待2微秒
  85. digitalWrite(Trig2,HIGH);//3口,輸出高電平
  86. delayMicroseconds(10);//等待10微秒,觸發信號
  87. digitalWrite(Trig2,LOW);//拉低電平
  88. Time=pulseIn(Echo2,HIGH);//檢測反饋的高電平時間
  89. X2=Time/58;//計算距離
  90. }

  91. void ydyd(){
  92.      xleft=digitalRead(hN1);
  93.     //xzhong=digitalRead(hN2);
  94.    xreight=digitalRead(hN3);
  95. if(X>=5)
  96. {
  97.   motor(1,100);
  98.   delay(1000);
  99.   }
  100.   else
  101.   {     
  102.        if((xleft==1)&&(xreight==1))
  103.         {
  104.          // ran=random (2,5);   
  105.           motor(2,120);
  106.          
  107.            
  108.         }
  109.       if((xleft==0)&&(xreight==1))
  110.         {
  111.           motor(3,100);
  112.         }
  113.        if((xleft==1)&&(xreight==0))
  114.         {
  115.           motor(4,100);
  116.         }

  117.        if((xleft==0)&&(xreight==0))
  118.         {
  119.            digitalWrite(IN1,0);
  120.             analogWrite(IN2,0);
  121.             digitalWrite(IN3,0);
  122.             analogWrite(IN4,0);
  123.         }   
  124.         if(X2>=5)
  125.         {
  126.       motor(2,100);
  127.       delay(1000);
  128.           }                 
  129.     }

  130.     Serial.println("X=");
  131.   Serial.println(X);
  132.       Serial.println("x1=");
  133.   Serial.println(xleft);
  134.         Serial.println("xr=");
  135.   Serial.println(xreight);
  136. }
復制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美一区二区三区在线视频 | 精品国产精品国产偷麻豆 | 免费精品久久久久久中文字幕 | 在线看片网站 | 久久久日韩精品一区二区三区 | 久久男人| 欧美日韩国产三级 | 四虎影视一区二区 | 久久国产精品-国产精品 | 97超碰成人 | 很很干很很日 | 丝袜美腿一区二区三区 | 天天插天天舔 | 亚州av| 草比网站| 亚洲欧美日本在线 | 久久久久国产一区二区三区 | 精品一二三区视频 | 久久国产精品-国产精品 | 人人射人人| 99精品国产一区二区三区 | 日韩av成人在线观看 | 国产一区二区在线91 | 精品欧美黑人一区二区三区 | 日韩欧美国产精品一区二区三区 | 狠狠躁躁夜夜躁波多野结依 | 亚洲网站在线播放 | 2022精品国偷自产免费观看 | 国产精品一区二区av | 欧美理论在线观看 | 国产一区二区三区在线 | 国产一区二区三区精品久久久 | 亚洲一二视频 | 日韩欧美国产精品 | 观看毛片 | 亚洲精品一区中文字幕乱码 | 成人精品高清 | 午夜一级大片 | 欧美亚州 | 国产精品无码专区在线观看 | 亚洲一一在线 |