Wio Terminal 读取 AHT10 传感器
Posted 阿基米东
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Wio Terminal 读取 AHT10 传感器相关的知识,希望对你有一定的参考价值。
本文介绍如何通过 Wio Terminal 读取 AHT10 传感器的温湿度数据。
AHT10 传感器
AHT10 是一款高精度、完全校准、贴片封装的温湿度传感器,采用 I2C 信号输出,可测量温度范围 -40~+85℃,分辨率达 0.01℃。
读取数据
这里使用 Adafruit AHTX0 库读取 AHT10 传感器数据,返回浮点类型的温度和湿度值。
#include <Adafruit_AHTX0.h>
Adafruit_AHTX0 aht;
void setup()
Serial.begin(115200);
Serial.println("Adafruit AHT10/AHT20 demo!");
if (! aht.begin())
Serial.println("Could not find AHT? Check wiring");
while (1) delay(10);
Serial.println("AHT10 or AHT20 found");
void loop()
sensors_event_t humidity, temp;
aht.getEvent(&humidity, &temp);// populate temp and humidity objects with fresh data
Serial.print("Temperature: "); Serial.print(temp.temperature); Serial.println(" degrees C");
Serial.print("Humidity: "); Serial.print(humidity.relative_humidity); Serial.println("% rH");
delay(500);
显示数据
显示数据部分依赖 TFT LCD 库,库在安装 Seeed SAMD Boards 库时已经包含了,大家可以参考 Wio Terminal 开发环境。另外,我们还使用了 Free_Fonts.h
库提供的一些免费字体,可以点击这里下载,并将它放在 Arduino 工程中。
#include <Adafruit_AHTX0.h>
#include "Free_Fonts.h"
#include "TFT_eSPI.h"
Adafruit_AHTX0 aht;
TFT_eSPI tft;
boolean pageChanged = true;
void setup()
Serial.begin(115200);
Serial.println(">> Funpack Smart Air <<");
tft.init();
tft.setRotation(3);
tft.fillScreen(tft.color565(24,15,60));
if (! aht.begin())
Serial.println("Could not find AHT? Check wiring");
while (1) delay(10);
Serial.println("AHT10 or AHT20 found");
void loop()
sensors_event_t humidity, temp;
aht.getEvent(&humidity, &temp);// populate temp and humidity objects with fresh data
Serial.print("Temperature: "); Serial.print(temp.temperature); Serial.println(" degrees C");
Serial.print("Humidity: "); Serial.print(humidity.relative_humidity); Serial.println("% rH");
getSensorData(temp.temperature, humidity.relative_humidity);
delay(2000);
void getSensorData(const float temp, const float humi)
// -----------------LCD---------------------
tft.setFreeFont(FF17);
tft.setTextColor(tft.color565(224,225,232));
tft.drawString("Funpack Smart Air", 85, 10);
tft.fillRoundRect(10, 45, 145, 180, 5, tft.color565(40,40,86));
tft.fillRoundRect(165, 45, 145, 180, 5, tft.color565(40,40,86));
tft.setFreeFont(FM9);
tft.drawString("Temperature", 25, 60);
tft.drawString("degrees C", 35, 200);
tft.drawString("Humidity", 195, 60);
tft.drawString("% rH", 220, 200);
tft.setFreeFont(FMB24);
tft.setTextColor(TFT_RED);
tft.drawString(String(temp, 1), 30, 120);
tft.setTextColor(TFT_GREEN);
tft.drawString(String(humi, 1), 180, 120);
运行效果
以上是关于Wio Terminal 读取 AHT10 传感器的主要内容,如果未能解决你的问题,请参考以下文章
Wio Terminal 天气小助手(Funpack 项目)