已从事单片机开发十几年,刚开始接触单片机时,感觉挺有意思。

可以用自己的思维写程序,控制硬件去实现一些智能化的操作。

刚点亮第一个LED,就开始幻想以后能做任何自己想要的产品,那感觉多爽!

但是你会发现学完51单片机、或者STM32单片机以后,还是啥也做不出来。

不是你比较倒霉,每个工程师都是这样过来的。

就像你想写出一篇好作文,光练字和学成语是没用的,你得有思维,有经历。

做产品也是一样,单片机就是工具,思维才是灵魂。

思维怎么来?

答案肯定是多经历。

所以,想成为一个具备独立开发的工程师,学习单片机只是你成长过程的冰山一角。

大部分的时间,应该用来做项目,从简单到复杂。

项目数量决定成长速度,项目质量决定成长高度。

下面我总结了一些从简单到复杂的作品,大家可以根据自己实力选择性去提升。

一、入门级

1.LED灯控制

使用STM32控制LED灯的亮度和闪烁频率,高级点的可以做下呼吸灯功能,可以学习GPIO控制、定时器和PWM等基础知识。

2.温度监测

使用STM32连接温度传感器,通过LCD显示温度数据,并通过串口把温度数据打印出来,可以学习ADC采集、串口通信和LCD显示等知识。

3.蓝牙遥控小车

使用STM32连接蓝牙模块和电机驱动模块,通过手机APP控制小车的运动,可以学习串口通信、PWM控制、AT指令、电机驱动等知识。

4.声音控制LED灯

使用STM32连接声音传感器和LED灯,当检测到声音时,LED灯亮起,可以学习声音传感器和GPIO控制等知识。

5.按键控制舵机

使用STM32连接按键和舵机,按下按键时,舵机旋转一定角度,可以学习GPIO控制、中断和舵机驱动等知识。

以上只是一些简单的示例,您可以根据自己的兴趣和能力选择合适的小作品进行练习。

在实践过程中,也可以参考相关的STM32开发板、例程和资料,以加速学习和掌握技能。

二、进阶级

当您完成上述简单的项目后,可以尝试一些更复杂的项目来提高STM32单片机的应用能力,以下是一些进阶项目:

1.智能家居控制器

使用STM32连接多个传感器和执行器,例如温湿度传感器、灯光控制器、电机控制器等,并通过无线通信协议,如Wi-Fi、ZigBee、LoRa等,实现智能家居设备的集成和远程控制。

2.电子秤

使用STM32连接负载电池和称重传感器,并通过LCD显示称重数据和控制标定功能,可以学习ADC采集、滤波算法和PWM控制等知识。

3.智能交通信号灯

使用STM32连接LED灯和红外传感器,根据车辆和行人的实时流量,自适应调整信号灯的状态,可以学习定时器、中断和红外传感器等知识。

4.自动晾衣架

使用STM32连接电机和温湿度传感器,根据环境温度和湿度等参数,自动调节晾衣架的高度和旋转角度,可以学习PID控制算法和电机驱动等知识。

5.机器人小车

使用STM32连接多个传感器和执行器,例如电机、红外传感器、超声波传感器、陀螺仪等,并通过编程控制小车的运动和行为,可以学习机器人控制和算法设计等知识。

以上项目需要一定的电子和编程基础,并需要花费更多的时间和精力进行设计、开发和调试。

但是,这些项目可以提高STM32单片机的应用能力、编程思维和代码水平。

三、高级

当您掌握了上述的项目之后,您可以尝试更高级的STM32单片机项目,例如:

  1. 物联网网关

比如无际单片机的双网防盗报警系统项目,使用STM32连接lora模块、WiFi模块、4G模块、触摸按键、语音芯片、TFT屏、温湿度模块、充电模块,做一款综合型的物联网网关,局域网通过lora和探测器组网,广域网通过WiFi和4G和服务器通讯,实现远程对硬件进行监控、远程固件升级等。

紧急情况还可以通过短信,电话通知用户,除此以外还可以通过扩展实现智能家居的功能。

1.人工智能嵌入式设备

使用STM32连接AI模块,例如人脸识别、语音识别、自然语言处理等,并通过编程和训练,实现智能化的应用,例如智能门禁、智能家居等。

2.高速数据采集系统

使用STM32连接高速ADC和FPGA芯片,实现对高速信号的采集和处理,例如高速摄像头、高速激光测距仪等。

3.自动驾驶控制系统

使用STM32连接多个传感器和执行器,例如摄像头、雷达、电机、电子罗盘等,并通过算法设计和优化,实现自动驾驶控制功能。

4.机器人视觉系统

使用STM32连接多个摄像头和处理模块,例如OpenCV、CUDA等,并通过算法设计和优化,实现机器人的视觉导航、物体识别等功能。

5.网络安全嵌入式设备

使用STM32连接加密模块和网络模块,实现网络安全通信和数据加密等功能,例如VPN、防火墙、数据加密存储等。

最后总结:项目数量决定成长速度,项目质量决定成长高度。

最后彩蛋时间,最近有粉丝问我怎么提升单片机编程思维和水平。

我做了开发10几年,累计做过几十个项目,我针对这些项目共性功能,比如任务创建、管理、队列算法、LED特效、按键扫描等,写了一个标准程序框架。

这个架构,我在2019年也录了教程,我做新项目时,直接套用这个架构去写,效率直接起飞。

不出意外的话,应该是你目前能看到最实用、最硬核、最系统的干货。

现在限时放出来给大家看,后期可能会删,这套架构已申请版权,非学员仅供学习使用。

可以点击下方⬇️卡片看文章开头领取。

