Czytnik kart SD – Arduino MEGA

Karta SD to bardzo przydatne rozszerzenie dla Arduino. Możecie na niej zapisać pliki, na które normalnie nie ma miejsca (ani odpowiedniej struktury) na Arduino. Podłączenie modułu jest bardzo proste, wystarczy 6 kabelków. Odpowiednią bibliotekę oraz przykłady znajdziecie wbudowane w domyślną dystrybucję Arduino IDE.

Podłączenie

Moduł komunikuje się z kontrolerem za pomocą interfejsu SPI. Poniższa tabela pokazuje jak połączyć moduł z Arduino UNO i Mega.

Pin modułu Mega UNO Uwagi
CS 53 10 Chip-Select, czasami nazywany SS
SCK 52 13 Zegar
MOSI 51 11 Dane idące do modułu
MISO 50 12 Dane wracające z modułu; w moim egzemplarzu opisano „MOSO”.
Vcc +5v +5v Uwaga – komentarz poniżej!
GND GND GND

Uwaga! Upewnijcie się, że Wasz moduł działa z 5v – spotkałem takie działające tylko na 3.3v! Moduły SD wewnętrznie działają na 3.3v. Te, które mogą być zasilane z 5v mają stabilizator na płytce.

Oprogramowanie

Domyślna dystrybucja Arduino IDE zawiera bibliotekę SD oraz odpowiednie przykłady pozwalające na uruchomienie modułu.

Niestety niektóre przykłady musicie poddać drobnym modyfikacjom. Przykładowo, dla podłączenia do Arduino MEGA jak powyżej, przykład ‚listfiles’, w funkcji ‚setup()’ zawiera blok:

Linija SD.begin(4) inicjalizuje interfejs modułu. Przykład zakłada, że linię SC podłączono do pinu D4. U mnie, dla Arduino MEGA, był to  pin 53. W związku z tym kod programu trzeba zmienić na:

Załadujcie program na Arduino. Na monitorze portu szeregowego pokaże się:

Na kartę nagrałem plik TEXT.TXT – który to pojawił się na listingu. W kolejnych przykładach znajdziecie więcej procedur obsługi karty SD.

Skomentuj ten tekst na facebook.

Źródła