基于Arduino UNO的小车——基本操作


材料:小车套件、Arduino UNO板子、面包板及连接线、L298N电机驱动模块、电池盒、电池


一、智能小车套件拼装

关于小车套件拼装建议大家在做小车之前先考虑好需要哪些功能模块,为了方便在制作小车的过程中可以方便将所需模块固定在已有的小车套件孔位上。(哭唧唧,我就是稀里糊涂买来了一堆零件,然后在组装的时候发现根本没有一个合适的孔位来固定我的模块,只能是用万能的胶水来达到目的啦,毕竟这个亚克力板稍微一用力就碎掉了

而关于小车套件的拼装,在某宝购买时会有相关的操作步骤,如果不清晰就按照他的模型照猫画虎好啦,这个不会有太大影响,组装过程中小心别弄混了小车电机的方向就好啦。

二、UNO板子、驱动模块、电机的连线

下图所示就是用到的Arduino UNO板子以及L298N驱动模块 

基于Arduino UNO的小车——基本操作_第1张图片

基于Arduino UNO的小车——基本操作_第2张图片 

我们这里用到的这个L298N驱动模块,用在控制小车电机的驱动和通过单片机PWM来控制电压输入脚已达到控制小车速度的目的。图中标明了每个引脚的功能,在我的小车中输出A对应小车左前后轮两个电机,输出B对应小车右前后轮两个电机,即将小车电机的正负极分别于输出A和B的OUT1、2和OUT3、4进行连接;对应12V供电,我采用了八节1.5V电池供电;GND即接地与UNO板子的GND通过面包板相连接;5V输出可用作UNO板子的供电电源,但是在测试时电压并没有达到5V的输出电压以至于不能供给UNO板子足够的电压,所以我没有采用这个口,而是用9V电池对UNO板子进行了单独的供电;而对应于四个逻辑输入分为IN1~IN4,对应的输入和状态如表格所示,而这四个逻辑输入和UNO板子的2~13中任意四个口连接均可。我们这里小车的转向采用差速,即小车左右的电机转向相反来达到转弯的目的。

ENA/ENB IN1/IN3 IN2/IN4 电机状态
0 X X 停止
1 0 0 停止
1 0 1 正转
1 1 0 反转

三、测试代码

#include 

int leftMotor1 = 2; //定义电机的输入引脚分别为2、3、4、9
int leftMotor2 = 3;
int rightMotor1 = 4;
int rightMotor2 = 9;

void setup() {
  // put your setup code here, to run once:
  pinMode(leftMotor1, OUTPUT);//定义电机的输入引脚分别为输出模式
  pinMode(leftMotor2, OUTPUT);
  pinMode(rightMotor1, OUTPUT);
  pinMode(rightMotor2, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
      digitalWrite(leftMotor1, LOW);//定义电机的输入引脚高低电平,可以更改此处来测试小车的运转
      digitalWrite(leftMotor2, HIGH);
      digitalWrite(rightMotor1, LOW);
      digitalWrite(rightMotor2, HIGH);
}

嘿嘿嘿,初次写文章,还借鉴了许多大佬的学习心得,主要是为了记录自己的学习历程,如有抄袭,请联系速删哦~

你可能感兴趣的:(Arduino)