下手の横好きのスクラップブック!!

下手の横好きの、いろいろな記録です。
電子工作・PIC・Arduino・太陽光発電・写真などetc

Arduino・Ethernetシールドをテストする(3) マイクロSDカードにデータを保存

2012-03-29 | Arduino

Ethernetシールドには、マイクロSDカードが実装できるようになっておりますので、今回はそれ利用してデータを保存してみます。
前回使った装置にLCDディスプレイを追加して、データを見えるようにします。さらにSerial Monitor で各データの確認ができるスケッチにしました。
センサー部分は前回のままですが、Arduino、Ethernetシールド、LCDシールドの3階建てになります。

LCDディスプレイはEthernetのピンと重ならないように配線を変更しました。

 

全体の配線

スケッチ

#include <LiquidCrystal.h>
#include <SD.h>
 
const int chipSelect = 4;
float v = 5;
float vt = 0;
float vh = 0;
int Temp = 0;
int Hum = 0;
LiquidCrystal lcd(2,3,8,5,6,7);

float sen0 = 0;
float sen1 = 0;

void setup()
{
  Serial.begin(9600);
lcd.begin(16,2);
lcd.clear();
if (!SD.begin(chipSelect)) {
lcd.print("card failed, or not present");
return;
}
else {
lcd.print("card ON ");

void loop ()

sen0 = analogRead(0);
vt = sen0;
sen1 = analogRead(1);
vh = sen1;
Temp = (( vt *  0.00489 )- 0.6) * 100;
Hum = ( vh * 0.00489 * 30.855 ) -11.504;

Serial.print("Temp=");
Serial.print(Temp);
Serial.print(" , Hum=");
Serial.print(Hum);
Serial.print(" , vt=");
Serial.print(vt);
Serial.print(" , vh=");
Serial.println(vh);

lcd.clear();
lcd.print("T=");
lcd.print(Temp);
lcd.write(0xDF);
lcd.print("C");

lcd.setCursor(7,0);
lcd.print("H=");
lcd.print(Hum);
lcd.print("%"); 

File dataFile = SD.open("datalog.txt", FILE_WRITE);
if (dataFile) { 

dataFile.print("Temp,");
dataFile.print(Temp);
dataFile.print(",Hum=,");
dataFile.println(Hum);

dataFile.close();
lcd.setCursor(0,1);
lcd.print("SD write=");

lcd.setCursor(10,1);
lcd.print("R");
}
else {
lcd.print("error opening datalog.txt");
}

delay(60000);
}

 Serial Monitor確認画面

 
SDカードに保存されたデータ


データをエクセルに取り込みグラフ作成
 

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« Arduino・Ethernetシールドを... | トップ | 我が家の太陽光発電 201... »
最新の画像もっと見る

コメントを投稿

Arduino」カテゴリの最新記事