基于51单片机的智能灌溉系统

目录

  • 基于51单片机的智能灌溉系统
    • 一、原理图
    • 二、部分代码
    • 三、视频演示


基于51单片机的智能灌溉系统

功能:
1.通过LCD屏幕显示光照强度、土壤湿度以及温度
2.通过按键调整手自动模式、手动模式下可手动打开灌溉
3.若温湿度不在范围内,实现报警功能
4.通过串口助手模拟输出

一、原理图

在这里插入图片描述

二、部分代码

#include <reg51.h>
#include "lcd.h"
#include "adc.h"
#include "stdio.h"
#include "hardware.h"
#include "ds18b201.h"unsigned char add1 = 0;//ADC0832 采集两路AD add1是第一路 add2是第二路 范围是0-255
unsigned char add2 = 0;unsigned char buffer3[24];//这是一个待发送字符串的存放数组
extern unsigned char sdata1;//温度存放的变量
extern unsigned char add11;//0-255 转化为 0-99 第一路ADC
extern unsigned char add22;//0-255 转化为 0-99 第二路ADC//串口初始化,设置波特率为9600,使用定时器1,晶振频率为11.0592 -> 串口发送
void Uart_Init(void) 
{TMOD |=0x20;/*定时器1工作于模式2,8位自动重装入定时器*/TL1=0xfd;/*晶振为11.0592MHz时,设置波特率为9600bps*/TH1=0xfd;/*晶振为11.0592MHz时,设置波特率为9600bps*/TR1=1;/*启动定时器1*/SCON=0x40;/*UART工作于方式1,8位波特率可变串口,不允许接收*/PCON=0x00;/*波特率不加倍*/
}void Send_String(unsigned char * p)//串口发送字符串函数
{unsigned char index=0;do{SBUF=p[index++];while(TI == 0);TI= 0;}while(p[index]!=0);
}void main()
{LcdInit();//LCD初始化Uart_Init();//串口初始化Buzzer_Off();//关闭蜂鸣器Motor_Stop();//关闭电机while(1){Scan();//按键扫描LcdShow();//LCD显示Control();//蜂鸣器 电机控制ReadTemperature1();//温度获取add1 = Adc0832(0);//光照获取 0-99add2 = Adc0832(1);//土壤湿度获取 -99%//串口发送函数 把数据格式化进buffer3这个字符串 然后直接发送buffer3这个字符串sprintf(buffer3, "T:%bd L:%bd H:%bd\r\n", sdata1, add11, add22);Send_String(buffer3);}
}

三、视频演示

哔哩哔哩视频演示链接跳转,请直接点击!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/2229.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在前端写播放音频

ml(html文档、wxml文档等) <audio action{{action}} src"http://music.163.com/song/media/outer/url?id2059780541.mp3"></audio> js文档 action:{"method":"play"}

第十六届CISCN复现MISC——国粹

国粹 不是我说&#xff0c;我当时比赛的时候&#xff0c;在那里叭叭叭的数的老用心了结果他是一道非常不常规的图片密码题&#xff0c;又是一种我没见过的题型 看了一些大佬的解题&#xff0c;知道他是一个坐标类型的图片拼凑 发现很多都提到了opencv&#xff0c;又是一个知识…

Flink报错大全

1.flink版本由1.13.6提升到1.15.2 maven jar依赖问题 官方因为1.15.2弃用了2.11版本的scala,jar的命名也发生改变,部分默认的2.12版本的scala不用再特声明 1.15.2版本maven依赖 <repositories><repository><id>aliyunmaven</id><name>阿里云…

一步一步学OAK之九:通过OAK相机实现视频帧旋转

目录 Setup 1: 创建文件Setup 2: 安装依赖Setup 3: 导入需要的包Setup 4: 定义变量Setup 5: 定义旋转矩形的四个顶点坐标Setup 6: 创建pipelineSetup 7: 创建节点Setup 8: 设置属性Setup 9: 建立链接Setup 10: 连接设备并启动管道Setup 11: 创建与DepthAI设备通信的输入队列和输…

SpringBoot + Vue前后端分离项目实战 || 二:Spring Boot后端与数据库连接

系列文章&#xff1a; SpringBoot Vue前后端分离项目实战 || 一&#xff1a;Vue前端设计 SpringBoot Vue前后端分离项目实战 || 二&#xff1a;Spring Boot后端与数据库连接 SpringBoot Vue前后端分离项目实战 || 三&#xff1a;Spring Boot后端与Vue前端连接 SpringBoot V…

ChatGPT: 交互式AI助手为互联网用户带来全新体验

目录 概述&#xff1a; 优势&#xff1a; 挑战&#xff1a; 未来发展方向&#xff1a; 概述&#xff1a; 在当今数字化时代&#xff0c;人工智能&#xff08;AI&#xff09;正以惊人的速度改变着我们的生活方式和体验方式。AI 的应用范围越来越广泛&#xff0c;从语音助手到…

基于uni-app+vue3跨端「h5+小程序+App」仿制chatGPT模板实例

uni-chatgpt 一款uniappvite4uview-plus多端ChatGPT模板实例。 全新首发的一款多端仿制chatgpt智能对话实战项目&#xff0c;基于uniAppVue3PiniauViewUIMarkdownIt等技术开发搭建项目。支持编译到h5小程序APP端&#xff0c;支持markdown语法解析及代码高亮。 功能特点 全屏沉…

BACnet网关如何采集Modbus RTU设备转BACnet IP协议

BACnet标准是针对采暖、通风、空调、制冷控制设备设计的&#xff0c;同时也是为其他楼宇控制系统(例如照明&#xff0c;安保&#xff0c;消防等系统)的集成提供一个基本原则。 本文主要讲述了BACnet网关采集Modbus RTU设备&#xff08;M140T&#xff09;&#xff0c;将Modbus …

CentOS 执行yum命令报错【错误:为仓库 ‘appstream‘ 下载元数据失败: ...】

文章目录 一、遇到问题二、原因分析三、解决问题方案一&#xff1a;更新centos提供的yum源新地址1. yum源仓库配置文件内容2. 更新yum源新地址3. 测试yum安装命令 方案二&#xff1a;更新为 国内的yum源1. 使用 阿里的yum源2. 使用 网易的yum源3. 使用 清华的yum源 四、总结 一…

GPT3学习笔记

GPT-3概述 关于GPT-3的主要事实: 模型分类:GPT-3有8个不同的模型&#xff0c;参数从1.25亿到1750亿不等。 模型大小:最大的GPT-3模型有1750亿参数。这比最大的BERT模型大470倍(3.75亿个参数) 体系结构:GPT-3是一种自回归模型&#xff0c;使用仅有解码器的体系结构。使用下一…

升哲科技受邀出席第十四届夏季达沃斯论坛

6月27日至29日&#xff0c;第十四届夏季达沃斯论坛将在天津举办&#xff0c;国务院总理李强将出席论坛&#xff0c;并在开幕式上发表特别致辞。 升哲科技&#xff08;SENSORO&#xff09;创始人兼CEO赵武阳作为中国新生代商业领袖代表&#xff0c;受邀参加开幕式以及主论坛&am…

#10044 「一本通 2.2 例 2」Power Strings(KMP)(内附封面)

题目描述 原题来自&#xff1a;POJ 2406 给定若干个长度 \le 10^6 的字符串&#xff0c;询问每个字符串最多是由多少个相同的子字符串重复连接而成的。如&#xff1a;ababab 则最多有 3 个 ab 连接而成。 输入格式 输入若干行&#xff0c;每行有一个字符串。特别的&#xf…