从PCB到完整的物联网项目
将要干的事情:一个简单的物联网体系可以从硬件开始到云端结束,而我今天开始将会用这一系列帖子记录我完成这一项目的过程。
PS:博主也是初学者,如若有错请大家及时指出,谢谢各位看官。
博主邮箱:1012630739@qq.com(加的朋友请注明来意)
一、关于MCU的选择
mcu的选择最关心的就是功能,首先我们先对自己所需要的功能进行分析,看看自己需要哪些功能。就我而言大概如下:
1.我的功能是有马达旋转的,而这个马达旋转不是以一个固定的速度去转,所以我们是需要PWM①功能的。这样一来,我们所选的MCU必须包含PWM模式。(如果你需要它旋转越快,那么你就要找主频较高的MCU。比如博主打算用的STM32F103C8T6就有72M的主频)
2.我的功能是有OLED显示功能的,因为OLED②一般是IIC协议,所以我们就有两种选择,第一是选择内部有IIC协议的MCU;第二是选择自己用IO口去模拟IIC通讯(这个可以去看我之前的博客有写到IIC的时序,同时也推荐后者,因为更稳定)
3.我的功能是有WIFI控制功能的,因为WIFI模块一般使用ART指令控制,所以就需要MCU含有串口通讯
4.语音识别模块用到串口通讯,充电功能用到IIC,霍尔元件用到定时器的输入捕获功能,除此之外的其他功能就只需要普通IO即可。
这样一来,除了以上通讯以外,我们只需要保证自己的GPIO口数量足够即可。
二、一些名词解释和功能解释
①
PWM就是脉冲宽度调制,简单的解释就是:一般有电是直流,在示波器上显示的就是一条直线,而脉冲就是有电和没电交替进行,如下图(图片有点简陋).因为在负载一定的情况下,占空比越大,马达越快,所以我们只需要在程序中调好占空比即可控制速度。
②
为什么选择OLED?因为它不仅便宜且方便调控,是一个很适合新手的屏幕。当然如果你喜欢TFT的屏幕也是可以的,只是TFT是SPI通讯的,所以你需要找内嵌SPI通讯的MCU。博主同时建议你使用别人封装的库文件,不然对于新手来说手敲TFT的时序还是有些许难度的。(图片盗用百度图片,如若侵权请联系删除)
③关于MCU的手册下载和所需要使用到的工具
手册一般可以直接进行百度搜索到,但是不仔细找很多都是只可阅读或者需要钱才能阅读下载,且是英文的,对初学者很不友好。所以我给大家推荐一个网站,这里面涵盖了大部分的手册资料很方便且不需要钱。网址链接:https://www.findic.com/
工具的话,编写调试可以使用KEIL5,串口可以在网上随便下载一个(过几天我把这两个软件的安装包放上来),下载器的话建议使用J_LINK,快速下载,方便使用。(购买链接我同样过几天放上来)
PS:遇到英文手册不要慌,可以使用谷歌浏览器或者直接用WPS翻译即可。(学学英文也挺好,更加清楚的理解芯片手册)
以上的内容会持续更新添加,下一章内容会是其他器件的选择。