Не плохо бы было иметь внешнюю память в Arduino, хранить там разные значения, данные, или чего другое. Конечно можно использовать EEPROM, но в ней памяти маловато. Лучший вариант — подключить к Arduino SD/MMC карту. Да ее можно подключить к компьютеру, записать туда что-нибудь, потом прочитать Ардуиной. Для этого нужно, либо купить SD shield, либо сделать самому. Купить — как-то дороговато. А вот сделать самому — самое то.
Для SD shield-а нужно: 6 резисторов, разъем для SD/MMC и сама карта памяти. Вот схема:
Резисторы — нужны для понижения напряжения портов Arduino — 5>>3. Питать карточку от 3.3v.
Карточку нужно отформатировать в FAT16.
Теперь программная часть.
Библиотека: SD — она есть в стандартной сборке Arduino IDE. У кого не заработает, попробуйте SDFATLIB(на которой была основана библиотека SD). Скетч я взял стандартный Arduino-вский:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | #include <SD.h> File myFile; void setup() { Serial.begin(9600); Serial.print("Initializing SD card..."); if (!SD.begin(10)) { Serial.println("initialization failed!"); return; } Serial.println("initialization done."); myFile = SD.open("test.txt", FILE_WRITE); if (myFile) { Serial.print("Writing to test.txt..."); myFile.println("testing 1, 2, 3."); myFile.close(); Serial.println("done."); } else { Serial.println("error opening test.txt"); } myFile = SD.open("test.txt"); if (myFile) { Serial.println("test.txt:"); while (myFile.available()) { Serial.write(myFile.read()); } myFile.close(); } else { Serial.println("error opening test.txt"); } } void loop() { } |
Этот код создает на карте файл test.txt, записывает в него данные, затем читает его и выкидывает все в com порт.
В SD.begin(10); указывается пин CS (chip select), так как у обыкновенной Arduino он — 10, у Arduino Mega он — 53.
Вот и все!
ya toje takoe delal! toko tak ni razu ne ispolzoval…
http://ukrduino.blogspot.com/2010/05/rtc-eeprom.html
Спасибо за статью, у меня все работает!
А также можно к ардуине прицепить ЦАП, научить читать wav файлы и будет чёткий плеер 💡
Что верно, то верно. Я сейчас этим и занимаюсь.
Прикольно. А карту от sony ericsson w700 можно подключить?
она на 256мб и называется memory stick pro или как то так
Нет. Ардуина может работать только с sd/mmc картами.
😡 непонимаю как к виводам ардуино мега 2560 подключить 😈
Мммм… Я все нарисовал на схеме. «Arduino Mega» — относится ко всем видам мег.
😆 ах ну да у меня просто рисунок неоткрылся
Сд карта работает а ммс не разпазнаёт. Подскажите в чем проблема. Пробовал форматировать с разными размерами секторов, результата не дало. есть старые рабочие карты ммс хотелось заюзать.
Скорее всего, проблема в подключении. Хотя сам на MMC не проверял. Вот. Нарисовал схему для наглядности:

А дальше подключать по самой верхней схеме.
MMC от SD, фактически, почти ничем не отличаются.
Все подключил как показано, у меня Mega 2560, Не работает с MMC… выводит initialization failed!
При компиляции программы выдает ошибку, надо подключить еще
#include
Если это не помогло, то проблема в ММС карте, не все ММС могут работать в SPI-0 режиме. Попробуйте SD карту.