arduino ethernet shield ve sd kart aynı anda kullanma problemi etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
ARDUINO ETHERNET SHIELD VE SD KART AYNI ANDA KULLANMA PROBLEMI
11 Temmuz 2015 Cumartesi
Posted by MC
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.
#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
}