其他分享
首页 > 其他分享> > Arduino改装蓝牙控制风力仿生兽

Arduino改装蓝牙控制风力仿生兽

作者:互联网

文章目录

成品展示

风力仿生兽
在这里插入图片描述
在这里插入图片描述
改造风力仿生兽展示视频

准备材料

arduino nano/UNO 1
L298N驱动 1
蓝牙模块 1
风力仿生兽 1
3D打印支架(可用其他材料代替) 1
杜邦线 若干
小黄电机 2
电源 1
胶枪 1

制作

原理

说到原理,其实就是一个变相的蓝牙控制小车

3D打印支架

stl文件
有条件的可以打印一个,没有的话可以用洞洞板之类的代替。

蓝牙配置

进入AT模式,主要是将蓝牙改为从机模式,其他根据自身实际情况设置。

接线

跟具有pwm的蓝牙小车相同,这里不过多介绍。

程序

void motor(char pin,char pin1,char pwmpin,char state,int val)
{
    pinMode(pin, OUTPUT);   
    pinMode(pwmpin,OUTPUT);
    pinMode(pin1,OUTPUT);
  if(state==1)
  { 
    analogWrite(pwmpin,val);
    digitalWrite(pin,1);
    digitalWrite(pin1,0);
   }
  else if(state==2)
 {  
   analogWrite(pwmpin,val);
   digitalWrite(pin,0);
   digitalWrite(pin1,1);
 }
 else if(state==0)
 {
    analogWrite(pwmpin,0);
    digitalWrite(pin,0);
    digitalWrite(pin1,0);
 }
}
 
void runfoward(int i)
{
  motor(4,12,5,2,i);//左电机一段接4口 一端接12口 5为pwm口 state为2 正转 为1反转
  motor(7,13,6,2,i);
}
void runback(int j)
{
   motor(4,12,5,1,j);
   motor(7,13,6,1,j); 
}
void turnL(int m)
{
  motor(4,12,5,1,m);
  motor(7,13,6,2,m);
}
void turnR(int n)
{
  motor(4,12,5,2,n);
  motor(7,13,6,1,n);
}
void stop()
{
  motor(4,12,5,0,0);
  motor(7,13,6,0,0); 
}
void setup()
{
  Serial.begin(9600);

}
void loop()
{
   while (Serial.available() > 0) {
    char inChar = Serial.read();
//    inChar=inChar-0x30;
     if(inChar == 'A')  //foward
      {
       runfoward(250);
       delay(100);
       stop();
      }
     else if(inChar == 'E')  //back
      {
       runback(250);
       delay(100);
       stop();
      }
    else if(inChar == 'G')  //L
      {
       turnL(250);
       delay(100);
       stop();
      } 
     else if(inChar == 'C')  //R
      {
       turnR(250);
       delay(100);
       stop();
      } 
      else if(inChar == 0)
      {
        stop();
      } 
//     inChar=0; 
}
}

标签:仿生,Arduino,digitalWrite,void,inChar,蓝牙,stop,motor
来源: https://blog.csdn.net/qq_42860728/article/details/88177047