树莓派二驱动智能小车组装
复现up主:杨坤树莓派爱好者基地的https://www.bilibili.com/video/BV1pW411J7WG?vd_source=7f1982c56a437c7b00c3695687b7086d 树莓派小车,稍微调整了一下连接的方式,做成后发现跟自己最终要实现的目标效果有很大的偏差,所以打算升级车型,但是这个形状的小车的已经做出来了,不记录一下有些舍不得,特做次记录。
小车的其他零件
除了树莓派以外,还需要准备:
二轮智能小车底盘套件 ,价格约26.67元 组装的视频一般卖家会给你
L298N电机控制器,价格约为4.90元
10跟杜邦线,约为3元 其中公对母四根,公对公6根
扩展套件组(40P的彩虹排线、T型号卡座和面包板),约为14元 (可优化)
其实买面包板的初衷是想给树莓派安装更多的传感器,实现更复杂的功能,但是二驱动小车的空间太有限,本教程可不用买面包板,直接连接到树莓派上
四节南孚电池(并联6V),约为10元
小型充电宝,约为20 (可换成树莓派的小型独立电源)
树莓派配置
树莓派烧录系统
树莓派烧录系统的教程很多,这里安利一下我自己烧录系统的过程:https://www.cnblogs.com/ambitionx/p/17612744.html
树莓派安装c++开发环境WiringPi库并配置
树莓派配置清华源和WiringPi的过程: https://www.cnblogs.com/ambitionx/p/17636120.html
注意:
如果出现上面的现象时候可能是-lwiringPi没有加上,请仔细确认。
在安装WiringPi的时候会获得GPIO引脚关系表:
组件简单介绍
L298N电机控制器
L298N电机控制器原理:把得到的低电流信号转化为高电流信号输出,便于驱动电机的运转
为什么树莓派不能直接连接电机?
原因:1.电机多的话,树莓派供电不足 2.可能会损坏树莓派开发板
面包板介绍(可省)
推荐看教程: http://t.csdn.cn/XFNav
-
每一行的abcde是连在一起的,fghij是连在一起的
-
T型卡座连接面包板,一般插入的是c和g 或者 d和h
树莓派小车的组成
马达和电机控制器连接
这里我马达的连接方式是黑色高芯片在靠近转向轮子的时候,红在外、黑在内
注意:上面的红、黑是我当时随手拿的,没有什么区分意义,用两根同色的或者其他颜色的都行,因为马达是没有给±的,核心是通过调节L298N连接的顺序。
例如:在按照商家给的安装方式安装马达的时候,我的两个马达线是向内,而up主杨坤树莓派爱好者基地的两个马达的马达线都是同向向左的,但是连接的道理是一样的,只需调节L298N的连接顺序。
同时,大家仔细观察,我右边的马达电线与左边的比是反了的(把两者同向看),此时你只需要更改一下连接到L298N的方式,将黑线在外,红线在内,最终运行的效果便与左边一样了。
开关、电源和电机控制器连接
电源的黑色线直接连接L298N的GND,红色线则连接到开关⚪所对应的铜片,在利用公对公的杜邦线,从开关的- 对应的铜片连接到L298N +12v的地方。(如果所接的电池是5V的则连接+5v的地方)
树莓派和电机控制器连接
L298N的N1连接gpio0、N2连接gpio2、N3连接gpio3、N4连接gpio4
这里就要对照前面获取的GPIO表了,通过查表可以得知,连接树莓派GPIO引脚的 11 13 15 16
同时再从GND引入一根线连接到树莓派的引脚6
小车拼接完成的效果
测试小车运动
#include <stdio.h>
#include <wiringPi.h>
int main()
{
// 初始化引脚
wiringPiSetup();
// 定义要用到的引脚 GPIO0 GPIO2(左电机) GPIO3 GPIO4(右电机)
pinMode(0,OUTPUT);
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
// 循环对引脚写入电信号
for(int i = 0; i < 1; i++)
{
digitalWrite(0, HIGH); // 写入高电平
digitalWrite(2, LOW); // 写入低电平
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
delay(40000); // 休眠4s
}
return 0;
}
效果是:两个小车的轮子向前运动,如果出现有轮子向后移动更换L298N与马达连线的顺序。