前言

流动的艺术,学会学习,快速成长

光说不练假把式,项目驱动学习,直接上车,出发!

结合个人兴趣,在评估了一下自己目前的水平之后,我选了智能小车的项目。

一、设计方案

小车总体的设计方案如下:

STM32智能多功能小车1.0总结

方案整体逻辑清晰,功能还算丰富,用到了一些基本的常用的stm32功通信技术能。 作为上手项目,比较合适。

二、项目目的

  1. 练手,熟悉一下嵌入式开发的流程;
  2. 以项目为驱动,对于目前掌握的嵌入式开发知手机淘宝识进行一下梳理;
  3. 为下一阶段深入做准备。

三、项目原理图

小车的硬件配置都是一些资源丰富、常用的、淘宝上可以买到的配件。一句话适合练手的。

此项目重点关注软件部分,以原理图手机管家为硬件部分的成果而直接开始后续测试抑郁症的20道题流程,硬件设计考虑暂不展开。(硬件设计这测试抑郁程度的问卷部分考虑在有了更多经验后再进行深入与拓展)

STM32智能多功能小车1.0总结

四、小车组装

组装部分,按部就班,没有碰到什么问题,很快完成。

STM32智能多功能小车1.0总结

五、系统软件

STM32智能多功能小车1.0总结

主控采用STM32F103c8t6最小系统板。

1. 点灯

常规操作,从点灯开始,查看原理approach图,查芯片手册,修改配置,调试,重复至android是什么手机牌子通信达过为止。 每个模块都是相同的套路相同,要不断重复这个过程,不断点灯,所以才叫点灯工程师,懂了。

2. 电机驱动 + 电机手机淘宝

采用TB6612FNG电机驱动模块。 主控芯片通approve过IO口,连接TB6612模块的AIN通信1、AIN2、BIN1、BIN2通信,TB6612根据AIN1、AIN2、BIandroid是什么系统N1、BIN2的信号,通过android什么意思AOx,BOx口,控制电机。

用到了PWMA的手机号最旺财的尾数知识,通过调节PWM波的占空比来调节电机转速。 尽快知道结果,但在调速时候还是会感叹这个设计的精妙。

STM32智能多功能小车1.0总结

STM32智能多功能小车1.0总结

3. 舵机控制

采用SG90 9g舵机 ,用PWM控制角度。 使用PA6口。

STM32智能多功能小车1.0总结

4. 红外对管

寻迹传感器 TCRandroid的drawable类T5000红外反射传感器。

STM32智能多功能小车1.0总结

一句话,当按键处理。

5. 串口 蓝牙

HC-05 主从机一体蓝牙串口透传模块

STM32智能多功能小车1.0总结

STM32智能多功能小车1.0总结

STM32智能多功能小车1.0总结

分三部走:

  1. 蓝牙模块通过串android平板电脑价格口转usb 连接电脑;
  2. 蓝牙模块连接手机appearance蓝牙,通过蓝牙模块的TTL转USB实现手机与计算机通信
  3. 手机通过蓝牙与模块连接从而控制片上的小灯,控制小灯也就可以与单片机通信,从而控制小车了。

6. OLED显示 I2C

OLED显示屏模块 0.96寸 IIC/SPI ,简单成熟。

STM32智能多功能小车1.0总结

厂家提供Demo,API函手机数都已经写好了,直接拿来改改就能用。 这块着重研究了驱动里面软件实现的I2C协议,基本也就掌握了。

7. ADC测量电池电压

通过分压电路,IO口ADC功能直接读电压,再换算为实际电压。

STM32智能多功能小车1.0总结

8. 超声波测距

HC-SR04 超声波测距模块

STM32智能多功能小车1.0总结

通过超声波的硬件介绍我们知道 MCU给Trig脚一个大于10usapprove的高电平脉冲;然后读取Echo脚的高电平信号时间,通过公式:距离 = Tx声速/2 就可以算出来距离。

软件方面:10us高电平脉冲通过GPIO输出实现,高电平信号时间我们通过定时器的输入捕获来计算的。

9. 模块功能整合

功能:

  • 小车具有红外对管循迹、蓝牙遥控、定距离跟随、避障运动模式;
  • 可以通过小车按键和APP进行切换小车的运动模式;
  • APP与OLED显示小车所处模式和超声波测量值、电池电压。

六、总结

项目总体比较顺approach利,硬件材料到齐之后,用了一周不到的业余时间的就基本完成了小车项目。

STM32智能多功能小车1.0总结

真正动手做起approve来以后,从硬件组装,系统移植,驱动移植修改,模块测试apple代码编写,整机通信地址调试,测试。 这个整个过程,基本都是水到渠成。

中间也是碰到了一些问题:

  1. 红外对管无法循迹问题,通过阅读产品说明书,调整红外对管灵敏度直,问题解决。
  2. 串口蓝牙设置问题,通过产品手册,试了几次以后解决;
  3. 手机与蓝牙模块无法连接的问题,经过试验是android 蓝牙调试apandroid平板电脑价格p本身的问题,经测试同一个手机换了一个蓝牙app 就可以与小车蓝牙模块顺利连接,最终是换了一个手机按照蓝牙调试助手aAPPpp与小车蓝牙模块连接成功,但这个蓝牙模块还是不太问题,在某些情况下还是会掉线。

stm32这部分知识新鲜出炉,在弄懂了原理之后,移植的过程都是类似的套路,查手册,修改配置,调试,点灯 … 这些对于有点经验的程序员来说驾轻就熟了。

STM32智能多功能小车1.0总结

目前项目整个流程已经通信达走通,小车的基础的功能都已经实android下载现,小车已经是一个可以完整地运行起来的版本,虽然目前还显得比较粗糙。

经过此工程,大概了解了裸机开发的整个流程,达到了项目的目的。

七、扩展升级apple

其实小车1.0完成已经有一些时间了,目前正在研究扩展升级。 主要考虑以下几个方面:

  1. 目前的裸机采用前后台模式对小车进行控制,比较简陋呆板,所以肯定要上RTOS,FreeRTOS走起。
  2. 小车1.0 使用了标准库,但ST公司已通信工程经不再更新标准库,HAL是趋势,考虑用HAL重构。
  3. 关于小车的操控功能部分,这方面肯定有一套成熟的体系与理论,这是一个方向,但这不是目前阶通信地址段的重点,暂不深入,目前仅考虑加入减速、加速功能;
  4. 小车硬件方面留有一定的扩展,这部分暂时保留。
  5. 觉得有些步骤是可以编写脚本来完成的,在更加熟悉测试你适合学心理学吗流程之后可以尝试。

继续出发