嵌入式系统及应用课程设计——基于STM32的温湿度监测系统
大三上学期期末总结,嗯,没错上学期,写在新学期开始,hhh。
上学期学了一门嵌入式系统及应用的课程,期末的课程设计题目是基于STM32的温湿度监测系统。
记得刚开始做课程设计的时候,听说先设计画出原理图,然后制作PCB板,再交付制板商制板,购买原件,焊接原件,通电,下载程序,最后调试运行,书写课程设计论文。
瓦特?我们嵌入式系统课上学习了ARM架构,只记得理论特高深,记忆深的是先给STM32开发板上Linux操作系统,然后在Linux操作系统下编写程序,然后使用MakeFile文件快速编译,最后运行。
为什么课程设计需要使用DXP这个之前见都没见过的软件(如下图所示),从原理图开始?

心中奔过好几万只。。。,但是令我感到意外的是我们学校虽然渣,我们班的同学在简单的抱怨,被老师回怼了一通之后,竟然慢慢开始学习使用这个软件了,先把老师给的资料下载下来,开始搭建环境。
看着大家认真的样子,我也开始。。。混了起来,没错先混一段时间再说,hhhh。
不过我也在东跑西看的发现大家的问题,从一开始的下载DXP需要破解的问题,然后画原理图的时候注意先将元件导入元件库中,然后根据老师给的原理图,一步一步的把一部分一部分的原理图画出来,注意网络标号不要弄错。
画了大概一周吧,老师突然发现一部分电路是错误的(暗自庆幸先混了一段时间)。最后等到大家把坑都趟完了,我才开始慢慢悠悠的画了起来。
接下来就是根据之前画的原理图,然后挑选合适的板子(双层单层,厚度等等),然后导入之前的原理图,仔细看一下元器件少了没有,再开始摆放元器件,走线。
最后就是根据提示使用手动布线的方式,将网络标号相同的接口通过导线连接起来。其中有些线需要改变一下粗细才能更合理,更安全的布线,其中我记得是需要5V的电源线都要比其他的线粗一些。PCB画完之后就可以交付制板商制板了。
在大家的不懈努力之下,最终还是完成了PCB的制作。然后顺利的将老师之前准备的好的PCB板发给了纸板商,没错,就是老师之前准备好的。
因为我们画的根本不能用,单独的不同板子需要定制,价钱也更贵,而且我们画的板子我们自己都不敢用,万一,不,二一花了定制的价钱还买了一块废板子,岂不是耽误时间,还浪费钱?
不过这期间我们起码懂得了一个嵌入式系统应用的硬件开发流程,体验了一次硬件工程师的快乐(惨如狗啊)日常。
然后印刷版和元器件回来了,如下图所示。

刚开始看的时候,哇,感觉无从下手啊,我的心就像这一堆零件一样,撒了一桌子,于是我就又开始了开心的混子生活,先混一段时间再说吧。
然后看着大家每天认真的跑到实验室开始焊了起来,在老师的细心示范下,叫我们怎么先把STM32芯片焊上,告诉了我们,把芯片焊好,这个板子就成功了一半。
焊接芯片,首先要使用扁平的烙铁头,然后先上一点焊锡,然后一点一点的刮出来,最后只留下引脚上一点焊锡即可。
看着大家热火朝天的干着,终于到了明天下午就要验收成品的日子。我才慌的一批的把元器件拿到实验室,吸取他们的教训,开始一点一点的焊接了起来。
首先是芯片,我的室友已经忙活几天了,听说已经焊了好几块芯片了,他看到我准备焊的时候一把揪住了我,说,我来吧,这个很重要。然后我就又开心的当起了混子,顺便充当大佬的把其他几个焊糊的同学修了几下(体验一下)。
由于之前焊接过单片机的板子,剩下的元器件还是我来焊了。这一坐就是一下午,一直到晚上七八点,终于焊完了。能不能成功,按老师说的,就是尸体也是个全尸了吧,hhh。
第二天上午给板子烧上程序(程序是老师之前给的,大致看了一下也没懂),首先看到灯亮了,同学说,有脉搏,是个活的,然后一看屏幕就是不会出现之前设定的字符,不会是个植物人吧,同学说,别急,先把液晶显示屏的亮度调一下,调完之后发现还是不会显示。
拿了同学的板子仔细对照了一下,没问题,初步判定是线路的问题,然后使用万用表的蜂鸣器一条一条的测了一遍,并没有发现什么问题。
最后在我想放弃的时候,侥幸拿来同学的液晶屏换了一下,发现能用,那就是液晶屏的问题了,最后欣喜的换了一块液晶屏,顺利完工,成品如下图所示。

