# Problemas na gravação módulo SD card

**URL:** <https://forum.arduino.cc/t/problemas-na-gravacao-modulo-sd-card/1371275>\
**Category:** Português\
**Created:** [April 7, 2025, 11:23am UTC](https://forum.arduino.cc/t/problemas-na-gravacao-modulo-sd-card/1371275 "2025-04-07T11:23:11Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![acag](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/acag/32/913998_2.png) [@acag](https://forum.arduino.cc/u/acag)\
**Post date:** [April 7, 2025, 11:23am UTC](https://forum.arduino.cc/t/problemas-na-gravacao-modulo-sd-card/1371275/1 "2025-04-07T11:23:11Z")

</div>

Olá a todos. Tenho 8 sensores de temperatura DS18B20 com encapsulamento a funcionar ao mesmo tempo, um módulo RTC e um módulo micro SD card para gravação dos dados 10 em 10 s. O cartão grava os primeiros resultados, eu diria os primeiros 9 ou 12 resultados, mas depois deixa de gravar, dando erro. Ele já chegou a gravar durante 4 dias seguidos, mas depois disso está sempre a deixar de gravar passado os primeiros dados. Já fiz várias hipóteses, ligado á saída USB do PC, ligado a um carregador de telemóvel USB, mas acontece sempre o mesmo. O cartão está formatado em FAT32. Houve uma atualização na semana passada do Arduino.IDE, não sei se terá a haver com isso. Se quiserem posso colocar aqui o código. Eu ainda tenho pouca experiência, mas em principio tudo deveria estar bem, até porque já funcionou antes. Estou a usar o ARDUINO UNO R3, e está tudo soldado.

 ![Arduino Montagem 4](https://europe1.discourse-cdn.com/arduino/original/4X/1/c/0/1c0ffa7a696fa636b577343d90033e262d079f59.jpeg)  
 ![Arduino Montagem 3](https://europe1.discourse-cdn.com/arduino/original/4X/8/3/b/83bb63742517ac61ba7e9a4e9df0411ec3fa7688.jpeg)  
 ![Arduino Montagem 2](https://europe1.discourse-cdn.com/arduino/original/4X/c/f/a/cfaed4714cc5ce404c8f133c48969ad851af12af.jpeg)  
 ![Arduino Montagem 1](https://europe1.discourse-cdn.com/arduino/original/4X/a/b/c/abca8c0d4f83823779bf61eb474340735309f663.jpeg)

---

<div class="post-metadata">

**Author:** ![ruilviana](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/ruilviana/32/722429_2.png) [@ruilviana](https://forum.arduino.cc/u/ruilviana)\
**Post date:** [April 7, 2025, 11:41am UTC](https://forum.arduino.cc/t/problemas-na-gravacao-modulo-sd-card/1371275/2 "2025-04-07T11:41:01Z")

</div>

Bom dia,  
para entendermos melhor seu projeto, poste o esquemático e o código usados nele.  
Para postar o código utilize as tags, conforme recomendado. ( click em \< code \> ).

Poste também as msg de erro que aparecem.

---

<div class="post-metadata">

**Author:** ![acag](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/acag/32/913998_2.png) [@acag](https://forum.arduino.cc/u/acag)\
**Post date:** [April 7, 2025, 12:38pm UTC](https://forum.arduino.cc/t/problemas-na-gravacao-modulo-sd-card/1371275/3 "2025-04-07T12:38:28Z")

</div>

O código consigo, mas o esquemático não sei bem como fazer. Existe algum programa para o fazer, pois apenas o tenho feito á mão.

```arduino
#include <Wire.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <RTClib.h>
#include <SPI.h>
#include <SD.h>

// Definições dos pinos
#define ONE_WIRE_BUS 2 // Pino dos sensores DS18B20
#define CHIP_SELECT 10 // Pino CS do SD

// Configuração dos sensores
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

// Configuração do RTC
RTC_DS3231 rtc;

// Variáveis
File dataFile;

void setup() {
  Serial.begin(9600);

  // Inicializa o SD Card
  if (!SD.begin(CHIP_SELECT)) {
    Serial.println("Falha ao inicializar o SD.");
    return;
  }
  Serial.println("SD Card pronto.");

  // Inicializa os sensores de temperatura
  sensors.begin();

  // Inicializa o RTC
  if (!rtc.begin()) {
    Serial.println("RTC não encontrado.");
    while (1);
  }
}

void loop() {
  // Lê a data e hora atuais
  DateTime agora = rtc.now();
  String dataHora = String(agora.day()) + "/" + String(agora.month()) + "/" + String(agora.year()) + " " +
                    String(agora.hour()) + ":" + String(agora.minute()) + ":" + String(agora.second());

  Serial.print("Data e Hora: ");
  Serial.println(dataHora);

  // Solicita a leitura dos sensores
  sensors.requestTemperatures();

  // Lê e exibe a temperatura de cada sensor
  for (int i = 0; i < 8; i++) { // Ajusta para o número de sensores ligados
    float temperatureC = sensors.getTempCByIndex(i);
    Serial.print("Sensor ");
    Serial.print(i + 1);
    Serial.print(": ");
    if (temperatureC != DEVICE_DISCONNECTED_C) {
      Serial.print(temperatureC);
      Serial.println(" C");
    } else {
      Serial.println("Erro ao ler o sensor.");
    }
  }

  // Grava os dados no SD Card
  dataFile = SD.open("Dados.txt", FILE_WRITE);
  if (dataFile) {
    dataFile.print(dataHora);
    dataFile.print(" | Temperaturas: ");
    for (int i = 0; i < 8; i++) {
      float temperatureC = sensors.getTempCByIndex(i);
      if (temperatureC != DEVICE_DISCONNECTED_C) {
        dataFile.print("Sensor ");
        dataFile.print(i + 1);
        dataFile.print(": ");
        dataFile.print(temperatureC);
        dataFile.print(" C, ");
      } else {
        dataFile.print("Sensor ");
        dataFile.print(i + 1);
        dataFile.print(": Erro, ");
      }
    }
    dataFile.println();
    dataFile.close();
  } else {
    Serial.println("Erro ao abrir o arquivo no SD.");
  }

  // Aguarda 10 segundos
  delay(10000);
}

```

---

<div class="post-metadata">

**Author:** ![flaviovivinho](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/flaviovivinho/32/1196771_2.png) [@flaviovivinho](https://forum.arduino.cc/u/flaviovivinho)\
**Post date:** [April 7, 2025, 1:56pm UTC](https://forum.arduino.cc/t/problemas-na-gravacao-modulo-sd-card/1371275/4 "2025-04-07T13:56:28Z")

</div>

Verifique o cartão SD, ele pode estar com defeito. Tem colocar outro cartão SD, se der classe A de marcas conhecidas no mercado.

---

<div class="post-metadata">

**Author:** ![Anthony\_P](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/anthony_p/32/775266_2.png) [@Anthony\_P](https://forum.arduino.cc/u/Anthony_P)\
**Post date:** [April 7, 2025, 2:46pm UTC](https://forum.arduino.cc/t/problemas-na-gravacao-modulo-sd-card/1371275/5 "2025-04-07T14:46:47Z")

</div>

**Olá acag,**

Para fazer o esquema, podes usar o Tinkercad. [Aqui está um exemplo do que podes fazer com isso](https://www.tinkercad.com/things/gQCJz8G757z-schematic-diagram-to-tinkercad).  
Além disso, esqueceste-te de nos enviar as mensagens que o Arduino está a enviar pela porta série para o teu computador.

Além disso, devo dizer que verificar o cartão SD no teu computador pode ser um bom começo

---

<div class="post-metadata">

**Author:** ![acag](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/acag/32/913998_2.png) [@acag](https://forum.arduino.cc/u/acag)\
**Post date:** [April 7, 2025, 3:57pm UTC](https://forum.arduino.cc/t/problemas-na-gravacao-modulo-sd-card/1371275/6 "2025-04-07T15:57:46Z")

</div>

Já usei 3 cartões diferente de marcas conhecidas (scandisk, Kingston, etc) Formatados a FAT32. Os cartões garanto que estão bons.

---

<div class="post-metadata">

**Author:** ![acag](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/acag/32/913998_2.png) [@acag](https://forum.arduino.cc/u/acag)\
**Post date:** [April 7, 2025, 4:02pm UTC](https://forum.arduino.cc/t/problemas-na-gravacao-modulo-sd-card/1371275/7 "2025-04-07T16:02:15Z")

</div>

Mensagens:  
por vezes - Falha ao inicializar o SD  
Após umas horas de gravação - Erro ao abrir o arquivo no SD

O que acontece mais vezes é este último, após já ter gravado vários dados sem problemas.

O esquema irei fazer no ThinkerCad como aconselhado.  
O cartão está óptimo, aliás já usei vários.

---

<div class="post-metadata">

**Author:** ![ruilviana](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/ruilviana/32/722429_2.png) [@ruilviana](https://forum.arduino.cc/u/ruilviana)\
**Post date:** [April 7, 2025, 7:46pm UTC](https://forum.arduino.cc/t/problemas-na-gravacao-modulo-sd-card/1371275/8 "2025-04-07T19:46:25Z")

</div>

> [@acag](#):
>
> pois apenas o tenho feito á mão.

Qualquer aplicativo ou soft de esquematico é um pouco, (ou muito ), complicado e requer um aprendizado que consumirá algum tempo.  
Eu uso o Easy EDA online.  
Mas se voce não tem grandes necessidades de desenhar esquematicos, faça a mão livre mesmo, fotografe e poste aqui a foto.

---

<div class="post-metadata">

**Author:** ![ruilviana](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/ruilviana/32/722429_2.png) [@ruilviana](https://forum.arduino.cc/u/ruilviana)\
**Post date:** [April 7, 2025, 7:47pm UTC](https://forum.arduino.cc/t/problemas-na-gravacao-modulo-sd-card/1371275/9 "2025-04-07T19:47:05Z")

</div>

Qual a msg de erro?

---

<div class="post-metadata">

**Author:** ![ruilviana](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/ruilviana/32/722429_2.png) [@ruilviana](https://forum.arduino.cc/u/ruilviana)\
**Post date:** [April 7, 2025, 8:04pm UTC](https://forum.arduino.cc/t/problemas-na-gravacao-modulo-sd-card/1371275/10 "2025-04-07T20:04:59Z")

</div>

Não sei se exatamente isto pode estar causando o problema, mas voce cria strings o tempo todo, pois cria estas strings no loop().

```arduino
DateTime agora = rtc.now();
  String dataHora = String(agora.day()) + "/" + String(agora.month()) + "/" + String(agora.year()) + " " +
                    String(agora.hour()) + ":" + String(agora.minute()) + ":" + String(agora.second());

```

Defina estas strings como global e só atualiza os seu valores no loop,  
ou crie uma funcão em que elas seja criadas dentro desta função e chame a função a cada vez que quiser o horario, assim ao sair da função elas são destruidas.

---

<div class="post-metadata">

**Author:** ![Anthony\_P](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/anthony_p/32/775266_2.png) [@Anthony\_P](https://forum.arduino.cc/u/Anthony_P)\
**Post date:** [April 7, 2025, 9:14pm UTC](https://forum.arduino.cc/t/problemas-na-gravacao-modulo-sd-card/1371275/11 "2025-04-07T21:14:13Z")

</div>

> [@ruilviana](#):
>
> Easy EDA online

Yes I recommand this also. This is a very good software usable online and offline, that can do many thinkgs

---

<div class="post-metadata">

**Author:** ![Anthony\_P](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/anthony_p/32/775266_2.png) [@Anthony\_P](https://forum.arduino.cc/u/Anthony_P)\
**Post date:** [April 7, 2025, 9:33pm UTC](https://forum.arduino.cc/t/problemas-na-gravacao-modulo-sd-card/1371275/12 "2025-04-07T21:33:32Z")

</div>

> [@ruilviana](#):
>
> Não sei se exatamente isto pode estar causando o problema, mas voce cria strings o tempo todo, pois cria estas strings no loop().
> 
> ```arduino
> DateTime agora = rtc.now();
> String dataHora = String(agora.day()) + "/" + String(agora.month()) + "/" + String(agora.year()) + " " +
> String(agora.hour()) + ":" + String(agora.minute()) + ":" + String(agora.second());
> 
> ```
> 
> Defina estas strings como global e só atualiza os seu valores no loop,  
> ou crie uma funcão em que elas seja criadas dentro desta função e chame a função a cada vez que quiser o horario, assim ao sair da função elas são destruidas.

**ruilviana tem razão**  
Usar a classe `String` pode rapidamente tornar o código muito instável — sobretudo se for mal utilizada e em execução prolongada.  
Pode ser que isso **não** seja a causa do problema, mas por precaução, substitui isto:

```arduino
String dataHora = String(agora.day()) + "/" + String(agora.month()) + "/" + String(agora.year()) + " " +
                    String(agora.hour()) + ":" + String(agora.minute()) + ":" + String(agora.second());

```

Por isto:

```arduino
char dataHora[25]; 
  sprintf(dataHora, "%02d/%02d/%04d %02d:%02d:%02d",
          agora.day(), agora.month(), agora.year(),
          agora.hour(), agora.minute(), agora.second());

```

Caso não compreendas este código, diz-me por favor.

Se o teu código não compilar por causa da linha `dataFile.print(dataHora)` (o que duvido muito), muda para `dataFile.print(dataHora.c_str())`

---

<div class="post-metadata">

**Author:** ![acag](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/acag/32/913998_2.png) [@acag](https://forum.arduino.cc/u/acag)\
**Post date:** [April 9, 2025, 5:08pm UTC](https://forum.arduino.cc/t/problemas-na-gravacao-modulo-sd-card/1371275/13 "2025-04-09T17:08:14Z")

</div>

Ainda não fiz as mudanças sugeridas por todos (falta de tempo, pelo que agradeço a compreensão). No entanto, após algumas tentativas a ligar e desligar de uma tomada de carregador de telemóvel de 5V e 2000ma, acabou por acionar a luz Rx que pisca 10 em 10 s. Pelo que segundo entendo está a ler as temperaturas, não sei ainda se está a gravar no cartão. Irei ver amanhã, pois necessito de muitas leituras para poder comparar os 8 sensores uns com os outros nas mesmas condições ambientais. Irei entretanto tentar efetuar o desenho.

---

<div class="post-metadata">

**Author:** ![acag](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/acag/32/913998_2.png) [@acag](https://forum.arduino.cc/u/acag)\
**Post date:** [April 11, 2025, 11:18am UTC](https://forum.arduino.cc/t/problemas-na-gravacao-modulo-sd-card/1371275/14 "2025-04-11T11:18:09Z")

</div>

Afinal gravou apenas cerca de 1 hora de leituras, 20 em 20 s. Depois não gravou mais nada. Não aparece nenhuma info no cartão após a linha das gravações.

---

<div class="post-metadata">

**Author:** ![Anthony\_P](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/anthony_p/32/775266_2.png) [@Anthony\_P](https://forum.arduino.cc/u/Anthony_P)\
**Post date:** [April 11, 2025, 11:43am UTC](https://forum.arduino.cc/t/problemas-na-gravacao-modulo-sd-card/1371275/15 "2025-04-11T11:43:55Z")

</div>

Não mudaste nada ao código então...

---

<div class="post-metadata">

**Author:** ![acag](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/acag/32/913998_2.png) [@acag](https://forum.arduino.cc/u/acag)\
**Post date:** [April 11, 2025, 3:45pm UTC](https://forum.arduino.cc/t/problemas-na-gravacao-modulo-sd-card/1371275/16 "2025-04-11T15:45:03Z")

</div>

Ainda não amigo. Mudei de PC e agora estou com problemas nas portas usb que não estão a ser reconhecidas pois uso o Arduino CH340 que sempre me criou problemas. Vou ver se arranjo o arduino original, o problema é que só tem uma saída de 5V e eu necessito 2 saídas.

---

<div class="post-metadata">

**Author:** ![Brazilino](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/brazilino/32/1198404_2.png) [@Brazilino](https://forum.arduino.cc/u/Brazilino)\
**Post date:** [April 17, 2025, 7:16pm UTC](https://forum.arduino.cc/t/problemas-na-gravacao-modulo-sd-card/1371275/17 "2025-04-17T19:16:24Z")

</div>

> [@acag](#):
>
> o problema é que só tem uma saída de 5V e eu necessito 2 saídas.

 ![dupont-y-black1_sq-scaled](https://europe1.discourse-cdn.com/arduino/original/4X/9/d/8/9d8c511843b4db07942ea032502c25383e23aadd.jpeg)

---

<div class="post-metadata">

**Author:** ![acag](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/acag/32/913998_2.png) [@acag](https://forum.arduino.cc/u/acag)\
**Post date:** [April 18, 2025, 8:26am UTC](https://forum.arduino.cc/t/problemas-na-gravacao-modulo-sd-card/1371275/18 "2025-04-18T08:26:39Z")

</div>

Obrigado amigo.

Onde poderei comprar aqui na Europa?

…............................................................... .

**A. Carlos Galhano**

Técnico Superior | Departamento de Ciências da Terra

M.Sc. Rochas e Minerais Industriais  
**Telefone** : (+351) 212 948 573 | **ramal** : 10215 / 10219  
**Carro** : (+351) 927 367 235 / (+351) 919 036 437

ESCOLA DE CIÊNCIAS E TECNOLOGIA DA NOVA | FCT NOVA

Universidade NOVA de Lisboa

Campus de Caparica | 2829-516 Caparica | Portugal

(+351) 21 294 8300

[www.fct.unl.pt](https://www.fct.unl.pt/)

[![](https://europe1.discourse-cdn.com/arduino/original/4X/f/e/2/fe2a8d76538a3f0258138afc052d4f6a05fe93bf.png)](https://www.fct.unl.pt/)

[![](https://europe1.discourse-cdn.com/arduino/original/4X/c/b/9/cb94d432a7fd3bb4aa66311c7a6c20ea971abd14.png)](https://pt-pt.facebook.com/fct.nova/)[![](https://europe1.discourse-cdn.com/arduino/original/4X/b/6/5/b65da681e0b82f0fcbcba1dc6c9ef1a68af09054.png)](https://www.linkedin.com/school/faculdade-de-ciencias-e-tecnologia-da-universidade-nova-de-lisboa)[![](https://europe1.discourse-cdn.com/arduino/original/4X/7/2/3/7230e696a697ce713e6114f68486c85188a5b782.png)](https://twitter.com/FCTNOVA)[![](https://europe1.discourse-cdn.com/arduino/original/4X/f/4/1/f41a691eb84ae00d6cd78b6041dee0125b32aab6.png)](https://www.instagram.com/fctnova)[![](https://europe1.discourse-cdn.com/arduino/original/4X/0/d/c/0dc6b2319a0fbb2512fb55a93f0eccb5f1a4be64.png)](https://www.youtube.com/user/fctunltv)

---

<div class="post-metadata">

**Author:** ![Brazilino](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/brazilino/32/1198404_2.png) [@Brazilino](https://forum.arduino.cc/u/Brazilino)\
**Post date:** [April 18, 2025, 10:26am UTC](https://forum.arduino.cc/t/problemas-na-gravacao-modulo-sd-card/1371275/19 "2025-04-18T10:26:12Z")

</div>

> [@acag](#):
>
> Onde poderei comprar aqui na Europa?

Procurei no site de algumas lojas físicas como a PTRobotics e não achei. Uma alternativa é buscar lojas virtuais como Amazon e Aliexpress.

Essa aqui é uma que aparentemente opera em Portugal:  
[https://www.etsy.com/pt/listing/1333156495/dupont-y-cable-splitter-jumper-wire?ref=hp\_active-mission-recs-rv-1-1](https://www.etsy.com/pt/listing/1333156495/dupont-y-cable-splitter-jumper-wire?ref=hp_active-mission-recs-rv-1-1)

Mas talvez haja outras alternativas com relação ao seu circuito.

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [October 15, 2025, 10:26am UTC](https://forum.arduino.cc/t/problemas-na-gravacao-modulo-sd-card/1371275/20 "2025-10-15T10:26:15Z")

</div>

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