아두이노 - SD 카드에 변수 쓰기 | Arduino - Write Variable to SD Card
이 튜토리얼에서는 아두이노를 사용하여 Micro SD 카드에 변수를 쓰는 방법을 배우게 됩니다. 자세히, 우리는 다음을 배우게 됩니다:
- Arduino - 문자열 변수를 마이크로 SD 카드에 기록하는 방법
- Arduino - 정수 변수를 마이크로 SD 카드에 기록하는 방법
- Arduino - 부동소수점 변수를 마이크로 SD 카드에 기록하는 방법
- Arduino - 문자 배열 변수를 마이크로 SD 카드에 기록하는 방법
- Arduino - 바이트 배열 변수를 마이크로 SD 카드에 기록하는 방법
- Arduino - 변수를 키-값으로 마이크로 SD 카드에 기록하는 방법
Micro SD 카드에서 키-값을 읽고 그것을 int, float, string으로 변환하려면, Arduino - SD 카드에서 설정 읽기를 참조하세요.
준비물
1 | × | Arduino Uno | Amazon | |
1 | × | USB 2.0 cable type A/B | 쿠팡 | Amazon | |
1 | × | Micro SD Card | Amazon | |
1 | × | Micro SD Card Module | 쿠팡 | Amazon | |
1 | × | Jumper Wires | Amazon | |
1 | × | USB 3.0 SD Card Reader | Amazon | |
1 | × | (Optional) 9V Power Adapter for Arduino | Amazon | |
1 | × | (Recommended) Screw Terminal Block Shield for Arduino Uno | 쿠팡 | Amazon | |
1 | × | (Recommended) Breadboard Shield For Arduino Uno | 쿠팡 | Amazon | |
1 | × | (Recommended) Enclosure For Arduino Uno | Amazon |
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.
마이크로 SD 카드 모듈에 관하여
마이크로 SD 카드 모듈(핀 배치, 작동 방식, 프로그래밍 방법 등)에 대해 모르신다면, 아두이노 - 마이크로 SD 카드 튜토리얼에서 알아보세요.
선연결
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
※ NOTE THAT:
이더넷 쉴드나 마이크로 SD 카드 홀더가 있는 어떤 쉴드를 사용한다면, 마이크로 SD 카드 모듈을 사용할 필요가 없습니다. 단지 마이크로 SD 카드를 쉴드에 있는 마이크로 SD 카드 홀더에 삽입하기만 하면 됩니다.
아두이노 - 마이크로 SD 카드에 변수를 파일로 작성하는 방법
아래 코드는 다음을 수행합니다:
- 정수 변수를 Micro SD 카드에 쓰기
- 실수 변수를 Micro SD 카드에 쓰기
- 문자열 변수를 Micro SD 카드에 쓰기
- 문자 배열을 Micro SD 카드에 쓰기
- 바이트 배열을 Micro SD 카드에 쓰기
/*
* 이 Arduino 코드는 newbiely.kr 에서 개발되었습니다
* 이 Arduino 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다.
* 상세한 지침 및 연결도에 대해서는 다음을 방문하세요:
* https://newbiely.kr/tutorials/arduino/arduino-write-variable-to-sd-card
*/
#include <SD.h>
#define PIN_SPI_CS 4
File myFile;
int myInt = -52;
float myFloat = -12.7;
String myString = "HELLO";
char myCharArray[] = "ArduinoGetStarted.com";
byte myByteArray[] = {'1', '2', '3', '4', '5'};
void setup() {
Serial.begin(9600);
if (!SD.begin(PIN_SPI_CS)) {
Serial.println(F("SD CARD FAILED, OR NOT PRESENT!"));
while (1); // 아무 것도 하지 마십시오.
}
Serial.println(F("SD CARD INITIALIZED."));
Serial.println(F("--------------------"));
SD.remove("arduino.txt"); // 파일이 존재하면 삭제
// 쓰기를 위해 파일 열기로 새 파일 생성
myFile = SD.open("arduino.txt", FILE_WRITE);
if (myFile) {
myFile.println(myInt); // int 변수를 SD 카드에 줄로 작성
myFile.println(myFloat); // float 변수를 SD 카드에 줄로 작성
myFile.println(myString); // String 변수를 SD 카드에 줄로 작성
myFile.println(myCharArray); // char 배열을 SD 카드에 줄로 작성
myFile.write(myByteArray, 5);
myFile.write("\n"); // 새 줄
for (int i = 0; i < 5; i++) {
myFile.write(myByteArray[i]); // 새 줄
if (i < 4)
myFile.write(","); // 쉼표
}
myFile.write("\n"); // 새 줄
myFile.close();
} else {
Serial.print(F("SD Card: error on opening file arduino.txt"));
}
// 읽기를 위해 파일 열기
myFile = SD.open("arduino.txt", FILE_READ);
if (myFile) {
while (myFile.available()) {
char ch = myFile.read(); // Micro SD 카드에서 한 문자씩 읽기
Serial.print(ch); // 문자를 시리얼 모니터에 출력
}
myFile.close();
} else {
Serial.print(F("SD Card: error on opening file arduino.txt"));
}
}
void loop() {
}
사용 방법
- Micro SD 카드가 FAT16 또는 FAT32로 포맷되었는지 확인하세요 (Google에서 검색하세요)
- 위의 코드를 복사하고 Arduino IDE로 열기
- Arduino IDE에서 Upload 버튼을 클릭하여 코드를 Arduino에 업로드하세요
- 시리얼 모니터에서 결과를 확인하세요.
COM6
SD CARD INITIALIZED.
--------------------
-52
-12.70
HELLO
ArduinoGetStarted.com
12345
1,2,3,4,5
Autoscroll
Clear output
9600 baud
Newline
- 마이크로 SD 카드 모듈에서 마이크로 SD 카드를 분리하세요.
- 마이크로 SD 카드를 USB SD 카드 리더기에 삽입하세요.
- USB SD 카드 리더기를 PC에 연결하세요.
- PC에서 arduino.txt 파일을 열어보세요, 내용은 아래와 같습니다.
아두이노 - 마이크로 SD 카드에 키-값을 파일에 기록하는 방법
/*
* 이 Arduino 코드는 newbiely.kr 에서 개발되었습니다
* 이 Arduino 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다.
* 상세한 지침 및 연결도에 대해서는 다음을 방문하세요:
* https://newbiely.kr/tutorials/arduino/arduino-write-variable-to-sd-card
*/
#include <SD.h>
#define PIN_SPI_CS 4
File myFile;
int myInt = -52;
float myFloat = -12.7;
String myString = "HELLO";
char myCharArray[] = "ArduinoGetStarted.com";
byte myByteArray[] = {'1', '2', '3', '4', '5'};
void setup() {
Serial.begin(9600);
if (!SD.begin(PIN_SPI_CS)) {
Serial.println(F("SD CARD FAILED, OR NOT PRESENT!"));
while (1); // 더 이상 아무것도 하지 않음:
}
Serial.println(F("SD CARD INITIALIZED."));
Serial.println(F("--------------------"));
SD.remove("arduino.txt"); // 파일이 존재하면 삭제
// 파일 쓰기 모드로 파일 열어 새 파일 만들기
myFile = SD.open("arduino.txt", FILE_WRITE);
if (myFile) {
myFile.print("myInt="); // SD 카드에 키 쓰기
myFile.println(myInt); // SD 카드에 int 변수 행 단위로 쓰기
myFile.print("myFloat="); // SD 카드에 키 쓰기
myFile.println(myFloat); // SD 카드에 float 변수 행 단위로 쓰기
myFile.print("myString="); // SD 카드에 키 쓰기
myFile.println(myString); // SD 카드에 String 변수 행 단위로 쓰기
myFile.print("myCharArray="); // SD 카드에 키 쓰기
myFile.println(myCharArray); // SD 카드에 char 배열 행 단위로 쓰기
myFile.print("myByteArray="); // SD 카드에 키 쓰기
myFile.write(myByteArray, 5);
myFile.write("\n"); // 새 줄
myFile.print("myByteArray2="); // SD 카드에 키 쓰기
for (int i = 0; i < 5; i++) {
myFile.write(myByteArray[i]); // 새 줄
if (i < 4)
myFile.write(","); // 콤마
}
myFile.write("\n"); // 새 줄
myFile.close();
} else {
Serial.print(F("SD Card: error on opening file arduino.txt"));
}
// 파일 읽기 모드로 파일 열기
myFile = SD.open("arduino.txt", FILE_READ);
if (myFile) {
while (myFile.available()) {
char ch = myFile.read(); // Micro SD 카드에서 문자 하나씩 읽기
Serial.print(ch); // 시리얼 모니터에 문자 출력
}
myFile.close();
} else {
Serial.print(F("SD Card: error on opening file arduino.txt"));
}
}
void loop() {
}
사용 방법
- 위의 코드를 복사하고 Arduino IDE로 열기
- Arduino IDE에서 Upload 버튼을 클릭하여 Arduino에 코드를 업로드하세요
- 결과는 시리얼 모니터에서 확인하세요.
COM6
SD CARD INITIALIZED.
--------------------
myInt=-52
myFloat=-12.70
myString=HELLO
myCharArray=ArduinoGetStarted.com
myByteArray=12345
myByteArray2=1,2,3,4,5
Autoscroll
Clear output
9600 baud
Newline
- 마이크로 SD 카드를 마이크로 SD 카드 모듈에서 분리하세요
- 마이크로 SD 카드를 USB SD 카드 리더에 삽입하세요
- USB SD 카드 리더를 PC에 연결하세요
- PC에서 arduino.txt 파일을 열어보세요, 아래와 같이 보일 겁니다
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.