Arduino Arduino ile Micro SD Kart Modülü Kullanımı By Ege Yücel Posted on 16 Ekim 2017 5 min read 2 2 14,896 Paylaş ! Facebook Paylaş ! Twitter Paylaş ! Google+ Paylaş ! Reddit Paylaş ! Pinterest Paylaş ! Linkedin Paylaş ! Tumblr Merhaba. Bugün sizlerle mikro sd kart modülünün nasıl kullanılacağını anlatacağım. Bu yazıdan sonra günümüzde bütün profesyonel yazımlarda bulunan günlükler (logger) gibi siz de kendi günlüğünüzü yaratıp oluşturmuş olduğunuz sistemin her ayrıntısını size rapor edip depolayabilecek bir düzenek kurabileceksiniz. Başlamadan önce gereken malzemeler hakkında bilgi vereyim. Malzemeler: -Arduino Uno, Nano, Mega (farketmez) -Jumper kablo (dişi-erkek) -Mikro sd kart modülü -İstediğiniz boyutta bir mikro sd kart İlk olarak aşağıdaki resimde görüldüğü gibi kablo bağlantılarını yapalım. Şu an vereceğim kod örnek kodlardan biri. Yazının hepinizin yapacağı işe hitap etmesi için kendi özelleştirilmiş olduğum kodu paylaşmadım. Kodu vermeden önce içinde bulunan bir kaç fonksiyondan bahsedelim. createFile() fonksiyonu içine yazdığınız parametreyi isim alarak log dosyasını oluşturur. Eğer zaten bu dosya varsa da "return 0" vererek programı devam ettirir initializeSD() <SD.h> kütüphanesinde bulunan sd kartı okuyup başlatmak için gereken protoklü sistemden geçirir. Buna herhangi bir parametre girilmez. writeToFile() fonksiyonu createFile() komutuyla oluşmuş dosyanın içine parantezler arasına yazdığınız bilgiyi geçirir. Fonksiyonda her seferinde farklı satıra mesaj yazılmaktaDIR. İsterseniz bu ayarı kendinize göre değiştirebilirsiniz. openFile() herhangi birişlem gerçekleştireceğiniz dosyayı açmanızı sağlar. Bu komutu kullanmadan log dosyası içindeki verileri okuyamazsınız. readline() bu fonsiyon ile de openFile() komutu ile açmış olduğunuz dosyaların verilerini çekip istediğiniz işlemi gerçekleştirebilirsiniz. Kodu çalıştırdıktan sonra bende olduğu gibi böyle bir çıktı almalısınız. Tabi sizde bir tane "ROBOTURKA!" yazacak. KAYNAK KODU: #include <SD.h> #include <SPI.h> int CS_PIN = 10; File file; void setup() { Serial.begin(9600); initializeSD(); createFile("test.txt"); writeToFile("ROBOTURKA!"); closeFile(); openFile("prefs.txt"); Serial.println(readLine()); Serial.println(readLine()); closeFile(); } void loop() { } void initializeSD() { Serial.println("Initializing SD card..."); pinMode(CS_PIN, OUTPUT); if (SD.begin()) { Serial.println("SD card is ready to use."); } else { Serial.println("SD card initialization failed"); return; } } int createFile(char filename[]) { file = SD.open(filename, FILE_WRITE); if (file) { Serial.println("File created successfully."); return 1; } else { Serial.println("Error while creating file."); return 0; } } int writeToFile(char text[]) { if (file) { file.println(text); Serial.println("Writing to file: "); Serial.println(text); return 1; } else { Serial.println("Couldn't write to file"); return 0; } } void closeFile() { if (file) { file.close(); Serial.println("File closed"); } } int openFile(char filename[]) { file = SD.open(filename); if (file) { Serial.println("File opened with success!"); return 1; } else { Serial.println("Error opening file..."); return 0; } } String readLine() { String received = ""; char ch; while (file.available()) { ch = file.read(); if (ch == '\n') { return String(received); } else { received += ch; } } return ""; }