Due + Mego Sensor Shild

Тема в разделе "Arduino & Shields", создана пользователем Роман Мараховский, 31 авг 2015.

  1. Приобрел: Mega IO Shield v2.4 http://amperka.ru/product/arduino-mega-io-shield
    Не получается опросить встроенную SD карту, пины все перепробовал, форумы все перечитал ни один костыль не срабатывает , SD-ха 2 Гб Fat16.
    Если кто нибудь имел дело, буду очень благодарен совету.
     
  2. geher

    geher Гуру

    4-й пин - SS SD карты на Mega iIO шилде.
    Соответствено, его и уквзать при объявлении класса карты.
    На FAT16 не пробовал. Работало с FAT32 32Г
     
  3. Да вроде все так и сделал: по крайне мере программно - перебрал все варианты. Надо что либо механически замкнуть переключить, или другое шаманство ?

    Код (Text):
    Sd2Card card;
    SdVolume volume;
    SdFile root;

    // change this to match your SD shield or module;
    // Arduino Ethernet shield: pin 4
    // Adafruit SD shields and modules: pin 10
    // Sparkfun SD shield: pin 8
    const int chipSelect = 4;  

    void setup()
    {
    // Open serial communications and wait for port to open:
      Serial.begin(9600);
      while (!Serial) {
        ; // wait for serial port to connect. Needed for Leonardo only
      }


      Serial.print("\nInitializing SD card...");
      // On the Ethernet Shield, CS is pin 4. It's set as an output by default.
      // Note that even if it's not used as the CS pin, the hardware SS pin
      // (10 on most Arduino boards, 53 on the Mega) must be left as an output
      // or the SD library functions will not work.
      pinMode(SS, OUTPUT);


      // we'll use the initialization code from the utility libraries
      // since we're just testing if the card is working!
      while (!card.init(SPI_HALF_SPEED, chipSelect)) {
        Serial.println("initialization failed. Things to check:");
        Serial.println("* is a card is inserted?");
        Serial.println("* Is your wiring correct?");
        Serial.println("* did you change the chipSelect pin to match your shield or module?");
      }
     
  4. geher

    geher Гуру

    Странно как-то работа с SD картой идет. Я как-то привык к SD.begin(chipSelect); SD.open;
    Это особенность Due?

    И еще. На IO Shield вроде есть переключатель питания - внешнее/от ардуины. Точно не знаю, но питание кпрты может быть на это дело завязано.
     
  5. geher

    geher Гуру

    Также проблемой может стать, что Due - трехвольтовая плата, в то время как
    Mega IO Shield v2 предназначен для пятивольтовой Mega. В теории, конечно, шилдом могут поддерживаться и 3.3 вольт платы (некоторые шилды вроде так реально "умеют", и 3.3, и 5), но не факт, что оно так.
    В результате шилд может понижать и без того низкие логические уровни Due до неразличимых SD картой уровней.
     
  6. Спасибо большое, попробую помучится с питанием подключу внешнее.
     
  7. geher

    geher Гуру

    А если шилд выдаст при этом 5В на пин Due?
     
  8. На шилде вроде клемы для этого есть специальные и переключатель ... хотелось бы доверять производителю :) Но судя по объему и качеству доступной документации ... это не первая и не последняя Due которая падет под моими умелыми руками. Раньше опыта общения с такими железками не было .. решил чуть чуть поувлекатся .. к сожалению пока не так все радужно :)