MicroSD
Memória não-volátil para armazenamento de dados
Muitos projetos precisam de uma capacidade de armazenamento de dados maior do que a memória EEPROM ou Flash interna de um microcontrolador, ou mesmo de chips dedicados de memória com interface serial (como o disponível no Nanoshield RTCMem). Alguns exemplos de projeto desse tipo são os que envolvem dados como áudio, gráficos e registro (log) de dados de sensores.
Com o Nanoshield MicroSD é possível expandir a capacidade de armazenamento de dados do seu projeto usando um cartão microSD de até 32GB. Além disso, como essa é uma mídia removível, você dispõe de maior flexibilidade no acesso aos dados. Por exemplo: você pode registrar dados de sensores em um arquivo no cartão microSD, depois removê-lo e acessar os dados diretamente em um computador usando uma leitora de cartões.
Um dos modos de comunicação com um cartão SD ou microSD é via uma interface SPI. Essa é a interface utilizada no Nanoshield MicroSD, permitindo que o hardware SPI disponível no microcontrolador (Arduino) seja utilizado para acessar os dados do cartão de forma eficiente. O Nanoshield MicroSD é totalmente compatível com a biblioteca SD padrão do Arduino, e assim é possível rodar diretamente os exemplos fornecidos na Arduino IDE ou outros projetos encontrados na rede. Essa biblioteca é capaz de acessar cartões formatados nos padrões FAT16 ou FAT32.
Os sinais provenientes da interface SPI passam por um buffer que os converte para 3,3V. Desse modo, você pode utilizar o MicroSD com um microcontrolador que esteja alimentado com 5V ou 3,3V e que reconheça 3,3V como nível lógico alto (como é o caso do Arduino).
O Nanoshield MicroSD pode ser utilizado simultaneamente com outros Nanoshields que utilizem interface SPI. Para isso, basta que o software do Arduino ative um deles de cada vez através dos respectivos pinos /CS de cada um.
Características
- Cartões SD ou SDHC de até 32GB.
- Formatação FAT16 ou FAT32 (via biblioteca padrão do Arduino).
- Regulador de 3V3 próprio, não adicionando carga extra ao regulador interno do Arduino.
- LED para detecção de cartão inserido.
MicroSD | Arduino | Função |
---|---|---|
/CS | D4 | Chip select barramento SPI |
SDI | D11 | Linha de dados barramento SPI (MOSI) |
SDO | D12 | Linha de dados barramento SPI (MISO) |
SCK | D13 | Linha de clock barramento SPI |
3V3 | 3V3 | Entrada Alimentação 3,3V (opcional) |
VCC | VCC | Entrada alimentação 5V |
VIN | VIN | Entrada alimentação externa |
GND | GND | Tensão de referência (terra) |
Especificações elétricas
-
Alimentação: pode ser feita tanto pelo pino VIN como pelo pino VCC. O intervalo de tensão para o pino VIN é de 7V até 12V (limite máximo até 20V); para o pino de VCC o intervalo é de 4,5 até 5,5V (valor típico de 5V). Quando houver alimentação presente nos pinos VIN e VCC simultaneamente, a alimentação do pino VIN tem prioridade e será selecionada automaticamente para alimentar o módulo.
-
Consumo: o cartão microSD é o principal responsável pelo consumo de corrente, ela pode variar de 20mA até 100mA dependendo do fabricante, modelo e taxa de transferência.
-
Níveis lógicos: os pinos de entrada referentes à SPI (SDI, SCK e /CS) funcionam com níveis lógicos de 5V ou 3,3V. O pino de saída da SPI (SDO) tem nível lógico de 3,3V e é 100% compatível com os níveis de tensão aceitos pelo Arduino.
Links
- Biblioteca SD - Documentação da biblioteca padrão do Arduino para acesso ao cartão MicroSD.