基于arduino的遥控小车(含有蓝牙遥控、红外遥控、有线手柄遥控、无线手柄遥控、无线收发遥控)

遥控小车是每个人童年的最爱,不仅好奇它的奇妙,更是喜欢它带来的刺激。小编为大家带来几篇博客,来给大家讲讲制作遥控小车的程序。

看大标题可知我们一共有五个方法去制作一款带有遥控功能的小车,小编分开来给大家讲解。

本文为基于arduino的手机蓝牙遥控小车


基于arduino的手机蓝牙遥控小车

基于arduino的红外遥控小车

基于arduino的无线NRF24L01遥控小车

基于ardunio的无线手柄遥控小车

基于ardunio的有线手柄遥控小车

int receive;

void rev(void);
void setup()
{
  Serial.begin(9600); //串口波特率115200(PC端使用)
  pinMode (leftA_PIN, OUTPUT); //设置引脚为输出引脚
  pinMode (leftB_PIN, OUTPUT); //设置引脚为输出引脚
  pinMode (righA_PIN, OUTPUT); //设置引脚为输出引脚
  pinMode (righB_PIN, OUTPUT); //设置引脚为输出引脚
}
void loop()
{
   rev();
}

void rev(void)
{
          receive=Serial.parseInt();
       if(receive==0)     {forward( )         ;delay(1000);_stop();}//前进
  else if(receive==6)     {back( )            ;delay(1000);_stop();}//后退
  else if(receive==1)     {_stop()            ;delay(1000);_stop();}//停车
  else if(receive==3)     {turnLeftforword( ) ;delay(1000);_stop();}//左前
  else if(receive==2)     {turnRightforword( );delay(1000);_stop();}//右前
  else if(receive==5)     {turnLeftback( )    ;delay(1000);_stop();}//左后
  else if(receive==4)     {turnRightback( )   ;delay(1000);_stop();}//右后
}
/**************************************************
forward子函数——前进子函数
函数功能:控制车前进
**************************************************/
void forward( )
{
  analogWrite(leftA_PIN,120);      
  analogWrite(leftB_PIN,0);         //左轮前进
  analogWrite(righA_PIN,120);      
  analogWrite(righB_PIN,0);         //右轮前进
}
/**************************************************
back子函数——后退子函数
函数功能:控制车后退
**************************************************/
void back( )
{
  analogWrite(leftA_PIN,0);      
  analogWrite(leftB_PIN,120);        //左轮后退
  analogWrite(righA_PIN,0);      
  analogWrite(righB_PIN,120);        //右轮后退
}

/**************************************************
turnRightforword子函数——原地右转子函数
函数功能:控制车右前
**************************************************/
void turnRightforword( )
{
  analogWrite(leftA_PIN,200);      
  analogWrite(leftB_PIN,0);        //左轮前进
  analogWrite(righA_PIN,120);      
  analogWrite(righB_PIN,0);       //右轮前进
}
/**************************************************
turnLeftforword子函数——原地右转子函数
函数功能:控制车左前
**************************************************/
void turnLeftforword( )
{
  analogWrite(leftA_PIN,120);      
  analogWrite(leftB_PIN,0);        //左轮前进
  analogWrite(righA_PIN,200);      
  analogWrite(righB_PIN,0);       //右轮前进
}
/**************************************************
turnRightforword子函数——原地右转子函数
函数功能:控制车右后
**************************************************/
void turnRightback( )
{
  analogWrite(leftA_PIN,0);      
  analogWrite(leftB_PIN,200);        //左轮前进
  analogWrite(righA_PIN,0);      
  analogWrite(righB_PIN,120);       //右轮前进
}
/**************************************************
turnLeftforword子函数——原地右转子函数
函数功能:控制车左后
**************************************************/
void turnLeftback( )
{
  analogWrite(leftA_PIN,0);      
  analogWrite(leftB_PIN,120);        //左轮前进
  analogWrite(righA_PIN,0);      
  analogWrite(righB_PIN,200);       //右轮前进
}
/**************************************************
stop子函数—停止子函数
函数功能:控制车停止
**************************************************/
void _stop()
{
  analogWrite(leftA_PIN,0);      
  analogWrite(leftB_PIN,0);         //左轮静止不动
  analogWrite(righA_PIN,0);      
  analogWrite(righB_PIN,0);         //右轮静止不动
}

细节待更

猜你喜欢

转载自blog.csdn.net/qq_38351824/article/details/81734724
今日推荐