说在前面:大四第一学期没课,决定做一个智能小车。从最初的一无所有,到小车可实现远程控制,虽然在这期间遇到了不少问题,但同时也让我学到了许多新知识。当然,小车的完成并非是我一个人的力量,各位大佬的教程给了我很大的帮助,在此表示感谢。在文末我会给出我所参考过的教程链接。
一、所需材料:
必需
- 树莓派(我的是4 B,其它代的也行)
- 小车车轮、电机、底盘。(*宝大概20块左右)
- L298N(电机驱动模块。*宝10块左右)
- 杜邦线若干(建议买长一点的,公公和公母都买一些)
- 18650充电锂电池。(至少4节,*宝40左右)
- 降压模块,5 A。(树莓派4 B的最大电流要求为3 A,我用充电宝输出的2.1 A给树莓派供电,树莓派开不了机。建议买那种不带示数的,便宜,不过就需要你有一个万用表了。)
可需
- 开关2个。(个人建议,开关会让你方便很多。*宝一个1块,包邮。)
- 电线。(杜邦线也可以给树莓派供电,不过我看有人用杜邦线给树莓派供电,树莓派运行不是很稳定。为了树莓派安全,建议用较粗的线给树莓派供电,*宝2 M 5块 包邮)
- 万用表。(建议买一个,因为它的用处真的很大。*宝15左右,挺准的。)
- 电烙铁。(不太贵,接头用锡焊一下不容易掉。)
- 树莓派摄像头。(可以让小车变成一个移动监控。)
- 超声波模块。(可实现避障功能,让小车更加智能。*宝10块左右)
- 舵机一个。(可以让小车实现自动避障)
- 470欧和300欧的电阻各一个。(用于超声波模块返回脉冲信号的分压。树莓派的GPIO口最大输入电压为3.3 V,超声波发送给树莓派的脉冲电压为5 V,为防止树莓派被烧,所以需要分压。)
- 面包板一个。(串联电阻用)
之前还没做小车的时候,觉得挺简单的,需要的东西也不多,当真的做起来时,发现自己啥也没有。想和做确实不一样啊 ^ ^!
嗯~看看我的车啥样
俯视
侧视
二、接线
接线部分比较简单,我简要说一下我的接线方式,供大家参考。
1.树莓派供电
我看别人有用充电宝给树莓派供电的,不过我用充电宝2.1 A输出给树莓派供电,树莓派的黄灯一直闪。
我的供电方式:
如果你的小车上还要搭载别的传感器,你可以直接从降压模块的输出端给其供电。
2.电机供电
三、代码
- 小车控制界面
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>帅气的树莓派小车控制页面</title>
<link href="http://cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" media="screen">
<script src="http://code.jquery.com/jquery.js"></script>
<style type="text/css">
#front {
margin-left: 55px;
margin-bottom: 3px;
}
#rear {
margin-top: 3px;
margin-left: 55px;
}
.btn{
background: #62559f;
}
/*嵌入视频页面大小*/
#stream {
width:360px;
height:300px;
margin-top:5px;
}
/*嵌入超声波测距页面大小*/
#distance{
width:200px;
height:50px;
</style>
<script> //鼠标事件脚本。
function mouseDown(obj)
{
$.post("/cmd",obj.id,function(data,status){
});
}
function mouseUp(obj)
{
$.post(<