基于Arduino的麦克纳姆轮小车的制作

一、简介

Arduino是一款便捷灵活、方便上手的开源电子原型平台。它比较容易入门。但是就在我刚刚接触硬件的时候我不知道如何上手,想要自己开发出一个,经过在网上查找资料才知道Arduino对新人比较友好,比较容易上手。

二、材料的准备

小车套件

网上有很多的小车底盘售卖,都是成套的

驱动模块

驱动模块我采用的是L298N电机驱动板,

此电机驱动板有以下几个优点:

1.工作电压高,输出电流大,驱动能力强,发热量低,抗干扰能力强

2.可以将高电压转化为5V的稳定电压

3.比较经典,网上有许多介绍

通信模块

通信模块可选择蓝牙模块,也可以选择wifi模块

在这里我选择的是HC-06蓝牙模块,因为比较的容易使用,不需要配置什么,在手机上随便下载一个蓝牙调试助手连接上就可以通信了

三、制作

我使用的是两个L298N电机驱动模块 一个控制前面两个电机 另外一个控制后面两个电机

L298N使能端都默认的给5V

下面直接上代码(这个代码写的比较的繁琐,但是比较容易看懂)

char serialData; 
char value; 
int in1 = 2;
int in2 = 3;
int in3 = 4; 
int in4 = 5;
int in5 = 6;
int in6 = 7; 
int in7 = 8;
int in8 = 9;
void setup() {  
  Serial.begin(9600);  
  pinMode(in1,OUTPUT);
  pinMode(in2,OUTPUT);
  pinMode(in3,OUTPUT);
  pinMode(in4,OUTPUT);
  pinMode(in5,OUTPUT);
  pinMode(in6,OUTPUT);
  pinMode(in7,OUTPUT);
  pinMode(in8,OUTPUT);
  
}  
 
void loop(){  
 
   
 
  if( Serial.available() > 0 ){   
      
    serialData =  Serial.read();
      
    if('f' == serialData) { 
      
      Serial.print(serialData);   
      Serial.println(": 前进");
      digitalWrite(in1,HIGH);
      digitalWrite(in2,LOW);
      digitalWrite(in3,LOW);
      digitalWrite(in4,HIGH);
      digitalWrite(in5,LOW);
      digitalWrite(in6,HIGH);
      digitalWrite(in7,LOW);
      digitalWrite(in8,HIGH);
      
      
    }   
    else if('b' == serialData) {  
      Serial.print(serialData);   
      Serial.println(": 后退");
       digitalWrite(in1,LOW);
      digitalWrite(in2,HIGH);
      digitalWrite(in3,HIGH);
      digitalWrite(in4,LOW);
      digitalWrite(in5,HIGH);
      digitalWrite(in6,LOW);
      digitalWrite(in7,HIGH);
      digitalWrite(in8,LOW);
    }   
    else if( 'r' == serialData){  
      Serial.print(serialData);  
      Serial.println(": 右平移");
      digitalWrite(in1,HIGH);
      digitalWrite(in2,LOW);
      digitalWrite(in3,HIGH);
      digitalWrite(in4,LOW);
      digitalWrite(in5,LOW);
      digitalWrite(in6,HIGH);
      digitalWrite(in7,HIGH);
      digitalWrite(in8,LOW);
    }  
    else if('l' == serialData){  
      Serial.print(serialData);  
      Serial.println(": 左平移");
      digitalWrite(in1,LOW);
      digitalWrite(in2,HIGH);
      digitalWrite(in3,LOW);
      digitalWrite(in4,HIGH);
     digitalWrite(in5,HIGH);
      digitalWrite(in6,LOW);
      digitalWrite(in7,LOW);
      digitalWrite(in8,HIGH);
    }  
    else if('s' == serialData){  
      Serial.print(serialData);  
      Serial.println(": 停止");
      digitalWrite(in1,LOW);
      digitalWrite(in2,LOW);
      digitalWrite(in3,LOW);
      digitalWrite(in4,LOW);
      digitalWrite(in5,LOW);
      digitalWrite(in6,LOW);
      digitalWrite(in7,LOW);
      digitalWrite(in8,LOW);
      }
      else if('R' == serialData){  
      Serial.print(serialData);  
      Serial.println(": 原地右旋");
     digitalWrite(in1,HIGH);
      digitalWrite(in2,LOW);
      digitalWrite(in3,HIGH);
      digitalWrite(in4,LOW);
      digitalWrite(in5,HIGH);
      digitalWrite(in6,LOW);
      digitalWrite(in7,LOW);
      digitalWrite(in8,HIGH);
      }
       else if('L' == serialData){  
      Serial.print(serialData);  
      Serial.println(": 原地左旋");
     digitalWrite(in1,LOW);
      digitalWrite(in2,HIGH);
      digitalWrite(in3,LOW);
      digitalWrite(in4,HIGH);
      digitalWrite(in5,LOW);
      digitalWrite(in6,HIGH);
      digitalWrite(in7,HIGH);
      digitalWrite(in8,LOW);
      }
    else{  
       
    }  
  }  
}  

最后的效果可能根据你的接线不同会有些差异,这个只需要后期调试一下就可以了

  • 6
    点赞
  • 101
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值