Arduino Uno vs WemosD1r32 change MISO pin

Hello all!
I have been doing projects on the wemosD1R32 board for some time, in which I had to 'translate' the examples and redefine the pins in the code so that they match the correct pins on the board, but this time I am trying to read an SD card with the ethernet module shield, but I always receive the SD card initialization failure message, I think it is due to the SPI pins, on the Arduino Uno board they are pins 10-13 but on Wemos they are pins GPI05-23-19-18. The problem is that I can't find how to set the correct pins, since they are not included in the code, but are used from the SPI.h library. Is there any way to modify them?

/*
  SD card basic file example

  This example shows how to create and destroy an SD card file
  The circuit:
   SD card attached to SPI bus as follows:
 ** MOSI - pin 11
 ** MISO - pin 12
 ** CLK - pin 13
 ** CS - pin 4 (for MKRZero SD: SDCARD_SS_PIN)

  created   Nov 2010
  by David A. Mellis
  modified 9 Apr 2012
  by Tom Igoe

  This example code is in the public domain.

*/
#include <SPI.h>
#include <SD.h>

File myFile;

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


  Serial.print("Initializing SD card...");

  if (!SD.begin(4)) {
    Serial.println("initialization failed!");
    while (1);
  }
  Serial.println("initialization done.");

  if (SD.exists("example.txt")) {
    Serial.println("example.txt exists.");
  } else {
    Serial.println("example.txt doesn't exist.");
  }

  // open a new file and immediately close it:
  Serial.println("Creating example.txt...");
  myFile = SD.open("example.txt", FILE_WRITE);
  myFile.close();

  // Check to see if the file exists:
  if (SD.exists("example.txt")) {
    Serial.println("example.txt exists.");
  } else {
    Serial.println("example.txt doesn't exist.");
  }

  // delete the file:
  Serial.println("Removing example.txt...");
  SD.remove("example.txt");

  if (SD.exists("example.txt")) {
    Serial.println("example.txt exists.");
  } else {
    Serial.println("example.txt doesn't exist.");
  }
}

void loop() {
  // nothing happens after setup finishes.
}

This code works perfect on Arduino Uno + Ethernet shield, but does not work with Wemos board...

Any ideas or suggestions?
Thanks so much!



This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.