圆曾经的小车梦,造一台智能小车(一)

简介: 圆曾经的小车梦,造一台智能小车(一)

1、智能小车项目基本规划

智能小车我们再熟悉不过了,读大学期间,部分优秀且动手能力强的小伙伴参加过各种省级、国家级的竞赛,拿到了不少奖,也算是没有给自己的大学留下遗憾。


最近在不少嵌入式相关的群里(我在里面)以及我本人微信公众号后台看到有人问:杨工,智能小车怎么造?需要哪些材料?圆曾经的小车梦吧!二话不说,杨工立马淘宝走起,采购了一批材料,开始把自己曾经造小车的路再走一遍,其一,这可以作为一个开源项目,大家一起来做,提高自己的动手组装硬件小车的能力,提高自己写代码完成项目的能力,其二,增加自己的项目经验,以后出去找工作也有话题和面试官谈。


本期小车规划内容大致如下:


  • 1、购买套件,基础小车驱动硬件配置
  • 2、红外遥控控制小车基础demo实现
  • 3、wifi控制小车基础demo实现
  • 4、基于2、3点添加拓展模块增强小车功能(比如wifi图传小车,循迹小车,避障小车等等)
  • 5、增加多硬件平台开发经验(不限于51、stm32,还会上stm8、arduino,华大MCU,TK499,imx6ul,imx287a,tiny4412等等)
  • 6、增加跨平台开发经验(我们不仅仅只会单片机编程,我们还要根据这个项目进行拓展,学习Android app编程,QT软件编程,嵌入式Linux编程等等)


大概的内容就是以上这些,会不定期更新,同时也会听取大家的意见,随时进行项目变动,比如今天开源群就有一个小伙伴提了一个需求,能不能把群主分享的各种开源组件在这个小车上用起来呢?

640.png

640.png

没问题,安排!杨工本人做事风格就是这么直接,说做就做,从不放弃也不马虎应付,对于本职工作也是一样,只要是我的东西,着急那就是拼了自己的休息时间回家也得加加班干到凌晨也得干好,这是我个人做事的态度。

2、智能小车套件组装及测试

2.1、智能小车基本框架部分:

小车底盘(一般都会带4个电机,但需要自己组装)

640.jpg

以上是我自己上淘宝买的散装套件,人民币28元。

640.png

https://v.youku.com/v_show/id_XNDEzOTUwMjM3Ng==.html?spm=a2h3j.8428770.3416059.1

4WD小车底盘的安装可以看看上面这个链接的视频,基本上都大同小异,看完跟着实操就对了!


电机驱动模块 我选择的是L298N,一共2个,花了人民币9.2元。

640.png

如图所示,输出A可以接一个电机,输出B也可以接一个电机,所以一个模块可以带两个电机,两个模块可以带四个电机,这样只要给12V端口供电,把GND连接好,当逻辑输入4个引脚只要有管脚电平为1时,电机就可以转动了!如果有共同的电压点,可以用杜邦线串联起来,第一个模块的12V接第二个模块的12V,第一个模块的GND接第二个模块的GND,第一个模块的5V接第二个模块的5V,然后供电单独再引两组线出来,(12V GND)==>接电源,通常是18650的电池三节就够了,(5V GND)==>接单片机开发板,最终效果图如下,这里我将左前轮和右前轮电机接在了最下面的L298N模块,将左后轮和右后轮接在了最上面的L298N模块。

640.jpg

如果觉得杜邦线抵挡不了强大的驱动电流,可以考虑换粗一点的线。

640.png

640.png

640.png

电池供电部分最终效果

640.jpg

2.2、智能小车增加测试的STC单片机开发板(当然你可以选其它的)

测试仅仅只是让单片机IO输出电平,测试电机正反转,以方便我们后面在程序上设计接口,控制小车移动,最终安装效果图如下:

640.jpg

编写一个最简单的51单片机控制程序:

