初学stm32单片机可以做什么简单的小作品?
已从事单片机开发十几年,刚开始接触单片机时,感觉挺有意思。
可以用自己的思维写程序,控制硬件去实现一些智能化的操作。
刚点亮第一个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单片机项目,例如:
物联网网关
比如无际单片机的双网防盗报警系统项目,使用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单片机可以做什么简单的小作品?相关推荐
- 用c语言简单办法做一个字典_幼儿园手工,用废纸筒做一个简单的小蝴蝶,有教程...
幼儿园的手工,除了用卡纸做各种简单的小制作外,纸筒也是常用的手工材料. 下面用纸筒做一个简单的小蝴蝶,做法很简单. 制作过程: 准备材料 废纸筒.剪刀.胶.水彩笔,纸板. 在纸筒上剪下五个圈圈 剪完的 ...
- 华大单片机、STM32单片机如何做printf串口打印格式化输出
第一种方法:使用标准C库,但使用标准C库你必须关闭半主机模式 (1)添加下面代码就是关闭半主机模式 /* 告知连接器不从C库链接使用半主机的函数 */ #pragma import(__use_no_ ...
- 520了,用32做个简单的小程序
520到了,看着朋友圈里的花式秀恩爱,平常午餐最爱吃的泡面都变得不那么香了.于是!突发奇想,突然就来了更新的想法,今天用32来做一个非常简单的小程序: 简单放个歌,再放个图 stm32f103c8t6 ...
- 用python做一个简单GUI小软件
用python做一个简单软件 前言 这是一个课设,用python做一个扫描王软件 我主要做的GUI部分,记录分享一下.也是第一次用python做小软件,python的方便果然是名不虚传 遇到问题 1. ...
- 用Python代码做一个简单数字小游戏
#作者是一个十三岁的小男孩. 编辑工具 电脑Python 需要模块 random #今日用代码做一个猜数小游戏 #话不多说,上代码!!! import random number = random.r ...
- 使用html5 canvas绘制简单图形小作品~灰太狼
<!-- 作者:1457225624@qq.com 时间:xxxx-xx-xx 描述:大家好!我是小张,今天我用html5,,canvas的画布画出了一个小作品, 画的不好看,,,还请原谅,,下 ...
- stm32单片机屏幕一直闪_用STM32做一个微型掌上示波器项目——终于鼓起在大牛前献丑的无比勇气...
这是我第一次在这个论坛上发表东西,其实本人进入芯片的世界的时间并不长,从接触51单片机到现在还不到一年,所以可以算是小白啦~想了很久,总算拿出在论坛大牛前献丑的无比勇气,写起该帖:dizzy::diz ...
- 单片机搭建环境烧录方法_万物互联-stm32单片机简介、烧录、编程及其项目环境搭建...
万物互联-stm32单片机简介.烧录.编程 前言:stm32单片机这里给出简单介绍,给不了解的朋友普及下硬件端的基本知识,叙述的较为简单,想深入研究的朋友可以去一些官方网站.论坛.博客汲取知识.最下端 ...
- 用Python做一个超简单的小游戏(一听就懂)
前言 有的人可能学过一点Python基础,但不知道干什么好.今天就教大家做一个简单的小游戏 未经允许,禁止转载 文章目录 前言 写它会用到 源码先抛出来 知识讲解 random 介绍 语法 方法参数表 ...
最新文章
- Maven工程构建时报编码警告的解决办法
- koa2 mysql增删改查_koa2实现对mysql的增删改查函数封装
- POJ - 1966 Cable TV Network(最小割-最大流)
- 苹果加入AOM联盟 AV1获全主流生态平台支持
- ubuntu16.04安装metasploit+postgresql
- windows7电脑删除文件特别慢的解决方法
- python 爬关键词,Python爬虫实战:爬取微博热搜关键词
- 测地膨胀和膨胀重建—lhMorpRDilate
- 如何:在 Windows 窗体 ListView 控件中启用平铺视图 【转载】
- 软件设计之UML的几种关系
- 佛说剖腹产的孩子_选择好的剖腹产时间会改变孩子的命运吗?
- 曾经,我以为我很懂MySQL索引
- Android之提示Could not find com.android.support:appcompat-v7:25.3.1
- C语言求一元二次方程的根,这题很简单嘛?看看这种想法很惊奇!
- SM4350 背光控制--关闭XBL WLED
- 项目在使用easyui时遇到的问题
- pyinstxtractor 源码分析及填坑
- 眼疾手快,真男人就来合成粽子三兄弟
- 十进制转二进制(除2取余法)
- 基于Java Swing编写的运费计算系统