《单片机入门到高级开挂学习路径(附教程+工具)》

《单片机入门到高级开挂学习路径(附教程+工具)》

《单片机入门到高级开挂学习路径(附教程+工具)》

或者可以找「无际单片机」,全网同名的。

下面是更多无际原创的个人成长经历、行业经验、技术干货。

《最近在学C语言,非常痛苦,怎么办?》

《C语言开发单片机为什么大多数都采用全局变量的形式?》

《单片机怎么实现模块化编程?思维+实例+系统教程(实用程度令人发指)》

《c语言回调函数的使用及实际作用详解》

《spi时序图怎么分析,怎么看懂spi时序图》

初学stm32单片机可以做什么简单的小作品?相关推荐

  1. 用c语言简单办法做一个字典_幼儿园手工,用废纸筒做一个简单的小蝴蝶,有教程...

    幼儿园的手工,除了用卡纸做各种简单的小制作外,纸筒也是常用的手工材料. 下面用纸筒做一个简单的小蝴蝶,做法很简单. 制作过程: 准备材料 废纸筒.剪刀.胶.水彩笔,纸板. 在纸筒上剪下五个圈圈 剪完的 ...

  2. 华大单片机、STM32单片机如何做printf串口打印格式化输出

    第一种方法:使用标准C库,但使用标准C库你必须关闭半主机模式 (1)添加下面代码就是关闭半主机模式 /* 告知连接器不从C库链接使用半主机的函数 */ #pragma import(__use_no_ ...

  3. 520了,用32做个简单的小程序

    520到了,看着朋友圈里的花式秀恩爱,平常午餐最爱吃的泡面都变得不那么香了.于是!突发奇想,突然就来了更新的想法,今天用32来做一个非常简单的小程序: 简单放个歌,再放个图 stm32f103c8t6 ...

  4. 用python做一个简单GUI小软件

    用python做一个简单软件 前言 这是一个课设,用python做一个扫描王软件 我主要做的GUI部分,记录分享一下.也是第一次用python做小软件,python的方便果然是名不虚传 遇到问题 1. ...

  5. 用Python代码做一个简单数字小游戏

    #作者是一个十三岁的小男孩. 编辑工具 电脑Python 需要模块 random #今日用代码做一个猜数小游戏 #话不多说,上代码!!! import random number = random.r ...

  6. 使用html5 canvas绘制简单图形小作品~灰太狼

    <!-- 作者:1457225624@qq.com 时间:xxxx-xx-xx 描述:大家好!我是小张,今天我用html5,,canvas的画布画出了一个小作品, 画的不好看,,,还请原谅,,下 ...

  7. stm32单片机屏幕一直闪_用STM32做一个微型掌上示波器项目——终于鼓起在大牛前献丑的无比勇气...

    这是我第一次在这个论坛上发表东西,其实本人进入芯片的世界的时间并不长,从接触51单片机到现在还不到一年,所以可以算是小白啦~想了很久,总算拿出在论坛大牛前献丑的无比勇气,写起该帖:dizzy::diz ...

  8. 单片机搭建环境烧录方法_万物互联-stm32单片机简介、烧录、编程及其项目环境搭建...

    万物互联-stm32单片机简介.烧录.编程 前言:stm32单片机这里给出简单介绍,给不了解的朋友普及下硬件端的基本知识,叙述的较为简单,想深入研究的朋友可以去一些官方网站.论坛.博客汲取知识.最下端 ...

  9. 用Python做一个超简单的小游戏(一听就懂)

    前言 有的人可能学过一点Python基础,但不知道干什么好.今天就教大家做一个简单的小游戏 未经允许,禁止转载 文章目录 前言 写它会用到 源码先抛出来 知识讲解 random 介绍 语法 方法参数表 ...

最新文章

  1. Maven工程构建时报编码警告的解决办法
  2. koa2 mysql增删改查_koa2实现对mysql的增删改查函数封装
  3. POJ - 1966 Cable TV Network(最小割-最大流)
  4. 苹果加入AOM联盟 AV1获全主流生态平台支持
  5. ubuntu16.04安装metasploit+postgresql
  6. windows7电脑删除文件特别慢的解决方法
  7. python 爬关键词,Python爬虫实战:爬取微博热搜关键词
  8. 测地膨胀和膨胀重建—lhMorpRDilate
  9. 如何:在 Windows 窗体 ListView 控件中启用平铺视图 【转载】
  10. 软件设计之UML的几种关系
  11. 佛说剖腹产的孩子_选择好的剖腹产时间会改变孩子的命运吗?
  12. 曾经,我以为我很懂MySQL索引
  13. Android之提示Could not find com.android.support:appcompat-v7:25.3.1
  14. C语言求一元二次方程的根,这题很简单嘛?看看这种想法很惊奇!
  15. SM4350 背光控制--关闭XBL WLED
  16. 项目在使用easyui时遇到的问题
  17. pyinstxtractor 源码分析及填坑
  18. 眼疾手快,真男人就来合成粽子三兄弟
  19. 十进制转二进制(除2取余法)
  20. 基于Java Swing编写的运费计算系统

热门文章

  1. 长安链---从零到一部署Chainmaker-2.0.0
  2. 安卓学习笔记5.3 按钮、图像视图与图像按钮
  3. ElementUI实现el-form表单重置功能按钮
  4. Ebay API item_get - 获得EBAY商品详情
  5. Linux TC 带宽管理队列规则
  6. Python 深度学习目标检测结果可视化
  7. word中如何批量更新题注(域)
  8. 《解析深度学习》部分笔记
  9. matlab 图像 whos函数,matlab图像处理常用函数
  10. 科研路上的拦路虎英文翻译