亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版

標題: 巡線小車 三路傳感器單片機源碼 [打印本頁]

作者: 動物園園長    時間: 2018-4-8 12:27
標題: 巡線小車 三路傳感器單片機源碼
單片機源程序如下:
  1. int you=18;
  2. int zuo=14;
  3. int zhong=16;
  4. void setup()
  5. {
  6.   pinMode( you, INPUT);//youbian
  7.   pinMode( zhong, INPUT);//zhognjian
  8.   pinMode( zuo, INPUT);//zuobian  
  9.   pinMode( 10, OUTPUT);
  10.   pinMode( 6, OUTPUT);
  11.   pinMode( 5, OUTPUT);
  12.   pinMode( 9, OUTPUT);
  13. }

  14.          void loop()
  15.           {
  16.             tracing();
  17.           }

  18. void tracing()
  19. {
  20.     if (( !( digitalRead(zhong) ) && ( digitalRead(zuo) && digitalRead(you) ) ))
  21.     {go2();}
  22.     if (( digitalRead(zhong) && ( digitalRead(zuo) && digitalRead(you) ) ))
  23.     {go6();}
  24.     if (( !( digitalRead(zhong) ) && ( !( digitalRead(zuo) ) && !( digitalRead(you) ) ) ))
  25.     {go3();}
  26.     if (( digitalRead(zhong) && ( digitalRead(you) && !( digitalRead(zuo) ) ) ))
  27.     {left();}
  28.     if (( !( digitalRead(zhong) ) && ( !( digitalRead(zuo) ) && digitalRead(you) ) ))
  29.     {left2();}
  30.     if (( digitalRead(zhong) && ( digitalRead(zuo) && !( digitalRead(you) ) ) ))
  31.     {right();}   
  32.     if (( !( digitalRead(zhong) ) && ( digitalRead(zuo) && !( digitalRead(you) ) ) ))
  33.     {right2();}
  34. }

  35. void left()
  36. {
  37. int num2;
  38.    while(1){
  39.     num2=digitalRead(zhong);         //循環判斷youbian傳感器度數,
  40.     if(num2==1)
  41.     {  turnL();                    //如果num2==0說
  42.      delay(2);}
  43.      else
  44.      break;                      //檢測到num2==0說明轉過頭了,跳出循環,檢測三個傳感器的狀態再做出相應動作
  45.    }   
  46. }
  47. void turnL()
  48. {
  49.     analogWrite(5 , 150);
  50.     analogWrite(6 , 0);
  51.     analogWrite(9 , 0);
  52.     analogWrite(10 , 150);
  53. }
  54. void left2()
  55. {
  56.   int num2;
  57.    while(1){
  58.     num2=digitalRead(zuo);         //循環判斷youbian傳感器度數,
  59.     if(num2==0)
  60.     {  turnL2();                    //如果num2==0說
  61.      delay(2);}
  62.      else
  63.      break;                      //檢測到num2==0說明轉過頭了,跳出循環,檢測三個傳感器的狀態再做出相應動作
  64.    }
  65. }

  66. void turnL2()
  67. {
  68.     analogWrite(5 , 255);
  69.     analogWrite(6 , 0);
  70.     analogWrite(9 , 0);
  71.     analogWrite(10 , 255);
  72. }
  73. void right()
  74. {
  75.    int num2;
  76.    while(1){
  77.     num2=digitalRead(zhong);         //循環判斷youbian傳感器度數,
  78.     if(num2==1)
  79.     {  turnR2();                    //如果num2==0說
  80.      delay(2);}
  81.      else
  82.      break;                      //檢測到num2==0說明轉過頭了,跳出循環,檢測三個傳感器的狀態再做出相應動作
  83.    }   
  84. }
  85. void turnR2()
  86. {
  87.     analogWrite(5 , 0);
  88.     analogWrite(6 , 150);
  89.     analogWrite(9 , 150);
  90.     analogWrite(10 , 0);
  91. }

  92. void right2()
  93. {  int num2;
  94.    while(1){
  95.     num2=digitalRead(you);         //循環判斷youbian傳感器度數,
  96.     if(num2==0)
  97.     {  turnR();                    //如果num2==0說
  98.      delay(2);}
  99.      else
  100.      break;                      //檢測到num2==0說明轉過頭了,跳出循環,檢測三個傳感器的狀態再做出相應動作
  101.    }   
  102. }
  103. void turnR()
  104. {
  105.     analogWrite(5 , 255);
  106.     analogWrite(6 , 0);
  107.     analogWrite(9 , 255);
  108.     analogWrite(10 , 0);
  109. }

  110. void go2()
  111. {
  112.     analogWrite(5 , 255);
  113.     analogWrite(6 , 0);
  114.     analogWrite(9 , 255);
  115.     analogWrite(10 , 0);
  116. }

  117. void go3()
  118. {
  119.     analogWrite(5 , 255);
  120.     analogWrite(6 , 0);
  121.     analogWrite(9 , 255);
  122.     analogWrite(10 , 0);
  123. }

  124. void go6()
  125. {
  126.     analogWrite(5 , 240);
  127.     analogWrite(6 , 10);
  128.     analogWrite(9 , 250);
  129.     analogWrite(10 , 10);
  130. }


復制代碼


作者: 遇見獨角馬    時間: 2018-7-10 17:55
謝謝分享




歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1