Funpack第八期-基于Arduino Nano 33 BLE Sense的环境监测站

本文介绍了使用Arduino Nano 33 BLE Sense创建一个环境监测站的过程,包括温度、湿度、气压、日照强度和噪声的检测。硬件连接了一个1.14寸LCD屏幕,并通过SPI接口与Nano连接。程序设计分为BLE未连接时仅屏幕显示和连接后通过屏幕及微信小程序显示数据。作者分享了使用Arduino开发板的心得体会,强调其易用性、丰富的库和兼容性。
摘要由CSDN通过智能技术生成

1.功能实现

本次任务主要实现了一个用于检测户外环境的小型监测站系统。检测环境参数有:

周边环境温度(精度:±0.1°C, ±0.1°F)

周边环境湿度(精度:±1%)

大气压强(精度:±0.1kPa, ±0.1psi)

日照强度(用于判断白天/夜晚)

周边平均噪声(精度:±1dB)

2.硬件连接

在这里插入图片描述
外接一个1.14寸LCD屏幕,使用NANO_33_BLE_SENSE的一个SPI接口

1.14寸LCD屏幕引脚 板卡引脚
VCC/GND +3V3/GND
SCL D13/P0.13/SCK
SDA D11/P1.01/MOSI
DC D9/P0.27
CS D8/P0.21
RES D10/P1.02
BLK D7/P0.23

3.代码部分

检测环境数据通过两部分显示:第一是未连接BLE前只通过屏幕显示;第二是连接BLE后通过屏幕和微信小程序显示。

LCD显示

void display_process(void)
{
   
  tft.setTextColor(ST77XX_WHITE, ST77XX_BLACK); 
  tft.setCursor(0, 0);
  tft.print("WERTHER STATION");
  tft.drawLine(0, 16, tft.width() - 1, 16, ST77XX_YELLOW);
  
  temperature = HTS.readTemperature() + CALIBRATION_FACTOR;  
  Serial.print(F("TEMPERATURE:"));
  Serial.print(temperature, 1);
  Serial.println(F(" °C"));
  
  tft.setTextColor(ST77XX_RED, ST77XX_BLACK);
  tft.setCursor(0, 20);
  tft.print("TEMPERATURE:");
  tft.print(temperature, 1);
  tft.drawCircle(200, 20, 3, ST77XX_RED);
  tft.setCursor(208, 20);
  tft.print("C");
  tft.drawLine(0, 36, tft.width() - 1, 36, ST77XX_YELLOW);

  humidity = HTS.readHumidity();
  Serial.print(F("HUMIDITY:"));
  Serial.print(humidity, 1);
  Serial.println(F(" %"));
  
  tft.setTextColor(ST77XX_RED, ST77XX_BLACK);
  tft.setCursor(0, 40);
  tft.print("HUMIDITY:");
  tft.print(humidity, 1);
  tft.setCursor(160, 40);
  tft.print("%");
  tft.drawLine(0, 56, tft.width(
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值