基于单片机的温室大棚智能控制系统的设计(所有工程代码在资源里面可以免费下载)

目录

一、基本要求:

二、使用的元器件:

三、原理图​编辑

四、整个系统的实物图

五、程序


一、基本要求:

1.硬件可以使用单片机或者其他硬件也可以,通信可以使用无线或者有线传输,最好使用无线功能
2.具有可以记录温度、湿度、相对湿度等功能,时间间隔设置采集5分钟采集一次
3.上位机软件可以使用安卓编辑成手机控制或者采集用其他可视化软件编辑控制,把采集的数据保存到上位机中,并且可以实现查询以前的记录。

二、使用的元器件:

1.DHT11(温湿度传感器:直接测量温度和湿度)

2.ch340(串口转通信)

3.LED灯(系统提示灯,LED灯闪烁代表系统开始工作)
4.STM32F103ZET6(32单片机,核心芯片的型号:STM32F103ZET6)
5.上位机(可以直接发出操控命令的计算机)

三、原理图

四、整个系统的实物图

1.实物展示图

2.后台数据截图

五、程序

1.STM32主程序


2.上位机部分程序:
(1)串口打开函数

# 串口打开函数
def open_ser():
    port = 'com5'  # 串口号
    baudrate = 115200  # 波特率
    try:
        global ser
        ser = serial.Serial(port, baudrate, timeout=2)
        if (ser.isOpen() == True):
            print("串口打开成功")
    except Exception as exc:
        print("串口打开异常", exc)

(2)数据发送函数

# 数据发送
def send_msg():
    try:
        # send_datas = input("请输入要发送的数据\n")
        # ser.write(str(send_datas).encode("gbk"))
        # print("已发送数据:",send_datas)
        send_datas1 = 875
        ser.write(str(send_datas1).encode("gbk"))
        print("已发送数据:", send_datas1)
    except Exception as exc:
        print("发送异常", exc)

(3)接收数据函数

# 接收数据
def read_msg():
    try:
        print("等待接收数据")
        while True:
            data = ser.read(ser.in_waiting).decode('gbk')
            if data != '':
                break
        print("已接受到数据:", data)
        return data
    except Exception as exc:
        open_ser()
        print("读取异常", exc)

(4)关闭串口函数

# 关闭串口
def close_ser():
    try:
        ser.close()
        if ser.isOpen():
            print("串口未关闭")
        else:
            print("串口已关闭")
    except Exception as exc:
        print("串口关闭异常", exc)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>