找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1720|回复: 0
打印 上一主题 下一主题
收起左侧

arduino蓝牙遥控车程序

[复制链接]
跳转到指定楼层
楼主
ID:882006 发表于 2021-8-25 21:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. //
  2. /*#include <SoftwareSerial.h>

  3. SoftwareSerial mySerial(10, 11); // RX, TX

  4. void setup() {
  5.   Serial.begin(9600);   
  6.   mySerial.begin(9600);
  7. }

  8. void loop() {
  9.   while(mySerial.available()){
  10.     Serial.write(mySerial.read());
  11.   }
  12.   while(Serial.available()) {
  13.     mySerial.write(Serial.read());
  14.   }
  15. }*/
  16. #include <SoftwareSerial.h>

  17. int m1=10;
  18. int m2=11;
  19. int m3=6;
  20. int m4=9;
  21. #define TRIG 7
  22. #define ECHO 8
  23. float cm;
  24. float tmp;
  25. float juli;
  26. int zhi;
  27. int i;
  28. int c;
  29. char BT_COM;
  30. char BT_CON;

  31. void setup()
  32. {
  33.    pinMode(m1,OUTPUT);
  34.    pinMode(m2,OUTPUT);
  35.    pinMode(m3,OUTPUT);
  36.    pinMode(m4,OUTPUT);

  37.    Serial.begin(9600);
  38. //   mySerial.begin(9600);
  39.    pinMode(TRIG,OUTPUT);//触发输入端,默认低电平,输入一个时常超过10μs的高电平脉冲即可触发模块发射一组超声波脉冲
  40.    pinMode(ECHO,INPUT);//回声输出端,默认低电平,模块发射超声波脉冲结束后,回声端就会输出高电平,直到监听到所有超声波脉冲的回声(或监听超时)后才会重新输出低电平

  41. }
  42. void distance()//定义距离
  43. {
  44.     digitalWrite(TRIG,LOW);
  45.     delayMicroseconds(2);
  46.     digitalWrite(TRIG,HIGH);
  47.     delayMicroseconds(10);
  48.     digitalWrite(TRIG,LOW);
  49.     tmp=float(pulseIn(ECHO,HIGH));
  50.     cm=(tmp*17)/1000;
  51.     Serial.print("Echo=");
  52.     Serial.print(tmp);
  53.     Serial.print(",距离=");
  54.     Serial.print(cm);
  55.     Serial.println("cm");
  56.     juli=cm;
  57. }
  58. void  pao()
  59. {
  60.     analogWrite(m1,i);
  61.     analogWrite(m2,0);
  62.     analogWrite(m3,i);
  63.     analogWrite(m4,0);
  64. }
  65. void  pao1()
  66. {
  67.     analogWrite(m1,255);
  68.     analogWrite(m2,0);
  69.     analogWrite(m3,255);
  70.     analogWrite(m4,0);
  71. }
  72. void shache()//定义刹车
  73. {
  74.     analogWrite(m1,0);
  75.     analogWrite(m2,0);
  76.     analogWrite(m3,0);
  77.     analogWrite(m4,0);
  78.    
  79. }
  80. void youzhuan()
  81. {
  82.   
  83.     analogWrite(m1,c);
  84.     analogWrite(m2,0);
  85.     analogWrite(m3,0);
  86.     analogWrite(m4,c);
  87. }
  88. void zuozhuan()
  89. {
  90.     analogWrite(m1,0);
  91.     analogWrite(m2,c);
  92.     analogWrite(m3,c);
  93.     analogWrite(m4,0);
  94. }
  95. void houtui()
  96. {
  97.     analogWrite(m1,0);
  98.     analogWrite(m2,i);
  99.     analogWrite(m3,0);
  100.     analogWrite(m4,i);
  101.   
  102. }

  103. void youxuanzhuan()
  104. {
  105.     analogWrite(m1,255);
  106.     analogWrite(m2,0);
  107.     analogWrite(m3,130);
  108.     analogWrite(m4,0);
  109. }
  110. void zuoxuanzhuan()
  111. {
  112.     analogWrite(m1,130);
  113.     analogWrite(m2,0);
  114.     analogWrite(m3,255);
  115.     analogWrite(m4,0);
  116. }
  117. void youzuozhuan()
  118. {
  119.     analogWrite(m1,0);
  120.     analogWrite(m2,130);
  121.     analogWrite(m3,0);
  122.     analogWrite(m4,255);
  123. }
  124. void youhouzhuan()
  125. {
  126.     analogWrite(m1,0);
  127.     analogWrite(m2,255);
  128.     analogWrite(m3,0);
  129.     analogWrite(m4,130);
  130. }
  131. void bizhang()
  132. {
  133.    while(1)
  134.     {
  135.      
  136.        distance();
  137.        if(juli<=60)
  138.         {
  139.           if(juli<45)
  140.           {
  141.             youzhuan();
  142.             delay(300);
  143.              distance();
  144.              if(juli<10)
  145.                {
  146.                 shache();
  147.                 houtui();
  148.                 delay(200);
  149.                 }
  150.                
  151.                
  152.           }
  153.             else
  154.             pao();   
  155.               
  156.          }
  157.          else
  158.          pao();
  159.       
  160.        }
  161.    

  162. }
  163.               
  164.      


  165. void loop()
  166.   {
  167.     while(1)
  168.    
  169.     {
  170.       
  171.       if(Serial.available())
  172.    
  173.      {
  174.         BT_COM=Serial.read();
  175.       
  176.          if(BT_COM =='0')
  177.          {
  178.           zhi=0;
  179.           i=155;
  180.           }
  181.          else
  182.          if(BT_COM =='1')
  183.          {
  184.           zhi=1;
  185.           i=175;
  186.           }
  187.          else
  188.          if(BT_COM =='2')
  189.          {
  190.           zhi=2;
  191.           i=195;
  192.           }
  193.          else
  194.         if(BT_COM =='3')
  195.          {
  196.           zhi=3;
  197.           i=225;
  198.           }
  199.         else
  200.          if(BT_COM =='4')
  201.          {
  202.           zhi=4;
  203.           i=255;
  204.          }
  205.          else
  206.          if(BT_COM =='5')
  207.          {
  208.           zhi=5;
  209.           c=155;
  210.           }
  211.            else
  212.          if(BT_COM =='6')
  213.          {
  214.           zhi=6;
  215.            c=175;
  216.           }
  217.            else
  218.          if(BT_COM =='7')
  219.          {
  220.           zhi=7;
  221.            c=195;
  222.          
  223.           }
  224.            else
  225.          if(BT_COM =='8')
  226.          {
  227.           zhi=8;
  228.            c=225;
  229.           }        
  230.             else
  231.          if(BT_COM =='9')
  232.          {
  233.           zhi=9;
  234.           c=255;
  235.           }      
  236.       Serial.print(",a=");
  237.       Serial.print( BT_COM);
  238.       Serial.print(",值=");
  239.       Serial.print(zhi);
  240.       Serial.print(",i=");
  241.       Serial.print(i);
  242.       Serial.print(",c=");
  243.       Serial.print(c);
  244.        switch(BT_COM)
  245.         {
  246.            case'a':  pao();
  247.                      break;
  248.            case'b':  houtui();
  249.                      break;
  250.            case'c':  zuozhuan();
  251.                      break;
  252.            case'd':  youzhuan();
  253.                      break;
  254.            case'f':  shache();
  255.                      break;
  256.            case'h':  bizhang();
  257.                      break;
  258.            case 'g':  zuoxuanzhuan();
  259.                       break;
  260.            case 'e':  youxuanzhuan();
  261.                       break;
  262.            case 'l':  youhouzhuan();
  263.                       break;
  264.            case 'k':  youzuozhuan();
  265.                       break;
  266.            
  267.           }
  268.                        
  269.    
  270.     }
  271.    
  272.    
  273.      
  274.     }
  275.   }

复制代码


评分

参与人数 1黑币 +20 收起 理由
admin + 20 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表