collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: SD card read/write + Arduino  (Lida 10585 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline brunomartins

  • Mini Robot
  • *
  • Mensagens: 19
  • "There is a way to be good again"
SD card read/write + Arduino
« em: 04 de Maio de 2009, 13:08 »
Pessoal, estou tentando implementar o código em do link abaixo:

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1206874649

Mas, como tenho pouca experiência ainda estou encontrando um pouco de dificuladade de montar o circuito para o SD.

Alguém poderia me ajudar?

Explicando o circuito e o código?

Obrigado.

Achei muito bom esse código, queria muito conseguir implementar...
« Última modificação: 04 de Maio de 2009, 13:28 por TigPT »
_______________________________
Bruno Martins

Offline TigPT

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 5.372
    • Tiago Rodrigues
Re:SD card read/write + Arduino
« Responder #1 em: 04 de Maio de 2009, 13:31 »
Qual a dificuldade mais concretamente?

Já arranjaste um suporte para o cartão de memória, assim como as respectivas resistências de 1.8K e de 3.3K para poderes fazer a montagem!?

Offline brunomartins

  • Mini Robot
  • *
  • Mensagens: 19
  • "There is a way to be good again"
Re:SD card read/write + Arduino
« Responder #2 em: 04 de Maio de 2009, 18:43 »
Caro amigo,

Já comprei sim o suporte, e as resistências..
eu só quero ter certeza do circuito a ser montado..
pelo que estudei o cartão SD é sensível e queima com facilidade...

Gostaria que alguém redesenhasse o circuito explicando se possível o passo a passo..

Pelo que eu entendi precisa de uma saída de 3,3v, mas o arduino já tem uma saída assim, para que as resistências?

fiquei meio perdido, acredito que não esteja entendendo o que o amigo fez no trabalho dele...
_______________________________
Bruno Martins

Offline TigPT

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 5.372
    • Tiago Rodrigues
Re:SD card read/write + Arduino
« Responder #3 em: 05 de Maio de 2009, 00:29 »
O arduino disponibiliza 3.3V mas contudo as saídas dos pins digitais dão 5V, e o cartão funciona a 3.3V, assim cada sinal de dados entro um dispositivo e o outro tem que ser convertido para os 3.3V para evitar que o arduino queime o cartão. Quanto ao pin DO (Data Out) não necessita de conversão, porque mesmo o cartão a dar 0~3.3V, o Arduino consegue interpretar como sendo 0~5V.

Dai as resistências para baixar a tensão de saída do Arduino antes de entrar no cartão.

Offline brunomartins

  • Mini Robot
  • *
  • Mensagens: 19
  • "There is a way to be good again"
Re:SD card read/write + Arduino
« Responder #4 em: 05 de Maio de 2009, 12:50 »
Thiago, obrigado. Consegui entender. Vou tentar montar o circuito e se conseguir tudo certo posto aqui no fórum pro pessoal.

Você conhece sobre SPI? Andei estudando e vou ter que implementar para poder fazer o leitor SD.
_______________________________
Bruno Martins

Offline TigPT

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 5.372
    • Tiago Rodrigues
Re:SD card read/write + Arduino
« Responder #5 em: 05 de Maio de 2009, 14:39 »
De nada.. e é Tiago.

Se utilizares as pesquisas encontras informação como por exemplo este post:
http://lusorobotica.com/index.php/topic,695.0.html

Offline brunomartins

  • Mini Robot
  • *
  • Mensagens: 19
  • "There is a way to be good again"
Re:SD card read/write + Arduino
« Responder #6 em: 13 de Maio de 2009, 18:57 »
Alguém sabe algum site que vende essa placa para SD?

Não vou ter tempo de implementar e so me resta comprar...
_______________________________
Bruno Martins

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753

Offline brunomartins

  • Mini Robot
  • *
  • Mensagens: 19
  • "There is a way to be good again"
Re:SD card read/write + Arduino
« Responder #8 em: 14 de Maio de 2009, 12:29 »
Eles entregam no Brasil?
_______________________________
Bruno Martins

Offline delphi

  • Mini Robot
  • *
  • Mensagens: 217
Re:SD card read/write + Arduino
« Responder #9 em: 14 de Maio de 2009, 14:08 »
http://www.futurlec.com/Mini_SC.shtml

Se alguem estiver a pensar encomendar algum avise que tambem estou interessado, ou se encontrarem algum mais barato.

Por outro lado, não sei que mais vale comprar um desses leitores de cartões usb baratuxos e o desmontar todo...



Alguém sabe algum site que vende essa placa para SD?

Não vou ter tempo de implementar e so me resta comprar...
www.saborapalco.com - Companhia de Teatro Amador
www.megavaquinha.com - Uma mega aposta no euromilhões de um grupo de mega amigos

Offline brunomartins

  • Mini Robot
  • *
  • Mensagens: 19
  • "There is a way to be good again"
Re:SD card read/write + Arduino
« Responder #10 em: 19 de Maio de 2009, 13:17 »
Alguém já comprou por esse site?

http://www.futurlec.com/

Queria saber se ele é confiável...
_______________________________
Bruno Martins

Offline jagsilva

  • Mini Robot
  • *
  • Mensagens: 125
    • jagsilva
Re:SD card read/write + Arduino
« Responder #11 em: 20 de Maio de 2009, 03:45 »
Boas.
Já comprei no futurlec e nao tive problemas.

a sparkfun tambem tem.

jaime

Offline brunomartins

  • Mini Robot
  • *
  • Mensagens: 19
  • "There is a way to be good again"
Re:SD card read/write + Arduino
« Responder #12 em: 25 de Maio de 2009, 13:12 »
Fiz uma compra la nesse final de semana...
agora estou so aguardando chegar...
 :D
_______________________________
Bruno Martins

Offline brunomartins

  • Mini Robot
  • *
  • Mensagens: 19
  • "There is a way to be good again"
Re:SD card read/write + Arduino
« Responder #13 em: 20 de Junho de 2009, 21:37 »
pessoal alguem tentou implementar esse codigo?

o meu fika dando erro aparecendo a msg de erro do progrma..ou intao fika repetindo o menu direto
sera alguem tem alguma ideia ai?
obrigado

o codigo ta ai

Código: [Seleccione]
#include <sd-reader_config.h>
#include <sd_raw.h>
#include <sd_raw_config.h>





int print_disk_info();
int sample();
int readDisk();

byte incomingByte;
void printWelcome();
long int address;
byte tempBytes[2];


void setup()
{
  
  Serial.begin(9600);
  delay(1000);

  printWelcome();
  if(!sd_raw_init())
  {
     Serial.println("MMC/SD initialization failed");      
  }
  print_disk_info();
}



void loop()
{
    int i;    
    
    if(Serial.available()>0)
    {
         incomingByte=Serial.read();
    
       switch(incomingByte)
       {
           case 114:
                     readDisk();
                     break;
           case 115:
                     sample();
                     break;
           default:
                     break;
       }
    }    
}

int sample()
{
    int i,j;
    int temp;
    byte low;
    byte high;
    byte inByte;
    
    Serial.println();
    Serial.println();
    Serial.println("Sampling..");
    for(i=0;i<500;i=i+2)
    {
        if(Serial.available()>0)
        {
            inByte=Serial.read();
            if(inByte==113) return 0;
        }
        temp=analogRead(0);
        Serial.print(temp,DEC);
        Serial.print(" ");
        
        //Convert int to 2 bytes
        low=temp&0xFF;
        high=temp>>8;
       // Serial.print(temp,DEC);
        //Serial.print(low,DEC);
        //Serial.print(high,DEC);
    
        tempBytes[0]=low;
        tempBytes[1]=high;
        
        if(!sd_raw_write(i,tempBytes,2))
        {
          Serial.print("Write error");
        }
        //sd_raw_sync();
        delay(5000);
        
  Serial.println();
      
    }
    
    return 1;
}


int readDisk()
{
    byte low;
    byte high;
    byte info[2];
    int i;
    int  result;
    Serial.println();
    for(i=0;i<50;i=i+2)
    {
        sd_raw_read(i,info,2);
  
        //Serial.print(info[0],DEC);
        //Serial.print(" ");
        //Serial.print(info[1],DEC);
        low=info[0];
        high=info[1];
        result=high<<8;
        //result<<8;
        Serial.print(" ");
        Serial.print(result+low,DEC);
        Serial.print(" ");
    }
  
}

void printWelcome()
{
    Serial.println("------------------------");
    Serial.println("Data sampling system");
    Serial.println("send r to read disk");
    Serial.println("send s to start sampling");
    Serial.println("send q to stop sampling");
    Serial.println("Ready.....");
    Serial.println("-------------------------");
}


int print_disk_info()
{
 

    struct sd_raw_info disk_info;
    if(!sd_raw_get_info(&disk_info))
    {
        return 0;
    }

    
    Serial.println();
    Serial.print("rev:    ");
    Serial.print(disk_info.revision,HEX);
    Serial.println();
    Serial.print("serial: 0x");
    Serial.print(disk_info.serial,HEX);
    Serial.println();
    Serial.print("date:   ");
    Serial.print(disk_info.manufacturing_month,DEC);
    Serial.println();
    Serial.print(disk_info.manufacturing_year,DEC);
    Serial.println();
    Serial.print("size:   ");
    Serial.print(disk_info.capacity,DEC);
    Serial.println();
    Serial.print("copy:   ");
    Serial.print(disk_info.flag_copy,DEC);
    Serial.println();
    Serial.print("wr.pr.: ");
    Serial.print(disk_info.flag_write_protect_temp,DEC);
    Serial.print('/');
    Serial.print(disk_info.flag_write_protect,DEC);
    Serial.println();
    Serial.print("format: ");
    Serial.print(disk_info.format,DEC);
    Serial.println();
    Serial.print("free:   ");
  
    return 1;
}


vlw a ajuda
« Última modificação: 21 de Junho de 2009, 00:39 por Fifas »
_______________________________
Bruno Martins

Offline joaopedrocmp

  • Mini Robot
  • *
  • Mensagens: 246
Re: SD card read/write + Arduino
« Responder #14 em: 09 de Janeiro de 2012, 01:29 »
Desculpem la reabrir este tópico.

Arranjei um leitor de cartões estragado e decidi fazer uma board de teste, o layout é o seguinte:



ja experimentei varios pinos e varias libraries ,mas todas davam erro ao iniciar.

Alguém tem uma com o respetivo wiring que tenha experimentado e funcionado?