Arduino UNO R4 - Cartão Micro SD

Neste guia, vamos aprender a usar um cartão Micro SD com o Arduino UNO R4. Vamos ver os seguintes detalhes:

Arduino UNO R4 Micro SD Card

Sobre o Módulo de Cartão Micro SD

O módulo de cartão Micro SD se conecta ao Arduino UNO R4 e abriga um cartão Micro SD. Isso significa que o módulo de cartão Micro SD funciona como uma ligação entre o Arduino UNO R4 e o cartão Micro SD.

Pinagem

Micro SD Card Module Pinout

O módulo de cartão Micro SD tem 6 pinos:

  • Conecte o pino VCC ao pino 5V do Arduino UN to R4.
  • Conecte o pino GND ao GND do Arduino UNO R4.
  • Conecte o pino MISO ao pino MISO do Arduino UNO R4.
  • Conecte o pino MOSI ao pino MOSI do Arduino UNO R4.
  • Conecte o pino SCK ao pino SCK do Arduino UNO R4.
  • Conecte o pino SS ao pino identificado como pino SS no código do Arduino UNO R4.

Preparação

  • Conecte o cartão Micro SD ao seu computador usando um leitor de cartão SD USB 3.0.
  • Verifique se o cartão Micro SD está formatado como FAT16 ou FAT32. Você pode pesquisar na internet para saber como fazer isso.

Diagrama de Ligação

The wiring diagram between Arduino UNO R4 Micro SD Card Module

This image is created using Fritzing. Click to enlarge image

Veja A melhor forma de alimentar o Arduino Uno R4 e outros componentes.

※ Nota:

Se você tem um shield Ethernet ou qualquer shield com um slot para cartão Micro SD, não precisa usar o módulo de cartão Micro SD. Basta colocar o cartão Micro SD no slot do shield.

Arduino UNO R4 - Como abrir um arquivo no cartão Micro SD e criá-lo se não existir

Código Arduino UNO R4

Passos Rápidos

Siga estas instruções passo a passo:

  • Se esta é a primeira vez que você usa o Arduino Uno R4 WiFi/Minima, consulte o tutorial sobre como configurar o ambiente para o Arduino Uno R4 WiFi/Minima no Arduino IDE.
  • Insira o cartão Micro SD no módulo de cartão Micro SD
  • Siga o diagrama de ligação para conectar o módulo de cartão Micro SD ao Arduino UNO R4
  • Conecte a placa Arduino Uno R4 ao seu computador usando um cabo USB.
  • Abra o Arduino IDE no seu computador.
  • Selecione a placa Arduino Uno R4 correta (por exemplo, Arduino Uno R4 WiFi) e a porta COM.
  • Abra o Serial Monitor no Arduino IDE
  • Copie o código fornecido e cole-o no Arduino IDE
/* * Este código de Arduino UNO R4 foi desenvolvido por pt.newbiely.com * Este código de Arduino UNO R4 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-micro-sd-card */ #include <SD.h> #define PIN_SPI_CS 4 // The Arduino UNO R4 pin connected to the CS pin of SDcard module File myFile; void setup() { Serial.begin(9600); if (!SD.begin(PIN_SPI_CS)) { Serial.println(F("SD Card is either missing or has failed!")); while (1); // don't do anything more: } Serial.println(F("SD Card is ready")); if (!SD.exists("arduino.txt")) { Serial.println(F("arduino.txt doesn't exist. Creating arduino.txt file...")); // create a new file by opening a new file and immediately close it myFile = SD.open("arduino.txt", FILE_WRITE); myFile.close(); } // recheck if file is created or not if (SD.exists("arduino.txt")) Serial.println(F("arduino.txt exists on SD Card.")); else Serial.println(F("arduino.txt doesn't exist on SD Card.")); } void loop() { }
  • Pressione o botão Upload do Arduino IDE para enviar o código ao Arduino UNO R4.
  • Confira o resultado no Serial Monitor depois do primeiro upload.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno R4 WiFi
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno R4 WiFi' on 'COM15')
New Line
9600 baud
SD Card is ready arduino.txt doesn't exist. Creating arduino.txt file... arduino.txt exists on SD Card.
Ln 11, Col 1
Arduino Uno R4 WiFi on COM15
2
  • O resultado exibido no Serial Monitor nas tentativas seguintes
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno R4 WiFi
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno R4 WiFi' on 'COM15')
New Line
9600 baud
SD Card is ready arduino.txt exists on SD Card.
Ln 11, Col 1
Arduino Uno R4 WiFi on COM15
2

※ Nota:

Você pode não ver nenhuma saída no Serial Monitor se abri-lo depois de fazer o upload pela primeira vez.

  • Retire o cartão Micro SD do módulo
  • Coloque o cartão Micro SD em um leitor de cartão SD USB
  • Conecte o leitor de cartão SD USB ao seu computador
  • Verifique se o arquivo está lá ou não

Arduino UNO R4 - Como gravar/ler dados em/de um arquivo no cartão Micro SD

Este código executa as seguintes ações:

  • Salvar informações em um arquivo
  • Carregar e exibir cada caractere de um arquivo, um por um, no Serial Monitor
