【Arduino】温湿度传感器(DHT11)控制设计 四位数码管,LCD1602,带蜂鸣器、LED灯报警,串口输入设定阈值

@[TOC](
【Arduino】温湿度传感器(DHT11)控制设计 四位数码管,LCD1602,带蜂鸣器、LED灯报警,串口输入设定阈值
)


一、实验器材

UNO控制板:1块
共阳极四位数码管:1个
面包板:1块
面包板跳线:若干
220Ω电阻:4个
有源蜂鸣器:1个
红色led灯-1
黄色led灯-1
DHT11:1个

二、连线示意图

在这里插入图片描述
请添加图片描述注意:A4接LCD1602的SDA、A5接LCD1602的SCL

三、代码如下

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <dht11.h>
dht11 dht11; 
char signal;
int dhtpin = A3;//DHT11温湿度传感数据读取端口  
int buzzerPin = A0;//蜂鸣器端口
int LED1 = A2;
int LED2 = A1;
 //设置初始温度湿度
int temperatureset=22;
int humidityset=20;
//设置阴极接口
int a = 2;
int b = 3;
int c = 4;
int d = 5;
int e = 6;
int f = 7;
int g = 8;
int p = 9;
 //设置阳极接口
int d4 = 12;
int d3 = 13;
int d2 = 11;
int d1 = 10;
 //设置变量

float humidity;
float temperature;
int num4;
int num3;
int num2;
int num1;
// I2C地址, 一般为0x3F, 0x20或0x27
LiquidCrystal_I2C lcd(0x27,16,2);

void setup(){
               
lcd.init();
lcd.backlight(); // 打开背光
 Serial.begin(9600);
 pinMode(d1, OUTPUT);
 pinMode(d2, OUTPUT);
 pinMode(d3, OUTPUT);
 pinMode(d4, OUTPUT);
 pinMode(a, OUTPUT);
 pinMode(b, OUTPUT);
 pinMode(c, OUTPUT);
 pinMode(d, OUTPUT);
 pinMode(e, OUTPUT);
 pinMode(f, OUTPUT);
 pinMode(g, OUTPUT);
 pinMode(p, OUTPUT);
 pinMode(buzzerPin,OUTPUT);
 pinMode(LED1,OUTPUT);//设置led引脚为输出引脚
 pinMode(LED2,OUTPUT);//设置led引脚为输出引脚
  lcd.setCursor(0,1); // line 1, pos 0
  lcd.print("H:     % T:");
  delay(1000);
}

void pickDigit(int x)  //定义pickDigit(x),其作用是开启dx端口
{
   
  digitalWrite(d1, LOW);
  digitalWrite(d2, LOW);
  digitalWrite(d3, LOW);
  digitalWrite(d4, LOW);
  
  switch(x)
  {
   
  case 1:
    digitalWrite(d1, HIGH);
    break;
  case 2:
    digitalWrite(d2, HIGH);
    break;
  case 3:
    digitalWrite(d3, HIGH);
    break;
  default
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱学习的小莲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值