Avaliação do Usuário

Estrela inativaEstrela inativaEstrela inativaEstrela inativaEstrela inativa
 



Escrevi outros dois tutoriais praticamente sobre esse mesmo assunto, sendo um especificamente para leitura de dados do pen drive (http://www.seucurso.com.br/index.php?option=com_content&view=article&id=139:lendo-dados-de-um-pen-drive-usando-o-arduino&catid=901:arduino&Itemid=65) e outro apenas para gravar dados no pen drive (http://www.seucurso.com.br/index.php?option=com_content&view=article&id=146:gravando-dados-em-pen-drive-usando-o-arduino&catid=901:arduino&Itemid=65), mas a verdade é que para comunicar-se com o módulo USB existem outros muitos comandos.

 

 

Com a mesma montagem de hardware dos artigos anteriores e com o programa abaixo, você pode, usando o Monitor Serial do ambiente de desenvolvimento do Arduino, enviar comandos para o módulo USB e o pen drive e ver a resposta:

 

 

{code}

#include<SoftwareSerial.h>

SoftwareSerial pendrive(2,3);

 

void setup() {

Serial.begin(9600);

pendrive.begin(9600);

}

 

void loop() {

char entrada = 0;

String resposta = "";

while(pendrive.available()) {

entrada = pendrive.read();

if(entrada > 0)

resposta += entrada;

}

pendrive.flush();

if(!resposta.equals("")) Serial.println(resposta);

delay(100);

String comando = "";

while(Serial.available()) {

entrada = Serial.read();

if(entrada > 0)

comando += entrada;

}

Serial.flush();

if(!comando.equals("")) {

Serial.println("Comando -> " + comando);

pendrive.print(comando);

pendrive.write(13);

delay(100);

}

}

{/code}

 

 

 

 

 

Os comandos que podem ser passados são:

 

 

Comando

Resposta

e[CR]

Retorna a letra e como eco, para verificação de bom funcionamento.

E[CR]

Retorna a letra E como eco, para verificação de bom funcionamento.

SCS[CR]

Altera para o conjunto de comandos curtos

ESC[CR]

Altera para o conjunto de comandos longos

IPA[CR]

Configura o módulo para trabalhar com valores ASCII

IPH[CR]

Configura o módulo para trabalhar com valores hexadecimais.

FWV[CR]

Exibe as informações de firmware.

DIR[CR]

Mostra os arquivos no diretório atual.

DIR nome_do_arquivo[CR]

Mostra nome e tamanho do arquivo

MKD nome_do_diretorio[CR]

Cria o diretório

CD  nome_do_diretorio[CR]

Entre no diretório

CD ..[CR]

Sai do diretório atual

DLD nome_do_diretorio[CR]

Apaga o diretório

OPW nome_do_arquivo[CR]

Abre o arquivo para gravação.

CLF nome_do_arquivo[CR]

Fecha o arquivo que deve ter sido aberto anteriormente para leitura ou gravação.

WRF byte_a_serem_gravados[CR]dados[CR]

Grava a quantidade de no arquivo aberto atualmente para gravação.

RD nome_do_arquivo[CR]

Lê todo o conteúdo do arquivo .

OPR nome_do_arquivo

Abre o arquivo para leitura.

RDF bytes_a_serem_lidos[CR]

Lê bytes do arquivo aberto .atualmente para leitura.

IDD[CR]

Exibe as informações de pen drive menores que 4GiB.

IDDE[CR]

Exibe as informações de pen drive maiores que 4GiB.

DSN[CR]

Exibe o número serial do pen drive.

DVL[CR]

Exibe o nome do pen drive.

SUD[CR]

Coloca o módulo em estado de dormência.

WKD[CR]

“Acorda” o módulo.

 

Obs.: [CR] é o caractere ASCII decimal 13 ou hexadecimal 0D equivalente ao ENTER.