Tutorial ESP32 40/55 - Lendo e escrevendo no Cartão Micro SD | Kit de Aprendizado de IoT ESP32 da SunFounder
Neste tutorial, aprenderemos como ler e gravar em um cartão micro SD usando o ESP32 e a placa de extensão SunFounder ESP32. Isso nos permitirá armazenar dados e recuperá-los mais tarde, o que é essencial para muitas aplicações de IoT. Ao final deste tutorial, você terá uma configuração funcional que pode criar, gravar e ler arquivos do cartão micro SD.
Para começar, certifique-se de que seu cartão micro SD esteja formatado corretamente para FAT32, pois este é o sistema de arquivos necessário para que o ESP32 interaja com o cartão. Usaremos a biblioteca SD_MMC, que simplifica o processo de acesso a arquivos no cartão micro SD. É importante notar que a capacidade máxima do cartão micro SD não deve exceder 32 GB.
Hardware Explicado
Os componentes principais deste projeto incluem o microcontrolador ESP32 e o módulo de cartão micro SD. O ESP32 é um microcontrolador versátil que possui capacidades de Wi-Fi e Bluetooth integradas, tornando-o ideal para aplicações de IoT. O módulo de cartão micro SD permite que o ESP32 leia e grave no cartão, possibilitando o armazenamento de dados para diversas aplicações.
O cartão micro SD opera utilizando um sistema de arquivos para armazenar dados de forma estruturada. Ele se comunica com o ESP32 através da interface SD_MMC, que permite a leitura e escrita eficientes de arquivos. Essa configuração pode ser utilizada para registrar dados, salvar imagens ou qualquer outra aplicação onde a persistência dos dados é necessária.
Instruções de Fiação

Para conectar o cartão micro SD ao ESP32, siga estes passos:
Primeiro, conecte os pinos de alimentação e terra. Conecte o pino VCC do módulo de cartão micro SD ao pino 3,3V do ESP32 e conecte o pino GND a um dos pinos GND do ESP32. Em seguida, conecte os pinos de dados: conecte o pino CS (Chip Select) do módulo de cartão micro SD ao pino5no ESP32, o pino MOSI (Master Out Slave In) para pino23, o pino MISO (Master In Slave Out) para pino19, e o pino SCK (Clock Serial) para o pino18. Assegure-se de que essas conexões estejam seguras para evitar quaisquer problemas de comunicação.
Se você estiver usando uma placa de extensão diferente, os números dos pinos podem variar, então consulte a documentação específica para sua placa. A fiação é crucial para o funcionamento bem-sucedido da leitura e escrita de arquivos no cartão micro SD.
Exemplos de Códigos e Guia Passo a Passo
Agora, vamos dar uma olhada nas principais partes do código que interagem com o cartão micro SD. A configuração começa com a inicialização da comunicação serial e verificando se o cartão micro SD está montado com sucesso.
Serial.begin(115200); // Initialize serial communication
if (!SD_MMC.begin()) { // Check if SD card is mounted successfully
Serial.println("Failed to mount SD card"); // Print error message if SD card failed to mount
return;
}Neste trecho de código, a comunicação serial é configurada para uma taxa de transmissão de 115200, que é importante para monitorar a saída. ASD_MMC.begin()a função tenta montar o cartão SD; se falhar, uma mensagem de erro é impressa no monitor serial.
A próxima parte do código cria um novo arquivo no cartão micro SD e escreve uma linha de texto nele.
File file = SD_MMC.open("/test.txt", FILE_WRITE);
if (!file) {
Serial.println("Failed to open file for writing"); // Print error message if file failed to open
return;
}
if (file.println("Test file write")) { // Write a line of text to the file
Serial.println("File write successful"); // Print success message if write operation is successful
} else {
Serial.println("File write failed"); // Print error message if write operation failed
}
file.close(); // Close the fileAqui, um arquivo chamadotest.txté aberto em modo de gravação. Se o arquivo for aberto com sucesso, ele escreve uma linha de texto e imprime uma mensagem de sucesso. Se a operação de gravação falhar, uma mensagem de erro é impressa em vez disso. Finalmente, o arquivo é fechado para garantir que as alterações sejam salvas.
O código também lê arquivos do diretório raiz do cartão micro SD e imprime seus nomes e tamanhos.
File root = SD_MMC.open("/"); // Open the root directory of SD card
while (File file = root.openNextFile()) { // Loop through all the files in the root directory
Serial.print(file.name()); // Print the filename
Serial.print("\t");
Serial.println(file.size()); // Print the filesize
file.close(); // Close the file
}Este trecho abre o diretório raiz e itera por todos os arquivos, imprimindo seus nomes e tamanhos no monitor serial. Isso é útil para verificar se os dados foram gravados com sucesso e para ver o conteúdo do cartão SD.
Para mais detalhes, consulte o código completo carregado abaixo do artigo.
Demonstração / O Que Esperar
Após fazer o upload do código e reiniciar o ESP32, você deve ver mensagens no monitor serial indicando se o cartão SD foi montado com sucesso e se as operações de arquivo foram bem-sucedidas. Você também verá a lista de arquivos encontrados no diretório raiz, o que confirma que os dados foram gravados corretamente (no vídeo às 13:45).
Erros comuns incluem garantir que o cartão micro SD esteja devidamente formatado e conectado, além de verificar se o monitor serial está configurado para a taxa de transmissão correta. Se surgirem problemas, verifique novamente sua fiação e conexões.
Marcas de Tempo do Vídeo
- 00:00 Início
- 1:45 Introdução ao cartão Micro SD no ESP32
- 3:46 Página de documentos
- 4:43 Código Arduino
- 8:09 Selecionando a Placa ESP32 e a porta COM no Arduino IDE
- 9:51 Demonstração de escrita no Cartão MicroSD
- 11:12 Visualizando arquivos escritos no PC
Common Course Links
Common Course Files
Coisas que você pode precisar
-
AliExpressCompre um módulo de cartão microSD na AliExpress.s.click.aliexpress.com
-
BanggoodCompre um módulo de cartão microSD na Banggoodbanggood.com
Recursos e referências
-
DocumentaçãoTutorial ESP32 40/55 - Página do documento SunFounder para cartão MicroSDdocs.sunfounder.com
-
ExternoCompre um módulo de cartão microSD na AliExpress.s.click.aliexpress.com
-
Externo
-
Externo
-
ExternoCompre um módulo de cartão microSD na Banggoodbanggood.com
Arquivos📁
Nenhum arquivo disponível.