历史上的今天
返回首页

历史上的今天

今天是:2026年03月14日(星期六)

2023年03月14日 | STM32单片机可以用来做什么?能实现哪些功能?

2023-03-14 来源:zhihu

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

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

刚点亮第一个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、防火墙、数据加密存储等。

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


推荐阅读

史海拾趣

川晶科技公司的发展小趣事

在市场竞争日益激烈的背景下,川晶科技始终坚持创新驱动的发展战略。公司不断加大产品创新和自主研发的力度,推动产品向微型化、低耗能方向发展。通过引入新技术、新工艺,川晶科技成功开发出了一系列具有竞争力的新产品,满足了市场的多样化需求。同时,公司还积极探索新的应用领域,努力拓展市场空间,为公司的持续发展注入了新的动力。

Altera (Intel)公司的发展小趣事

随着环保意识的不断提高,绿色制造成为电子行业的重要发展趋势。川晶科技积极响应国家绿色发展的号召,通过引进先进的环保设备和技术,实现了生产过程的绿色化、低碳化。公司不断优化生产工艺,减少能源消耗和废弃物排放,推动产品向绿色、环保方向发展。川晶科技的绿色制造实践得到了业界的广泛赞誉,成为行业内的绿色标杆。

Digital Core Design公司的发展小趣事

1996年,Core Design推出了其标志性作品《古墓丽影》。这款游戏以其独特的女主角Lara Croft和精心设计的游戏世界吸引了全球玩家的关注。Lara Croft成为游戏界最具代表性的女性角色之一,而《古墓丽影》系列也成为Core Design最成功的游戏系列之一。这款游戏的成功不仅为Core Design带来了巨大的经济收益,也使其在全球游戏市场上赢得了极高的声誉。

AIC [Analog Intergrations Corporation]公司的发展小趣事

1988年,Core Design由Jeremy Heath-Smith创立,起初仅有8名员工和1万6千英镑的注册资金。这家新兴的游戏开发公司很快凭借其首款游戏《Rick Dangerous》在英国游戏市场崭露头角。这款游戏凭借其独特的游戏机制和引人入胜的故事情节,迅速登上英国游戏销量榜的榜首,并赢得了欧洲年度游戏奖,为Core Design的未来发展奠定了坚实的基础。

Diamond SA公司的发展小趣事

随着技术的不断成熟,Diamond SA公司开始积极拓展市场。他们与全球知名的电子产品制造商建立了合作关系,将自己的芯片技术应用于各种电子设备中。同时,公司还加大了品牌推广力度,通过一系列营销活动提升了品牌知名度和美誉度。随着市场份额的逐步扩大,Diamond SA公司成为了电子行业中的领军企业。

DB Unlimited公司的发展小趣事

在音频市场日益竞争激烈的环境下,DB Unlimited意识到定制化服务的重要性。因此,公司开始提供定制设计服务,以满足客户对特定音频需求的个性化要求。通过与客户的紧密合作和深入沟通,DB Unlimited成功为客户解决了许多复杂的声学设计问题,赢得了客户的信任和赞誉。

问答坊 | AI 解惑

做F题的加群69079341

本帖最后由 paulhyde 于 2014-9-15 09:04 编辑 大家加啊!  …

查看全部问答>

arm-xscale, arm-iwmmxt这两个有什么区别??

我要为pxa270编译一个工具链,在网上看有人用arm-xscale ,有人用arm-iwmmxt,iwmmxt是什么?…

查看全部问答>

工程编译目标文件project.out使用属性察看size的大小和实际文件大小问什么不一样?

    在Tornado环境下,编译downloadable类型的工程,生成project.out文件,右键察看priority-size大小为:0.68MB左右,而到工程目录下找到project.out文件,其文件大小却为:8MB左右,将project.out下载到目标机,目标机资源占用情况也差 ...…

查看全部问答>

高薪招聘招聘逆向调试人员!

高薪招聘招聘逆向调试人员! 工作地点:吉林省长春市 工作性质: 全职(可兼职) 薪    水: 不求学历,只看实力,薪水看你的能力另谈!(一旦录用,如工作尽职,三个月后可加薪) 岗位职责: 网络游戏安全问题,分析.(外挂、木马等 ...…

查看全部问答>

win ce Platform Builder安装问题

win ce Platform Builder5.0与 VS2005 安装在同一台机器有没有冲突,如果有,怎么解决? 谢谢!…

查看全部问答>

一本书讲C、C++状态机编程,算得上是经典

本信息来自合作QQ群:电子工程师技术交流(12425841) 群主在坛子ID:Kata   这本书讲C、C++状态机编程,算得上是经典    …

查看全部问答>

帖子审核能不能快一点,我等着收钱呢

帖子审核能不能快一点,我等着收钱呢开点玩笑,共同学习…

查看全部问答>

空间定位指令?

能不能请教一个问题啊,就是IAR汇编语言有条指令ORG 1100H,应该是指定程序的起始空间吧,程序将程序烧录在0x1100开始的空间地址,那想问一下,C语言怎么写这条指令呢?            & ...…

查看全部问答>

坛子里有网友玩 STM32F4DISCOVERY么?

坛子里有网友玩 STM32F4DISCOVERY么?…

查看全部问答>