本次采用 STM32F103C8T6单片机、ESP-01S 模块、红外避障模块、SG90舵机(360°)以及 0.96 寸的 IIC 接口 OLED 显示屏,基于 机智云平台,完成 避障式舵机舵机转向系统,为智能化场景增添强大功能。 适用的场景: 智能玩具等。 注:本项目用到的外设文件我会在文章最后上传附件,点击放大图片可以清晰参看。 使用到的模块:
STM32F103C8T6
ESP-01S
红外避障模块
SE90舵机(360°)
0.96 寸的 IIC 接口 OLED 显示屏 基本工作
新建数据点 利用机智云开发者中心的MCU开发便捷快速生成代码
ESP-01S烧录机智云固件(参考我的往期帖子) 按照文档中的操作即可 ESP01s烧录机智云固件: 注意: 选择对应大小的flash的进行烧录!!! 下图为ESP01-s的参数:
下载好固件GAgent forESP8266 (04020034)解压备用,烧录对应大小的flash固件(重要!) 完成上述的烧录固件已经配网,即可进行STM32代码的编写,机智云自动生成是非常好用的,我们创建的数据点,就是可以通过STM32和ESP01s进行串口通信,然后ESP01将数据上次到机智云的服务器转发到我们的手机APP上进行查看、控制等。 模块与单片机的连接:
代码的编写 下载好并解压缩机智云平台生成的代码。 打开CobeMX文件
配置IO口输入模式来接收红外避障模块的电平 两种状态: 没反射——D0输出高电平——灭 灯反射——D0输出低电平——亮灯
配置360°舵机:选择Tim4 通道1 为PWM口,以控制舵机
选择区分文件方便使用
最后生成代码(不可以有中文路径!!)
打开MDK-ARM工程文件夹
添加外设文件
添加头文件编译路径,以及添加文件进工程
勾选下图中的USE Micro LIB 编译前需要勾选此项,我未勾选导致使用keil5里面的调试程序一步一步走没问题,取消调试单片机自行运行有问题。
main.c中包含头文件 Main函数中:
机智云开发者中心查看数据
在APP中查看数据
调试图
|