从零开始的蔬菜大棚控制系统之路(一):通识

2024-02-21 10:59

本文主要是介绍从零开始的蔬菜大棚控制系统之路(一):通识,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本系列将从零开始认识单片机,进一步了解单片机的构造、功能和使用,最终将制作一整套的蔬菜大棚控制系统,其包含的功能包括:

1、检测温度、湿度、光照等一系列数据,并显示在显示屏上;

2、通过舵机控制风扇以调节温度;

3、通过喷洒装置以调节湿度。

认识单片机

单片机(Single-Chip Microcomputer)是一类具有完整计算机结构的芯片,单片机内部包括了很多片上资源,如ROM、RAM、GPIO等。我们在计算机上使用高级语言(如C语言)编写程序,开发软件(IDE)可以将程序编译为单片机可识别的语言,之后再通过烧录软件,我们就可以将程序烧录到单片机上,在程序烧录结束之后,单片机上电之后便会自动执行程序所命令的动作。

使用单片机,就一定离不开外设的应用,本蔬菜大棚的项目中的温湿度传感器等都可以称之为外设,外设之中最重要的就是GPIO(General-purpose input/output),GPIO是一种可以输入输出数字信号(高低电平,0或1)的外设,集成在单片机之中,GPIO既可以输入 也可以输出,我们以本项目为画一个简单的框图如图:

框图

而在使用外设的过程中,由于外设之间种类不同,并且为了适应不同应用环境,外设都会遵守某种与单片机之间通信的协议,如I2C、SPI、CAN等,具体内容等到后面单独讲到传感器再展开来说。

初识STM32

本项目在单片机的选型上选择的是意法半导体公司推出的STM32F103ZET6,该单片机由于历史悠久,所以在2023年我很难挑几个他还能看得下去的优点说,选择这款单片机的原因最主要的是网上的资料多,过去几年很多项目都是使用STM32,所以只要想搜互联网上总有STM32的开源项目。

而由于某些工艺上面的限制,如果要使用单片机,我们不仅需要单片机这一个芯片本身,还需要一些必须的硬件电路,我们称能使单片机工作的最小规模的硬件电路为最小系统板,在最小系统板的基础上在开发板上增加外设,我们就能得到各种各样的开发板。

正点原子STM32F103ZET6开发板、

 图中红框位置就是单片机,两旁黄色的排针就是通过电路板引出来的GPIO口,模块通过杜邦线连接到开发板上,进而连接到单片机中。

 如果要使用STM32,我们需要在电脑上安装相应的开发环境,STM32通用的开发环境是一款叫做Keil5的软件,具体安装教程自行百度吧我懒得写了。

项目总体框图

硬件电路框图

程序框图

 

 

 

这篇关于从零开始的蔬菜大棚控制系统之路(一):通识的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/731552

相关文章

【单片机毕业设计选题24024】-房间自动除湿控制系统

系统功能: 系统分为手动和自动模式,上电默认为自动模式。自动模式下如果获取到湿度 值大于设定的湿度值则自动打开风扇,手动模式下手动开关风扇。 系统上电后显示“欢迎使用除湿控制系统请稍后”,两秒钟后进入主页面显示。 第一行显示系统模式,手动或自动模式 第二行显示获取到的温湿度 第三行显示设置的湿度阈值 第四行显示风扇状态和系统报警状态,风扇状态有开关状态,系统状态和OK和 NG状态。

Android从零开始搭建MVVM架构(5)—— LifeCycle详解

1.Lifecycle简介 为什么要使用lifecycle? activity 和fragment 是有声明周期的,有时候,我们的很多操作需要写在声明周期的方法中,比如,下载,文件操作等,这样很多情况下回导致,我们在activity中的声明周期方法中写越来越多的代码,activity或者fragment 越来越臃肿,代码维护越来越困难。 使用lifecycle就可以很好的解决这类问题。 lifec

Android从零开始搭建MVVM架构(4)——LiveData