到此也就基本完成了该课程设计,后期的论文只是将材料组合一下,有点小遗憾的是没有亲自焊接一下芯片,没有耐下心来写一下控制程序(那个时候在写JAVA的课程设计),需要的同学可以在百度网盘下载一下我的课程论文和使用的资料,包括需要导入的元器件和软件以及程序和设计论文(可能比较大,因为有DXP)。
本次课程设计中实现了一个基于STM32F103ZET6的智能温湿度检测系统,目的是实现温湿度的采集和显示,温湿度的采集是作为自动化科学中一个必须掌握的检测技术,也是一项比较实用的技术。
写在最后,总的来说通过这一门课程,我们认识到了嵌入式系统的软件和硬件的设计、实现流程,让我们懂得了如果想要深入学习应该需要具备哪些技能,比如了解ARM芯片,会使用Linux操作系统,完成程序的编写及下载,需要懂得数电模电的知识,设计电路,使用DXP完成原理图和PCB图的制作,然后焊接,调试。
嵌入式系统及应用课程设计——基于STM32的温湿度监测系统的更多相关文章
- 基于stm32的水质监测系统项目基础部分详细记录
基于stm32的水质监测系统项目基础部分详细记录 软件环境:MDK5 硬件环境:STM32F103ZET6 开发板.颜色传感器.串口屏.串口打印机 搭建工程模板 在进行项目软件的撰写时,首先新建一个基 ...
- j2ee课程设计—基于activiti的请休假系统
前言 课设基于SSM框架,数据库采用mysql,主要业务交给activiti,版本控制利用github. 参考资料: Intellij 部署SSM框架 Activiti就是这么简单 方大师的教材 下文 ...
- Java课程设计——博客作业教学数据分析系统(201521123084 林正晟)
#课程设计--博客作业教学数据分析系统(201521123084 林正晟) 1.团队课程设计博客链接 博客作业教学数据分析系统 2.个人负责模块或任务说明 学生登陆界面的前端实现和与数据库的连接 学生 ...
- Java语言课程设计——博客作业教学数据分析系统(201521123107 张翔)
#Java语言课程设计--博客作业教学数据分析系统(个人博客) 1.团队课程设计博客链接 [博客作业教学数据分析系统(From:网络五条狗)](http://www.cnblogs.com/fanta ...
- 课程设计- 基于ssm的捐赠物资分配管理系统 && 基于java的申请救援管理系统
课程设计- 基于ssm的捐赠物资分配管理系统 && 基于java的申请救援管理系统 注意:该项目只展示部分功能,如需了解,评论区咨询即可. 1.开发环境 开发语言:Java 后台框架: ...
- 温湿度监测系统设计:基于 STM32 的温湿度变送器的设计与实现
前言:这个是2018年上半年完成的,这里只贴出硬件设计部分,软件设计部分可以看上位机说明书. 设计总说明 随着科学技术的不断发展,高集成度.高精度.高可靠性的一体化温湿度变送器开始 得到广泛的应用.同 ...
- [课程设计]Scrum 多鱼点餐系统(团队交流日)
[课程设计]Scrum 多鱼点餐系统(团队交流日) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题:餐厅到店点餐系统WEB ...
- Java课程设计——博客作业教学数据分析系统(201521123091 李嘉廉)
#课程设计--博客作业教学数据分析系统(201521123084 李嘉廉) 1.团队课程设计博客链接 博客作业教学数据分析系统 2.个人负责模块或任务说明 數據分析 Kmeans聚類算法實現 多元綫性 ...
- Java课程设计——博客作业教学数据分析系统(201521123082 黄华林)
Java课程设计--博客作业教学数据分析系统(201521123082 黄华林) 一.团队课程设计博客链接 博客作业教学数据分析系统(From:网络五条狗) 二.个人负责模块或任务说明 1.网络爬虫 ...
随机推荐
- 小白学习随笔the first week
The First Week 一.计算机基础 1.软件(应用程序) 2.解释器/编译器 - 解释型语言:将代码每一行传递给计算机一行,常用编程语言python,PHP,Ruby. - 编译型语言:将代 ...
- Centos安装配置Tomcat,并部署web应用
一.安装JDK并配置环境变量 1.检查和删除系统预装jdk //如果操作系统不是最小安装,会默认安装openjdk#rpm -qa | grep java //删除系统预装jdk,可以一条命令直接删除 ...
- 190327 Python登录接口
#!Author:John # _*_ coding: utf-8 _*_ #编写登录接口 #输入用户名密码 #认证成功后显示欢迎信息 #输错三次后锁定 import sys, os, getpass ...
- MySQL5.6启用sha256_password插件
一.背景: 使用MySQL5.6过程中,发现默认的加密插件为mysql_native_password.而sha256_password的安全程度要比mysql_native_password高,尝试 ...
- 漏测BUG借鉴
2. websocket: 用户频繁刷新,后台每次请求新的排队,内存溢出 1. websocket: 北京中心连接正常,外地中心,连接超时,应考虑到外地延迟问题
- [LeetCode] Hand of Straights 一手顺子牌
Alice has a hand of cards, given as an array of integers. Now she wants to rearrange the cards into ...
- git常用方法整理
Git是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一). Git有什么特点?简单来说就是:高端大气上档次! 初始化本地仓库 mkdir xxx cd xxx git init 创建本 ...
- 用 Java 解密 C# 加密的数据(DES)(转)
今天遇到java解密url的问题.我们的系统要获取外部传过来的URL,URL是采用 DES 算法对消息进行加密,再用 BASE64 编码.不过对方系统是用 C# 写的. 在网上搜了几篇文章终于找到一篇 ...
- RHEL7 配置网络yum源
redhat系统安装好尽管默认带有yum,但是redhat的更新包只对注册用户有效(收费).所以需要更换yum源. 基本的流程就是: 1.删除redhat7.0系统自带的yum软件包: 2.自行下载所 ...
- 在ASP.NET Core中使用brotli压缩
Brotli是一种全新的数据格式,可以提供比Zopfli高20-26%的压缩比.据谷歌研究,Brotli压缩速度同zlib的Deflate实现大致相同,而在Canterbury语料库上的压缩密度比LZ ...