Hi. I am making a project out of myself with NO ai. The project is simple. Every data sent from Bluetooth = every text written to SD card.
Check my devices on the latest message on this forum: Cannot RW Folders in 64G SD Card but can RW files - #9 by arduino_uno534
Code is simple:
#include <SPI.h> // SPI kütüphanesi eklendi
#include <SD.h> // SD kart kütüphanesi eklendi
#include <SdFat.h> // SDFat kütüphanesi eklendi 32G+ destekler
#include <SoftwareSerial.h>
SoftwareSerial bt_iletisim(7,6);
File dosya; // dosya adında bir File nesnesi oluşturuldu
void setup()
{
Serial.begin(115200); // SD karttan okunan verileri Serial monitöre daha hızlı aktarmak için 115200baud hızı seçildi
// aynı değişikliği Serial monitörünüzde önceden yapmayı unutmayın
bt_iletisim.begin(15200);
Serial.println("SD kart hazirlaniyor...");
if(!SD.begin(4)) // SD kart CS bacağı 4 nolu dijital pine bağlı, SD kart takılı değilse
{
Serial.println("SD kart takili degil!!!");
Serial.println("Lutfen SD kartinizi takiniz!!!");
while(!SD.begin(4)); // kart takılana kadar beklenir
Serial.println("SD kart kullanima hazir!!!"); // kart takılınca program devam eder
delay(1000); // 1 saniye isteğe bağlı bekleme
}
else
{
Serial.println("SD kart kullanima hazir!!!"); // kart takılı ise program devam eder
delay(1000); // 1 saniye isteğe bağlı bekleme
}
}
void loop()
{
Serial.println("-----------------LRT SD KART TEST-----------------");
char okunan[100]; // 100 karakterlik char tipinde boş bir dizi tanımlandı
int i=0; // okunacak karakter sayısı için sınır değişken başlangıçta sıfır
// Attempt to create folders
Serial.println("Folder olusturma testleri basliyor...");
if (SD.mkdir("/Empty_Flashable_Zip")) {
Serial.println("The Empty_Flashable_Zip in root was sucsessfully created.");
}
else {
Serial.println("The Empty_Flashable_Zip in root was NOT sucsessfully created!");
}
dosya = SD.open("LRT.txt",FILE_WRITE); // LRT.txt adlı bir dosya üzerine veri yazılmak üzere oluşturulup açılıyor.
dosya.println(123.456789,6); // açılan dosyaya 123.456789 sayısı yazılıyor dondaki 6 ondalıklı
// kısmın kaç basamağının yazılacağını belirtiyor
dosya.close(); // yazma işlemi bitti dosya kapatılıyor
Serial.println("123.456789 sayisi SD Karta Yazildi...");
dosya = SD.open("LRT.txt",FILE_READ); // aynı dosya bu sefer okunmak için açılıyor
while (dosya.available()) // dosyada karakter olduğu sürece while döngüsü devam ediyor
{
okunan[i] = dosya.read(); // ilk karakterden başlayıp her döngüde bir sonraki karakteri
// boş dizi değişkenine aktarıyoruz
i++;
if(i==) // 12 karakter sınırı koyduk bundan fazla karakter okunmayacak dosyadan
{
break; // okunmaya kalkışılırsa while döngüsü sonlandırılır programa devam edilir
}
}
dosya.close(); // dosya kapatılıyor
float okunan_rakam = atof (okunan); // okunan karakter dizisi float tipinde tam sayıya dönüştürülüyor
Serial.println(okunan_rakam,6); // ekrana dosyadan okunan ve float tipinde tam sayıya çevrilmiş hali
// Serial monitöre yazdırılıyor, ondalıklı kısım 6 basamaklı olacak şekilde.
// çıktı 123.456771 oluyor gerçekte kaydedilen değer ise 123.456787 oluyor
Serial.println("Yazdınız. Şimdi Bluetooth ile deneyin!");
if (bt_iletisim.available()) {
char data = bt_iletisim.read();
dosya.println(data);
Serial.println(data);
}
while(1); // program sonu loop tekrarını istemiyorum şimdilik
}
But when in here: char okunan[]; // 100 karakterlik char tipinde boş bir dizi tanımlandı
and here: if(i==) // 12 karakter sınırı koyduk bundan fazla karakter okunmayacak dosyadan
I want to set the INTEGER limit so i can have more text.