LiveData 介绍 Livedata 是 Google 推荐的 Android 架构组件之一,是一个存放可被观察的数据持有类,有生命周期感知功能,解决了android开发者需要去手动处理生命周期的痛点。 比如当我们使用 Retrofit+Rxjava处理接口回调数据时,需要考虑activity 或 fragment 生命周期,以解决 onStop 或 onDestory之后回调数据的问题。现

Android从零开始搭建MVVM架构(3)——ViewModel

ViewModel类是被设计用来以可感知生命周期的方式存储和管理 UI 相关数据,ViewModel中数据会一直存活即使 activity configuration发生变化。 ViewModel有什么优势? 1.数据持久化 activity 在销毁重建时,之前我们可以用 activity 的onSaveInstanceState()机制保存和恢复数据,但缺点很明显,onSaveInstan

React+TS 从零开始教程(2):简中简 HelloWolrd

源码链接:https://pan.quark.cn/s/c6fbc31dcb02 这一节,我们来见识React+TS的威力,开始上手开发第一个组件,什么组件呢? 当然是简中简的 HelloWolrd组件啦。 在src下创建一个components,然后新建Hello.tsx 为什么是tsx呢,这个目的就是告诉编译器,我这个文件是支持jsx语法的,如果遇到你看不懂的标签,就当作React Ele

从零开始学数据结构系列之第三章《平衡二叉树基础概念》

文章目录 前言什么是平衡二叉树往期回顾 前言 ​   在前面的学习过程中,我们了解到二叉排序树可以在一定程度上提高查找(搜索)的效率,但仍然会出现特殊情况,让二叉排序树失效。例如,将序列{1,2,3,4,5,6}中的元素依次插入到二叉排序树中,会得到右斜树,这就相当于一个单链表了,搜索效率降低为O(n)。   于是在 1962 年,一个姓 AV 的大佬(G. M. Ade

从零开始搭建一个酷炫的个人博客

效果图 一、搭建网站 git和hexo准备 注册GitHub本地安装Git绑定GitHub并提交文件安装npm和hexo,并绑定github上的仓库注意:上述教程都是Windows系统,Mac系统会更简单! 域名准备 购买域名,买的是腾讯云域名,购买完成之后的域名管理解析域名域名备案 二、优化网站 使用的Fluid主题,Hexo Fluid 用户手册 增加图床,图片可以放在g

基于S7-200PLC的全自动洗衣机控制系统设计

wx供重浩:创享日记 那边对话框发送:plc洗衣 获取完整无水印设计说明报告(含程序梯形图) 1.自动洗衣机PLC控制的控制要求 1.1全自动洗衣机的基本结构、工作流程和工作原理 1.自动洗衣机的基本结构 2.自动洗衣机的工作流程 自动洗衣机的单循环工作流程示意图: 3.自动洗衣机的工作原理: 洗衣机的进水和排水分别有进水电磁阀和排水电磁阀控制。进水时,控制系统使进水电磁阀打开,将水

【GD32】从零开始学兆易创新32位微处理器——RTC实时时钟+日历例程

1 简介 RTC实时时钟顾名思义作用和墙上挂的时钟差不多,都是用于记录时间和日历,同时也有闹钟的功能。从硬件实现上来说,其实它就是一个特殊的计时器,它内部有一个32位的寄存器用于计时。RTC在低功耗应用中可以说相当重要,因为在使用外部低速晶振的条件下,它在所有的低功耗模式下都可以工作,这使得RTC很适合实现芯片的低功耗唤醒。下面是RTC的框图。 咋一看RTC的内部还挺复杂的。 2 硬件时

基于simulink的PEM燃料电池控制系统建模与仿真,对比PID,积分分离以及滑模控制器

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 PID控制器 4.2 积分分离PID控制器 4.3 滑模控制器 5.完整工程文件 1.课题概述 基于simulink的PEM燃料电池控制系统建模与仿真,对比PID,积分分离以及滑模控制器。 2.系统仿真结果 (完整程序运行后无水印)