#include <reg52.h>
//L298N模块1连接
sbit Module1_IN1 = P2 ^ 7 ;
sbit Module1_IN2 = P2 ^ 6 ;
sbit Module1_IN3 = P2 ^ 5 ;
sbit Module1_IN4 = P2 ^ 4 ;
//L298N模块2连接
sbit Module2_IN1 = P2 ^ 3 ;
sbit Module2_IN2 = P2 ^ 2 ;
sbit Module2_IN3 = P2 ^ 1 ;
sbit Module2_IN4 = P2 ^ 0 ;
/*
1000 ===> 左前轮后转
0100 ===> 左前轮前转
0010 ===> 右前轮前转
0001 ===> 右前轮后转
1000 ===> 左后轮前转
0100 ===> 左后轮后转
0010 ===> 右后轮后转
0001 ===> 右后轮前转
//四轮同时向前转
0110 1001   0x69
//四轮同时向后转
1001 0110   0x96
*/
//****************************************************
//主函数
//****************************************************
void main()
{
    while(1)
    {
        //四轮同时向前转
        P2 = 0x69 ;
        Delay_ms(2000);
        //四轮停止
        P2 = 0x00 ;
        Delay_ms(2000);
        //四轮同时向后转
        P2 = 0x96 ;
        Delay_ms(2000);
        //四轮停止
        P2 = 0x00 ;
        Delay_ms(2000);
    }
}
//****************************************************
//MS延时函数(12M晶振下测试)
//****************************************************
void Delay_ms(unsigned int n)
{
    unsigned int  i, j;
    for(i = 0; i < n; i++)
        for(j = 0; j < 123; j++);
}

最终效果:


为了满足我项目最基本的要求,我选购了两个stm32f103zet6核心板,一个用在小车上,一个备用调试。

640.png

当然还有其它的一些小模块,在后台回复小车即可获取杨工本人购买套件的淘宝链接,最后祝各位DIY小车成功,如果有兴趣DIY小车买回来有任何不明白的地方欢迎与我交流,谢谢大家!

往期精彩

MCU串口命令解析器的实现


Neil的MCU软件框架经验分享


嵌入式云IOT技术圈公众号精选文章专题汇总

目录
相关文章
|
10月前
|
存储
飞机大战-飞机爆炸(8)
编写飞机大战,完成飞机爆炸功能。
26 0
Threejs实现模拟河流,水面水流,水管水流,海面
Threejs实现模拟河流,水面水流,水管水流,海面
1776 0
Threejs实现模拟河流,水面水流,水管水流,海面
|
4天前
|
图形学
【unity小技巧】实现FPS射击游戏枪武器随镜头手臂摇摆效果
【unity小技巧】实现FPS射击游戏枪武器随镜头手臂摇摆效果
4 0
|
10月前
|
Go Android开发
圆曾经的小车梦,造一台智能小车(三)之小车前进后退左右转基本框架
圆曾经的小车梦,造一台智能小车(三)之小车前进后退左右转基本框架
257 0
|
2月前
|
人工智能 测试技术
弹簧板问题~
弹簧板问题~
180 0
|
10月前
|
传感器 IDE 开发工具
圆曾经的小车梦,造一台智能小车(二)
圆曾经的小车梦,造一台智能小车(二)
97 1
|
10月前
|
C语言
圆曾经的小车梦,造一台智能小车(四)之QT上位机控制小车
圆曾经的小车梦,造一台智能小车(四)之QT上位机控制小车
188 0
基于STM32F1-C8T6无人机(二)——舵机/电调/空心杯电机/飞控/机架/subs接收机/充电器和电池(给出链接和思考)
基于STM32F1-C8T6无人机(二)——舵机/电调/空心杯电机/飞控/机架/subs接收机/充电器和电池(给出链接和思考)
269 0
基于STM32F1-C8T6无人机(二)——舵机/电调/空心杯电机/飞控/机架/subs接收机/充电器和电池(给出链接和思考)
|
存储 传感器 编解码
红外热成像仪 -红眼睛相机
现在自己在做红外成像仪的越来越多了,两年前有个井下机电设备运行状态的科研项目,当时使用了 AMG8833(8*8 像素),科研毕竟就是科研,后来也没有听说成果得到应用的消息, 我想也是, 8*8 能干什么,也就能做个红外测温枪吧。 前段时间因为公司生产电路板测试需要,打算买一台红外成像仪测量电路板发热是否正常,商用的价格还是有些小贵的,我们电路板都不大所以就找了一台便宜的先用着,无意中发现了 MLX90640 这个东西, 32*24像素, 768 个测温点,基本上可以成像用了。
红外热成像仪  -红眼睛相机