Avaliação do Usuário

Estrela inativaEstrela inativaEstrela inativaEstrela inativaEstrela inativa
 


Depois dos tutoriais para ler dados de um 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 gravar dados em um 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) muitas dúvidas foram suscitadas e a mais importante de todas é como saber se o pen drive está ou não inserido no módulo e pronto para ser usado.

 

Não é nada muito complicado, basta apenas dar uma olhada nos comandos possíveis para o módulo de pen drive (http://www.seucurso.com.br/index.php?option=com_content&view=article&id=147:comandos-para-usar-o-modulo-de-pen-drive-com-o-arduino&catid=901:arduino&Itemid=65), mas mesmo assim achei que merece um código fonte exemplo.

 

A montagem é a mesma do tutorial Lendo dados de um pen drive usando o Arduino.

 

O código abaixo verifique se o pen drive está ou não inserido, caso esteja inserido o LED do pino 13 permanecerá apagado, caso contrário ficará aceso:

 

{code}

#include<SoftwareSerial.h>

 

SoftwareSerial pendrive(2,3);

 

void setup() {

  Serial.begin(9600);

  pendrive.begin(9600);

  pinMode(13,OUTPUT);

  delay(5000);

}

 

void loop() {

  char entrada = 0;

  String resposta = "";

  while(pendrive.available()) {

    entrada = pendrive.read();

    if(entrada > 0)

      resposta += entrada;

  }

  pendrive.flush();

  delay(1000);

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

  for(int i=0;i<resposta.length();i++) {

    if(resposta.substring(i,i+7).equals("No Disk"))

      digitalWrite(13,HIGH);

    if(resposta.substring(i,i+15).equals("Device Detected"))

      digitalWrite(13,LOW);

  }

  delay(100);

}

{/code}

 

Para testar carregue o programa no Arduino e remova e insira o pen drive no módulo.