基于Wio Terminal的数据采集控制系统( Funpack第12期)
本系统以Seeed公司的Wio Terminal为控制器,通过Grove接口采集温湿度传感器、光照传感器的数据,并显示到Wio Terminal的显示屏上。系统还外接了一个蜂鸣器,当光照不足时,会进行报警,并在屏幕上显示报警状态。
标签
Arduino
蜂鸣器
wio terminal
Funpack第12期
温湿度传感器
光照传感器
chinaking
更新2021-12-21
722

内容介绍

基于Wio Terminal的数据采集控制系统

一、功能概述

本系统以Seeed公司的Wio Terminal为控制器,通过Grove接口采集温湿度传感器、光照传感器的数据,并显示到Wio Terminal的显示屏上。系统还外接了一个蜂鸣器,当光照不足时,会进行报警,并在屏幕上显示报警状态。

FpeqBas2mUtnbFGcPoec1n438_Pu

二、硬件描述

系统用的的硬件设备如下:

Wio Terminal   1个

Grove Starter Kit For Seeeduino Lotus  1套

Wio Terminal是Seeed公司推出的一款开发平台。

FoY81g0HGUS-MOjGs96LQydr1OIT

它体积小巧,支持Arduino等多种编程方式,自带了Wi-Fi、蓝牙、IMU、麦克风、 蜂鸣器、microSD 卡、可配置的按钮、光传感 器、五向开关、红外发射器等多个传感器或接口,功能丰富。此外,它还具有一块2.4英寸,分辨率320*240的显示屏,便于和控制器直接进行数据交互,非常方便。

Grove Starter Kit For Seeeduino Lotus,是Seeed公司推出的一款Grove开发套件。

Ftpm06LPy4ZNoDakYJmRxY5blvx2

套件包含Seeeduino LotusV1.1开发板,以及9款Grove接口的传感器或模块。

FpAnSk2tQXuxNWyfMPzM5xeqwxJh

本次主要用到的是光照传感器、温湿度传感器及蜂鸣器。

系统接线图如下图所示

FqvlmmAYung_PUuz7z8fm7PuBp0V

FnO_JUSSXpyRRUrLDuYS1bzKr0hi

温湿度传感器接到Wio开发板的D0口(13脚),光照传感器连接到Wio开发板的A1口(15脚),蜂鸣器连接到Wio开发板的D2口(16脚)。Seeeduino Lotus仅起到转接作用。

三、软件描述

系统的软件平台使用的Arduino平台,主要是正确的安装设备库及模块的库文件即可。详情可参考seeed官方的wiki网站。

下面是Arduino代码

#include "DHT.h"    //DHT 温湿度传感器库
#define DHTTYPE DHT11   // 温湿度传感器型号
#define DHTPIN 0     // 温湿度传感器接到Wio的引脚D0
DHT dht(DHTPIN, DHTTYPE);   //初始化温湿度传感器   

#include "Grove_LED_Bar.h" //LED相关库
int lightSensorPin=A1;//光照传感器接到Wio的引脚A1

int buzzerPin=D2;//蜂鸣器接到Wio的引脚D2

#include "TFT_eSPI.h"
TFT_eSPI tft;
TFT_eSprite spr=TFT_eSprite(&tft);

void setup() {
    Serial.begin(9600);
    dht.begin();
    pinMode(lightSensorPin,INPUT);
    pinMode(buzzerPin,OUTPUT);

    tft.begin();
    tft.setRotation(3);
    spr.createSprite(TFT_HEIGHT,TFT_WIDTH);
 
}

void loop() {
    //温湿度数据采集处理
    float temp_hum_val[2] = {0};//温湿度可以readTempAndHumidity一起读取,也可以分别读取readTemperature或readHumidity
    if (!dht.readTempAndHumidity(temp_hum_val)) {
        Serial.print("Humidity: ");
        Serial.print(temp_hum_val[0]);
        Serial.println(" %\t");
        Serial.print("Temperature: ");
        Serial.print(temp_hum_val[1]);
        Serial.println(" *C");
    } else {
        Serial.println("Failed to get temprature and humidity value.");
    }

   //光照数据采集处理
   int light_value = analogRead(lightSensorPin);
   light_value = map(light_value, 0, 800, 0, 100);//数据线性化处理
   Serial.print("Light value: ");
   Serial.print(light_value);
   Serial.println(" %");
   Serial.println(" ");

  //蜂鸣器测试
    if (light_value<30)
    {
    digitalWrite(buzzerPin,HIGH);
    delay(200);
    digitalWrite(buzzerPin,LOW);
     }
    else
    {
      digitalWrite(buzzerPin,LOW);
      } 

   //显示界面

   //绘制标题栏
   spr.fillSprite(TFT_WHITE);
   spr.fillRect(0,0,320,50,TFT_BLUE);
   spr.setTextColor(TFT_WHITE);
   spr.setTextSize(3);
   spr.drawString("Sensor Data",50,15);

   //绘制线框
   spr.drawFastVLine(150,50,190,TFT_BLUE);
   spr.drawFastHLine(0,140,320,TFT_BLUE);

   //显示温度值
   spr.setTextColor(TFT_BLACK);
   spr.setTextSize(2);
   spr.drawString("Temperature",10,65);
   spr.setTextSize(3);
   spr.drawNumber(temp_hum_val[1],50,95);
   spr.drawString("C",90,95);
   
   //显示湿度值
   spr.setTextColor(TFT_BLACK);
   spr.setTextSize(2);
   spr.drawString("Humidity",190,65);
   spr.setTextSize(3);
   spr.drawNumber(temp_hum_val[0],200,95);
   spr.drawString("%",240,95);
   
   //显示光照值
   spr.setTextColor(TFT_BLACK);
   spr.setTextSize(2);
   spr.drawString("Light",50,160);
   spr.setTextSize(3);
   spr.drawNumber(light_value,50,190);
   spr.drawString("%",90,190);
   

   //光照不足时,蜂鸣器报警
   spr.setTextColor(TFT_BLACK);
   spr.setTextSize(2);
   spr.drawString("Buzzer",200,160);
   spr.setTextSize(3);
   if (light_value<30)
    {spr.drawString("ON",210,190);
    }
    else
    {spr.drawString("OFF",210,190);
    }

   spr.pushSprite(0,0);
    delay(1000); 
}

四、心得体会

时间很快,历时一年的Funpack活动已经接近尾声。

本人此刻的心情比较复杂,既感觉如释重负,又有点依依不舍。

在这一年多的时间里,本人收获了很多知识,遇到了不少困难,也体会到了兴趣和项目带来的快乐。

当然,还是因为工作的关系,每块开发板都没有深入研究,留下不少遗憾。

最后,感谢硬禾学堂的平台、感谢得捷电子提供丰富多样的产品!

感谢乐于交流的网友、乐于分享的创客们!

希望今后大家能继续交流,共同进步!

附件下载

WioTerminal_Grove.ino

团队介绍

团队成员
chinaking

评论

0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号