如何从各种传感器中获取数据并将其记录在SD卡上

电子说

1.2w人已加入

描述

步骤1:一切准备就绪

首先,确保已安装Intel/Arduino编程环境。

请确保已安装Edison随附的塑料支架,以防止短路板底部的焊点。

步骤2:开始插入组件

在此项目中,我将端口A0用于温度传感器,将A1用于声音传感器,将A2用于光传感器, D5用于伺服电机。

步骤3:创建并插入模拟样式表

我只是在这个项目中使用了纸板和胶带,因为我打算在其他项目中使用这些零件。我切了一块有槽的纸板,以垂直安装伺服电机。然后,我将伺服电机插入Digital5。如果需要,可以使用不同的材料轻松地使结构更永久,更坚固。

步骤4:代码!

现在,编程时间到了。如果您选择自己重新创建它,则很可能需要调整一些值以使其适合您。原始.ino文件可从下面下载。我还打算将代码模块化,因此,如果您愿意,您可以将零碎的代码拿出来在自己的软件中使用。

#include

#include

#include

#include int a;

float tempcelsius;

int B=3975; //B value of the thermistor(Do Not Change!)

float resistance;

double tempfarenheit = 0;

Servo tempservo;

int temptoservo = 0;

循环-循环是将重复运行的代码

//Begin Temperature Code

a=analogRead(0);

resistance=(float)(1023-a)*10000/a; //get the resistance of the sensor;

tempcelsius=1/(log(resistance/10000)/B+1/298.15)-273.15; //convert resistance to Celsius via datasheet ;

tempfarenheit=((tempcelsius*9)/5)+31; //OPTIONAL - Convert from Celsius to Farenheit

//End Temperature Code

此处显示的温度代码来自Grove温度传感器的数据表,用于根据热敏电阻的电阻确定温度。

数据记录功能 //Begin SD Logging code

File dataLog = SD.open(“datalog.txt”, FILE_WRITE); if (dataLog) {

dataLog.print(“Temp: ”);

dataLog.println(tempfarenheit);

dataLog.print(“Sound Level: ”);

dataLog.println(soundLevel);

dataLog.print(“Light Level: ”);

dataLog.println(lightLevel);

delay(5000);

dataLog.close()

//End SD Logging Code

此代码每5秒将当前传感器数据转储到.txt文件中。您可以根据需要更改转储之间的等待时间。
       责任编辑:wv

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分