Arduino SPI Sorunum
-
Hocalar merhaba,
Arduino mega 2560 Kullanıyorum. 50,51,52,53 Pinleri SPI için ayrılmış.
Elimde rc522 ve microsd kart modülü var. Bu iki modülü aynı anda kullanmak istiyorum lakin tek port olduğu için olayı çözemedim.
Biraz araştırdım MISO, MOSI, SCK pinlerini paralel SS pinini de ayrı ayrı bağlamam gerektiğini öğrendim.
Örnek olarak aşağıdaki pinlerde CS1, CS2, CS3 pinleri arduino üzerindeki hangi pinler oluyor ? Yoksa bu pinler hayali mi ?

-
Bir kaç örnek baktım netten 4,5,6 numaralı pinler kullanılmış
-
sandman bunu yazdı
Bir kaç örnek baktım netten 4,5,6 numaralı pinler kullanılmış
Hocam farklı pinlere tanımlama yapıyorum örneğin, sd kart SS pini = 3, nfc SS pini = 4
gibi, bu sefer hiç biri çalışmıyor
-
kodu ve şemanı paylaşır mısın bir öyle bakalım
-
http://paste.ubuntu.com/15297763/
Kodlar bu şekilde hocam. RC522 ve MicroSd Card Modül kullanıyorum.
Arduino mega'da 50. Pin MISO, 51. Pin MOSI, 52. Pin SCK olarak gözüküyor. Ben RC522 ve SD Kart modülünün MISO, MOSI ve SCK pinlerini paralal olarak bu üç pine bağlıyorum. SS pinlerini de 3. ve 4. pinlere bağlıyorum
İki modülede erişim sağlayamıyorum
cache tarafından 05/Mar/16 21:36 tarihinde düzenlenmiştir -
Kafayı sıyırcam ya, ne lanet cihazmış
-
Hocam merhabalar,
CS1, CS2, CS3 pinleri slave select pinleridir. Aynı seri hattı paralel olarak birden fazla modül kullanacaksa, ilgili modülü aktif etmek için kullanılır.
Arduino üzerinde dijital 53 pin ss olarak belirtilmiş. Gerçi sen istediğin bir pini kullanabilirsin ss olarak. Sonuçta görevi sadece ilgili slave'i aktif etmek olacak.
Edit: Hocam koda tekrar baktım. SDChipSelect pini output olarak ayarlamamışsın gibi gözüküyor. rc522 slave select ve SDChipSelect pinlerini output yapmayı denermisin?
aercys tarafından 05/Mar/16 23:03 tarihinde düzenlenmiştir -
aercys bunu yazdı
Hocam merhabalar,
CS1, CS2, CS3 pinleri slave select pinleridir. Aynı seri hattı paralel olarak birden fazla modül kullanacaksa, ilgili modülü aktif etmek için kullanılır.
Arduino üzerinde dijital 53 pin ss olarak belirtilmiş. Gerçi sen istediğin bir pini kullanabilirsin ss olarak. Sonuçta görevi sadece ilgili slave'i aktif etmek olacak.
Edit: Hocam koda tekrar baktım. SDChipSelect pini output olarak ayarlamamışsın gibi gözüküyor. rc522 slave select ve SDChipSelect pinlerini output yapmayı denermisin?
Yani bu şekilde mi kullanmam gerekiyor hocam ?
-
Evet hocam
-
cache bunu yazdıaercys bunu yazdı
Hocam merhabalar,
CS1, CS2, CS3 pinleri slave select pinleridir. Aynı seri hattı paralel olarak birden fazla modül kullanacaksa, ilgili modülü aktif etmek için kullanılır.
Arduino üzerinde dijital 53 pin ss olarak belirtilmiş. Gerçi sen istediğin bir pini kullanabilirsin ss olarak. Sonuçta görevi sadece ilgili slave'i aktif etmek olacak.
Edit: Hocam koda tekrar baktım. SDChipSelect pini output olarak ayarlamamışsın gibi gözüküyor. rc522 slave select ve SDChipSelect pinlerini output yapmayı denermisin?
Yani bu şekilde mi kullanmam gerekiyor hocam ?
Aynen. Bu arada dikkat etmen gereken nokta IO voltajı. Mega 5V verir. Senin bağlayacağın cihazlar (özellikle spi ile bağladığın sd kart) 5V toleranslı değildir. Bozarsın. Ya logic level shifter kullanman lazım ya da dirençlerle gerilim bölücü yapman.
-
Cevaplar için çok teşekkür ediyorum,
SD Kart select pinini low yapıp nfc'yi high yaptığımda, SD Kart hala çalışmaya devam ediyor.

