arduino sd kart problemi etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster


Merhabalar arkadaşlar,

Hepimizin bildiği üzere arduinonun ethernet shield i üzerinde sd kart yuvası bulunmakta ve bizim sd kart üzerinden işlemler yapabilmemizi sağlamaktadır.Ethernet ve Sd kart çiplerini aynı anda kullanmak ise haberleşme problemlerine neden olmaktadır.Bu yazımızdan bunun nedenleriden bahsedeceğiz.

Ethernet shiled her ne kadar üzerinde bir sd kart yuvası bulundursa da arduino ile sd kart ve ethernet çiplerini aynı spi üzerinden haberleştirmektedir.Bu nedenle ne zaman ethernete ya da sd karta ihtiyacımız olsa kullanmadığımız çipi inaktif kullandığımız çipi ise aktif hale getirmemiz gerekmektedir.

Bunu nasıl sağlayacağız?

Ethernet shield üzerindeki ethernet çipini 10 numaralı pin aktif ya da inaktif yapar.Sd kart çipini ise 4 numaralı pin ethernet cipinde olduğu gibi kontrol eder.4 yada 10 numaralı pinlerin low olması durumunda ilgili çipi aktif etmiş ve o çipin arduino ile haberleşmesini sağlamış oluyoruz.

Burada göz ardı etmememiz gereken en önemli unsurlardan biri de bu shield ı kullanırken sd kart ve ethernet özelliklerini setup fonksiyonu içerisinde ön başlangıçlarını yapmamız gerektiğidir.Sonrasında ise hangisine ihtiyacımız olduğunda aşağıdaki kodları kullarak istediğimiz çip ile arduino arasındaki haberleşmeyi sağlayabiliriz.

#define SS_SD_CARD   4
#define SS_ETHERNET 10

void setup() {
    // ...
    pinMode(SS_SD_CARD, OUTPUT);
    pinMode(SS_ETHERNET, OUTPUT);
    digitalWrite(SS_SD_CARD, HIGH);  // SD Card aktif değil
    digitalWrite(SS_ETHERNET, HIGH); // Ethernet aktif değil
    // ...
}

void scCardCode() {
    // ...
    digitalWrite(SS_SD_CARD, LOW);  // SD Card aktif
    //Sd card üzerinde yapmak istediklerimizi yapıyoruz
    digitalWrite(SS_SD_CARD, HIGH); // SD Card inaktif duruma getiriyoruz.
    // ...
}

void ethernetCode() {
    // ...
    digitalWrite(SS_ETHERNET, LOW);  // Ethernet aktif
    // Ethernet üzerinde gerçekleştirmek istediklerimizi yapıyoruz
    digitalWrite(SS_ETHERNET, HIGH); // Ethernet inaktif
}
ELEKTRO BLOGGER A HOŞGELDINIZ

ARAMA YAP

EN COK OKUNANLAR

- Copyright © ELEKTRO-BLOGGER Blogger