Wio Termina采集数据和显示
Funpack第12期Wio Terminal活动,使用Grove接口扩展温湿度、光照和电位计,采集数据后显示到LCD屏幕
标签
嵌入式系统
形色匆匆
更新2022-01-11
725

完成任务一

1、 读取传感器数据并显示。

通过扩展三个Grove 传感器模块,在Wio Terminal的LCD 上测量和显示光照、温度、湿度和电位器输出值,并将数据可视化。Grove 传感器模块即插即用,使用方便。

三个传感器分别是Grove - Light Sensor、Grove-Rotary Angle Sensor、Grove - Temperature & Humidity Sensor

Temperature & Humidity Sensor是温湿度数字传感器,接到Wio Terminal右下角的Grove扩展口.

     Light Sensor是模拟光照传感器,通过杜邦线接到BCM23(A2)口。

     Rotary Angle Sensor Sensor是电位计,通过杜邦线接到BCM22(A1)口。

采用ARDUINO  IDE进行开发工作。

 

 

2主要代码片段及解释

//初始化

DHT dht(DHTPIN, DHTTYPE); //Initializing DHT sensor

TFT_eSPI tft; //Initializing TFT LCD

TFT_eSprite spr = TFT_eSprite(&tft); //Initializing buffer

//LCD显示设置

  spr.fillSprite(TFT_WHITE); //Fill background with white color

  spr.fillRect(0,0,320,50,TFT_RED); //Rectangle fill with dark green

  spr.setTextColor(TFT_WHITE); //Setting text color

  spr.setTextSize(3); //Setting text size

  spr.drawString("XSCC Smart",50,15); //Drawing a text string

  spr.drawFastVLine(150,50,190,TFT_DARKGREEN); //Drawing verticle line

  spr.drawFastHLine(0,140,320,TFT_DARKGREEN); //Drawing horizontal line

温度显示

  

spr.setTextColor(TFT_BLACK);

  spr.setTextSize(2);

  spr.drawString("Temperature",10,65);

  spr.setTextSize(3);

  spr.drawNumber(t,50,95); //Display temperature values

  spr.drawString("C",90,95);

湿度显示

 

spr.setTextSize(2);

  spr.drawString("Humidity",25,160);

  spr.setTextSize(3);

  spr.drawNumber(h,30,190); //Display humidity values

  spr.drawString("%RH",70,190);

旋转角度(电位计)显示

sensorValue = analogRead(sensorPin); //Store sensor values

  sensorValue = map(sensorValue,1023,400,0,100); //Map sensor values

  spr.setTextSize(2);

  spr.drawString("Rotary",160,65);

  spr.setTextSize(3);

  spr.drawNumber(sensorValue,200,95); //Display sensor values as percentage  

  //spr.drawString("%",240,95);

光照显示

 spr.setTextSize(2);

  spr.drawString("Light",200,160);

  spr.setTextSize(3);

  light = map(light,0,1023,0,100); //Map sensor values

  spr.drawNumber(light,205,190); //Display sensor values as percentage  

  spr.drawString("%",245,190);
  • 3功能展示及说明

 

     按设计将各传感器连接到相应端子后,将程序下载到Wio Terminal上,程序开始运行,屏幕上分别显示出温度、湿度、光照和电位计数值。

 

  通过用手遮挡光照传感器可以看到数值发生变化。

  通过旋转电位计可以看到显示数值发生变化。

  对温湿度传感器进行加温和加湿可以看到显示屏上温度和湿度值的变化。

使用Arduino开发简便快捷高效。传感器和显示屏的库文件都很全,只要简单引用即可,确实是入门的好选择。

Fl3jev9zOygRCSaHbiT1jFLq2ROx

项目接线图FqQxsQqsncSSBNvhimD7DoW_mQih

显示结果

  • 4对本活动的心得体会

后续可对系统进行进一步扩展,通过板载蓝牙或 WiFi,为系统添加云功能并远程查看收集的数据。

附件下载
微信图片_20211231203651.jpg
接线图
微信图片_20211231203637.jpg
显示效果
Smart.ino
ARDUINO 程序
团队介绍
企业研发工程师
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号