找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1592|回复: 0
收起左侧

arduino蓝牙智能车

[复制链接]
ID:646658 发表于 2019-11-22 14:53 | 显示全部楼层 |阅读模式
const int L298pin1=2;   // 模块控制信号
const int L298pin2=3;
const int L298pin3=4;
const int L298pin4=7;
const int L298A=5;      //模块的速度控制
const int L298B=6;
unsigned char pwma=80;   //  pwm 值
unsigned char pwmb=90;
bool kaiqi=false;   //  主要使用开启和关闭键

void setup()
{
      pinMode(L298pin1,OUTPUT);pinMode(L298pin2,OUTPUT);pinMode(L298pin3,OUTPUT);
      pinMode(L298pin4,OUTPUT);pinMode(L298A,OUTPUT);pinMode(L298B,OUTPUT);

     Serial.begin(9600);
}

void loop()
{
         String zhi=chuankou();   //  读取串口的值
         if(zhi[0]=='K') kaiqi=true;  //  开启
   while(kaiqi)
     {
         String zhi=chuankou();   //  读取串口的值
         if(zhi[0]=='Z') kaiqi=false;  //  关闭
         if(zhi[0]=='W') qianjin();   // 前进
         if(zhi[0]=='S') houtui();    // 后退
         if(zhi[0]=='A') zuozhuan();  // 左转
         if(zhi[0]=='D') youzhuan();  // 右转
         if(zhi[0]=='T') tingzhi();   // 停止
    }

}

void qianjin()    // 小车前进
{
     digitalWrite(L298pin1,HIGH);
     digitalWrite(L298pin2,LOW);
     digitalWrite(L298pin3,HIGH);
     digitalWrite(L298pin4,LOW);
     analogWrite(L298A,pwma);
     analogWrite(L298B,pwmb);
}
void houtui()   //小车后退
{
     digitalWrite(L298pin1,LOW);
     digitalWrite(L298pin2,HIGH);
     digitalWrite(L298pin3,LOW);
     digitalWrite(L298pin4,HIGH);
     analogWrite(L298A,pwma);
     analogWrite(L298B,pwmb);
}
void zuozhuan()    //  小车左转
{
     digitalWrite(L298pin1,LOW);
     digitalWrite(L298pin2,HIGH);
     digitalWrite(L298pin3,HIGH);
     digitalWrite(L298pin4,LOW);
     analogWrite(L298A,pwma);
     analogWrite(L298B,pwmb);
}
void youzhuan()    //  小车右转
{
     digitalWrite(L298pin1,HIGH);
     digitalWrite(L298pin2,LOW);
     digitalWrite(L298pin3,LOW);
     digitalWrite(L298pin4,HIGH);
     analogWrite(L298A,pwma);
     analogWrite(L298B,pwmb);
}
void tingzhi()    //  小车停止   暂停
{
     digitalWrite(L298pin1,LOW);
     digitalWrite(L298pin2,LOW);
     digitalWrite(L298pin3,LOW);
     digitalWrite(L298pin4,LOW);
     analogWrite(L298A,pwma);
     analogWrite(L298B,pwmb);
}
String chuankou()   //  串口通信
{
     String zhi = "";    //  定义空字符串
     while (Serial.available())
        {
               zhi += char(Serial.read());
               delay(2);
        }
      return zhi;      //  返回这个串口的值
}

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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