序文
特定のSDカードの配線については、 Arduinoの読み取りおよび書き込みSDカードモジュールを参照してください(SDカード情報を取得するため)。
このブログでは、例として温度および湿度センサーDHT22を使用しています。他のセンサーについては、1つから推測できます。別。
ハードウェアの準備
SDカードモジュール
温度湿度センサーDHT22
DHT22 | Arduino |
---|---|
+ | 5V |
S | 7 |
GND | GND |
コードセクション
温度と湿度の検出
#include <dht.h>
#define DHTPin 7
dht DHT;
void loop() {
int readData = DHT.read22(DHTPin);
float t = DHT.temperature;
float h = DHT.humidity;
Serial.print("Temperature = ");
Serial.print(t);
Serial.print(" *C ");
Serial.print(" Humidity = ");
Serial.print(h);
Serial.println(" % ");
.txtファイルを作成する
myFile = SD.open("可以自主命名.txt", FILE_WRITE);
SDカードに書き込む機能:「myFile」
if (myFile) {
myFile.print("Temperature = ");
myFile.print(t);
myFile.print(",");
myFile.print(" Humidity = ");
myFile.println(h);
myFile.close(); //结束文件记录
}
ファイルを開くことができるかどうかを確認します
else {
Serial.println("error opening data.txt");
}
完全なコード
#include <SD.h>
#include <SPI.h>
#include <dht.h>
#define DHTPin 7
dht DHT;
File myFile;
int pinCS = 4;
void setup() {
Serial.begin(9600);
pinMode(pinCS, OUTPUT);
// SD Card Initialization
if (SD.begin())
{
Serial.println("SD card is ready to use.");
} else
{
Serial.println("SD card initialization failed");
return;
}
}
void loop() {
int readData = DHT.read22(DHTPin);
float t = DHT.temperature;
float h = DHT.humidity;
Serial.print("Temperature = ");
Serial.print(t);
Serial.print(" *C ");
Serial.print(" Humidity = ");
Serial.print(h);
Serial.println(" % ");
myFile = SD.open("data.txt", FILE_WRITE);
if (myFile) {
myFile.print("Temperature = ");
myFile.print(t);
myFile.print(",");
myFile.print(" Humidity = ");
myFile.println(h);
myFile.close(); // close the file
}
else {
Serial.println("error opening data.txt");
}
delay(500);
}
レンダリング
SDカードのDATA.txtデータが正常に書き込まれたことを確認してください。!!
追記補足
SDカードに記録されたデータを使って、表や線グラフなどを描くことができます。線グラフに
描いてみてください!
!!