找回密码
 立即注册

QQ登录

只需一步,快速开始

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

蓝牙小车源代码

[复制链接]
跳转到指定楼层
楼主
ID:117095 发表于 2016-4-27 16:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
教程http://www.51hei.com/bbs/dpj-44598-1.html

void motor(char pin,char pwmpin,char state,int val) {     pinMode(pin, OUTPUT);        
                 if(state==1)   {       analogWrite(pwmpin,val);     digitalWrite(pin,1);    }   
                 else if(state==2)  {      analogWrite(pwmpin,val);    digitalWrite(pin,0);  }  
                 else if(state==0)  {     analogWrite(pwmpin,0);     digitalWrite(pin,0);  } }   
                 void runfoward(int i) {   motor(4,5,1,i);   motor(7,6,1,i); }
                 void runback(int j) {    motor(4,5,2,j);    motor(7,6,2,j);  }
                 void turnL(int m) {   motor(4,5,1,m);   motor(7,6,2,m); }
                 void turnR(int n) {   motor(4,5,2,n);   motor(7,6,1,n); }
                 void stop() {   motor(4,5,0,0);   motor(7,6,1,0);  }
                 void setup() {   Serial.begin(9600); }
                 void loop() {    while (Serial.available() > 0)
                 {     int inChar = Serial.read();     inChar=inChar-0x30;      
                 if(inChar == 1)  //foward      
                 {         runfoward(250);        delay(300);        stop();       }
                       else if(inChar == 2)  //back      
                 {        runback(250);        delay(300);        stop();       }
                      else if(inChar == 3)  //R      
                          {        turnR(250);        delay(300);        stop();       }      
                          else if(inChar == 4)  //L      
                          {        turnL(250);        delay(300);        stop();       }        
                          else      {         stop();       }       inChar=0;  } }


{
    pinMode(pin, OUTPUT);   

  if(state==1)
  {   
    analogWrite(pwmpin,val);
    digitalWrite(pin,1);
   }
  else if(state==2)
{   
   analogWrite(pwmpin,val);
   digitalWrite(pin,0);
}
else if(state==0)
{
    analogWrite(pwmpin,0);
    digitalWrite(pin,0);
}
}

void runfoward(int i)
{
  motor(4,5,1,i);
  motor(7,6,1,i);
}
void runback(int j)
{
   motor(4,5,2,j);
   motor(7,6,2,j);  
}
void turnL(int m)
{
  motor(4,5,1,m);
  motor(7,6,2,m);
}
void turnR(int n)
{
  motor(4,5,2,n);
  motor(7,6,1,n);
}
void stop()
{
  motor(4,5,0,0);
  motor(7,6,1,0);  
}
void setup()
{
  Serial.begin(9600);
}
void loop()
{
   while (Serial.available() > 0) {
    int inChar = Serial.read();
    inChar=inChar-0x30;
     if(inChar == 1)  //foward
      {
        runfoward(250);
       delay(300);
       stop();
      }
     else if(inChar == 2)  //back
      {
       runback(250);
       delay(300);
       stop();
      }
    else if(inChar == 3)  //R
      {
       turnR(250);
       delay(300);
       stop();
      }  
     else if(inChar == 4)  //L
      {
       turnL(250);
       delay(300);
       stop();
      }  
      else
      {
        stop();
      }  
     inChar=0;  
}
}

评分

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

查看全部评分

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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