• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
ESP8266 nodemcu v3 + moduł kart microSD
#1
Witam wszystkich na forum.

Mam problem z inicjalizacją karty micro SD podłączonej do ESP8266 nodemcu v3 poprzez moduł kart microSD. 
Ten sam moduł i ta sama karta podłączona do Arduino UNO r3 działa poprawnie.
Moje połączenie: ESP8266 nodemcu v3 >> Moduł karty micro SD
3,3V >> VCC
GND >> GND
D5 (GPIO14) HSCLK >> SCK
D6 (GPIO12) HMISO >> MISO
D7 (GPIO13) HMOSI >> MOSI
D8 (GPIO15) HCS >> CS
Próbowałem zasilać moduł SD z pinu VIN (5V), próbowałem używać bibliotek SD.h i SdFat.h, oprócz szkiców dołączonych do bibliotek korzystałem ze znalezionych w sieci. Na chwilę obecną nie udało mi się uruchomić (zainicjalizować) karty microSD. Inne szkice które utworzyłem np: (pomiar temperatury z trzech DS18B20, moduł RTC -czasu rzeczywistego, prosty serwer WWW) działają poprawnie.
 
Proszę o pomoc w rozwiązaniu problemu z modułem karty micro SD.
 
Odpowiedź
#2
A resztę mamy z fusów wywróżyć?
Jakiś kawałek kodu? Jaki moduł karty?
 
Odpowiedź
#3
Moduł karty taki jak w załączonych obrazach.
Przykładowy kod:
#include <SD.h>
const int chipSelect = D8;
void setup() {
  Serial.begin(9600);
  Serial.print("Inicjalizacja karty SD...");
  if (!SD.begin(chipSelect)) {
    delay(500);
    Serial.println("Niepowodzenie, sprawdz czy karta jest obecna.");
    return;
  }
  Serial.println("Karta SD zainicjalizowana.");
}
void loop() {
  File dataFile = SD.open("LOG.txt", FILE_WRITE);
  if (dataFile) {
    Serial.println("Plik został pomyślnie otwarty.");
    dataFile.println("Test karty SD.");
    dataFile.close();
  }
  else {
    Serial.println("Nie udało się otworzyć pliku LOG.txt");
  }
  delay(2000);
}

Otrzymany rezultat po uruchomieniu:
Niepowodzenie, sprawdz czy karta jest obecna.
Nie udało się otworzyć pliku LOG.txt
Nie udało się otworzyć pliku LOG.txt
Nie udało się otworzyć pliku LOG.txt

Karta oczywiście jest na miejscu.


Załączone pliki Miniatury
       
 
Odpowiedź
#4
W opisie biblioteki jest:
#include <SPI.h>
#include <SD.h>

u Ciebie tego pierwszego include brakuje.

Skoro program wyświetla: "Niepowodzenie, sprawdz czy karta jest obecna." znaczy SD.begin(chipSelect) nie powiodło się.
Pozostałe komunikaty wynikają z tego pierwszego.
 
Odpowiedź
#5
(28-01-2022, 18:18)MadMrQ napisał(a): W opisie biblioteki jest:
#include <SPI.h>
#include <SD.h>

u Ciebie tego pierwszego include brakuje.

Skoro program wyświetla: "Niepowodzenie, sprawdz czy karta jest obecna." znaczy SD.begin(chipSelect) nie powiodło się.
Pozostałe komunikaty wynikają z tego pierwszego.

Poza tym napięcie zasilania dla tego modułu to 4,5 - 5,5V.
 
Odpowiedź
#6
Dziękuję. 
Dodanie biblioteki SPI.h i zmiana zasilania na 5V pomogło.
Ciekawą sprawą jest to że w szkicu "QuickStart" dołączonym do paczki z płytkami ESP8266 brak było "#include SPI.h" i szkic ten nie działał a po dodaniu <SPI.h> już działa.
Jaszcze raz dziękuję.
 
Odpowiedź
#7
(28-01-2022, 19:37)siemwik1 napisał(a): Dziękuję. 
Dodanie biblioteki SPI.h i zmiana zasilania na 5V pomogło.
Ciekawą sprawą jest to że w szkicu "QuickStart" dołączonym do paczki z płytkami ESP8266 brak było "#include SPI.h" i szkic ten nie działał a po dodaniu <SPI.h> już działa.
Jaszcze raz dziękuję.

Zawsze czytaj opisy do bibliotek. Czasem szczegół potrafi nieźle zamieszać.
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości