使用Arduino制造RGB_Matrix变色温度计

2025-04-161515
AI 快速预览详细 收起
本文介绍了如何使用Arduino和RGB矩阵制作一个变色温度计。首先需要下载DFRobot_RGBMatrix库和DHT库,然后配置硬件并编写代码。最终效果是通过RGB矩阵显示温度和湿度数据。适合电子项目爱好者尝试。
首先,下载对应库
Arduino-librayrs-DFRobot_RGBMatrix.h
Arduino-librarys-DHT.h注意:RGB Matrix要5V3A+电流
代码:
/*!
* @file testRGBMatrix.ino
* @brief Run the routine to test the RGB LED Matrix Panel
* @copyright   Copyright (c) 2010 DFRobot Co.Ltd (http://www.dfrobot.com)
* @license     The MIT License (MIT)
* @author [TangJie]](jie.tang@dfrobot.com)
* @version  V1.0.1
* @date  2022-03-23
* @url https://github.com/DFRobot/DFRobot_RGBMatrix
*/

/*!
* @file testRGBMatrix.ino
* @brief Run the routine to test the RGB LED Matrix Panel
* @copyright   Copyright (c) 2010 DFRobot Co.Ltd (http://www.dfrobot.com)
* @license     The MIT License (MIT)
* @author [TangJie]](jie.tang@dfrobot.com)
* @version  V1.0.1
* @date  2022-03-23
* @url https://github.com/DFRobot/DFRobot_RGBMatrix
*/

#include <DFRobot_RGBMatrix.h>
#include<DHT.h>
#define data 4
#define code 11

#define OE    9
#define LAT   10
#define CLK   11
#define A     A0
#define B     A1
#define C     A2
#define D     A3
#define E     A4
#define WIDTH 64
#define _HIGH 128

DFRobot_RGBMatrix matrix(A, B, C, D, E, CLK, LAT, OE, false, WIDTH, _HIGH);
DHT dht2(data,code);
void temp(float item, float trem) {  // Use parentheses () instead of colon :
  if (item < 16) {
    matrix.setTextColor(matrix.Color333(0, 0, 255));
    matrix.setCursor(12, 20);
    matrix.print(item);
  }
  else if (item < 30) {
    matrix.setTextColor(matrix.Color333(0, 255, 0));
    matrix.setCursor(12, 20);
    matrix.print(item);
  }
  else {
    matrix.setTextColor(matrix.Color333(255, 0, 0));
    matrix.setCursor(12, 20);
    matrix.print(item);
  }

  if (trem < 16) {
    matrix.setTextColor(matrix.Color333(0, 0, 255));
    matrix.setCursor(12, 40);
    matrix.print(item);  // Note: You're printing 'item' here, should it be 'trem'?
  }
  else if (trem < 30) {
    matrix.setTextColor(matrix.Color333(0, 255, 0));
    matrix.setCursor(12, 40);
    matrix.print(item);  // Note: You're printing 'item' here, should it be 'trem'?
  }
  else {
    matrix.setTextColor(matrix.Color333(255, 0, 0));
    matrix.setCursor(12, 40);
    matrix.print(trem);
  }
  matrix.setCursor(12, 50);
  matrix.print('C');
  matrix.setCursor(12, 30);
  matrix.print('%');
  delay(1000);
  matrix.fillScreen(0);
}
void setup() {

  matrix.begin();
  dht2.begin();

}

void loop() {
  temp(dht2.readTemperature(),dht2.readHumidity());

}






创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(0)
- 没有更多了 -