/* * Este código de Arduino UNO R4 foi desenvolvido por pt.newbiely.com * Este código de Arduino UNO R4 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-micro-sd-card */ #include <SD.h> #define PIN_SPI_CS 4 // The Arduino UNO R4 pin connected to the CS pin of SDcard module File myFile; void setup() { Serial.begin(9600); if (!SD.begin(PIN_SPI_CS)) { Serial.println(F("SD Card is either missing or has failed!")); while (1); // don't do anything more: } Serial.println(F("SD Card is ready")); // open file for writing myFile = SD.open("arduino.txt", FILE_WRITE); if (myFile) { myFile.println("Created by newbiely.com"); // write a line to Arduino myFile.println("Learn Arduino and SD Card"); // write another line to Arduino myFile.close(); } else { Serial.print(F("Error: Unable to open file arduino.txt")); } // open file for reading myFile = SD.open("arduino.txt", FILE_READ); if (myFile) { while (myFile.available()) { char ch = myFile.read(); // read characters one by one from Micro SD Card Serial.print(ch); // print the character to Serial Monitor } myFile.close(); } else { Serial.print(F("Error: Unable to open file arduino.txt")); } } void loop() { }
  • O Serial Monitor exibiu o conteúdo do arquivo.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno R4 WiFi
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno R4 WiFi' on 'COM15')
New Line
9600 baud
Created by newbiely.com Learn Arduino UNO R4 and SD Card
Ln 11, Col 1
Arduino Uno R4 WiFi on COM15
2

※ Nota:

Por padrão, os dados são adicionados ao final do arquivo. Se você reiniciar o Arduino UNO R4 com o código dado, o texto será adicionado de novo ao arquivo. Isso significa que você verá linhas adicionais como estas no Serial Monitor:

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno R4 WiFi
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno R4 WiFi' on 'COM15')
New Line
9600 baud
Created by newbiely.com Learn Arduino UNO R4 and SD Card Created by newbiely.com Learn Arduino UNO R4 and SD Card
Ln 11, Col 1
Arduino Uno R4 WiFi on COM15
2

Você também pode retirar o cartão Micro SD do módulo e usar um leitor de cartão SD USB para ver os arquivos no seu computador.

Arduino UNO R4 - Como ler um arquivo no cartão Micro SD linha por linha

/* * Este código de Arduino UNO R4 foi desenvolvido por pt.newbiely.com * Este código de Arduino UNO R4 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-micro-sd-card */ #include <SD.h> #define PIN_SPI_CS 4 // The Arduino UNO R4 pin connected to the CS pin of SDcard module File myFile; void setup() { Serial.begin(9600); if (!SD.begin(PIN_SPI_CS)) { Serial.println(F("SD Card is either missing or has failed!")); while (1); // don't do anything more: } Serial.println(F("SD Card is ready")); // open file for writing myFile = SD.open("arduino.txt", FILE_WRITE); if (myFile) { myFile.println("Created by newbiely.com"); // write a line to Arduino myFile.println("Learn Arduino and SD Card"); // write another line to Arduino myFile.close(); } else { Serial.print(F("Error: Unable to open file arduino.txt")); } // open file for reading myFile = SD.open("arduino.txt", FILE_READ); if (myFile) { int line_count = 0; while (myFile.available()) { char line[100]; // maximum is 100 characters, change it if needed int line_length = myFile.readBytesUntil('\n', line, 100); // read line-by-line from Micro SD Card line_count++; Serial.print(F("Line ")); Serial.print(line_count); Serial.print(F(": ")); Serial.write(line, line_length); // print the character to Serial Monitor // \n character is escaped by readBytesUntil function Serial.write('\n'); // print a new line charactor } myFile.close(); } else { Serial.print(F("Error: Unable to open file arduino.txt")); } } void loop() { }
  • O resultado exibido no Serial Monitor
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno R4 WiFi
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno R4 WiFi' on 'COM15')
New Line
9600 baud
SD Card is ready Line 1: Created by newbiely.com Line 2: Learn Arduino UNO R4 and SD Card
Ln 11, Col 1
Arduino Uno R4 WiFi on COM15
2

※ Nota:

Se você não apagar antes o conteúdo do arquivo, poderá ver linhas adicionais no Serial Monitor.

Arduino UNO R4 - Como sobrescrever um arquivo no cartão Micro SD

Normalmente, o conteúdo é adicionado ao final do arquivo. Para substituir um arquivo, primeiro apague o arquivo antigo e depois crie um novo com o mesmo nome.

/* * Este código de Arduino UNO R4 foi desenvolvido por pt.newbiely.com * Este código de Arduino UNO R4 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-micro-sd-card */ #include <SD.h> #define PIN_SPI_CS 4 // The Arduino UNO R4 pin connected to the CS pin of SDcard module File myFile; void setup() { Serial.begin(9600); if (!SD.begin(PIN_SPI_CS)) { Serial.println(F("SD Card is either missing or has failed!")); while (1); // don't do anything more: } Serial.println(F("SD Card is ready")); SD.remove("arduino.txt"); // delete the file if existed // create new file by opening file for writing myFile = SD.open("arduino.txt", FILE_WRITE); if (myFile) { myFile.println("Created by newbiely.com"); // write a line to Arduino myFile.println("Learn Arduino and SD Card"); // write another line to Arduino myFile.close(); } else { Serial.print(F("Error: Unable to open file arduino.txt")); } // open file for reading myFile = SD.open("arduino.txt", FILE_READ); if (myFile) { while (myFile.available()) { char ch = myFile.read(); // read characters one by one from Micro SD Card Serial.print(ch); // print the character to Serial Monitor } myFile.close(); } else { Serial.print(F("Error: Unable to open file arduino.txt")); } } void loop() { }
  • A saída no Serial Monitor
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno R4 WiFi
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno R4 WiFi' on 'COM15')
New Line
9600 baud
SD Card is ready Created by newbiely.com Learn Arduino UNO R4 and SD Card
Ln 11, Col 1
Arduino Uno R4 WiFi on COM15
2
  • Reinicie o Arduino UNO R4
  • Verifique se o conteúdo do arquivo no Serial Monitor recebeu acréscimos.

Você também pode retirar o cartão Micro SD da unidade e usar um leitor de cartão SD USB para ver o conteúdo dele no seu computador.

Vídeo

Tutoriais Relacionados

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!