Escribir en la tarjeta SD de forma económica

2

Entonces, aquí está el escenario:

Tengo un Arduino y una tarjeta SD. Desafortunadamente, no tengo uno de los escudos de fantasía, y no tengo tiempo para pedir uno. Como sabemos, los Arduinos funcionan con 5V, y las tarjetas SD funcionan con 3.3V. Estaba pensando que podría usar una serie de divisores de voltaje para hacer que los datos pasen del Arduino a la tarjeta (MOSI, Reloj, SS) hasta el voltaje correcto, pero no estoy seguro de armar un circuito de aumento. .

¿Incluso necesitaría un circuito de aumento para la línea MISO, o podría simplemente alimentarlo directamente al Arduino? ¿Alguien tiene alguna otra idea que no sea la que mencioné?

    
pregunta Tustique

2 respuestas

1

Si no tiene el reloj SPI funcionando rápidamente, y usa la referencia Arduino para configurar la división de reloj para el periférico SPI en un nivel bastante bajo (sub MHz sería bueno) definitivamente puede salirse con un simple cambio de nivel de voltaje con resistencias.

No te preocupes si las señales que regresan al Arduino solo tienen 3.3 V, detectará como lógica ALTO (solo, pero funciona).

Personalmente, he hecho esto con un Arduino Uno y una tarjeta SD de Sparkfun. Usé una tabla de pruebas y algunas resistencias. Mantenga los cables cortos, por supuesto.

Esta es la forma más barata de hacerlo, pero, sinceramente, recomiendo algún tipo de cambio de nivel / traductor, que con muy poca investigación puede encontrar en Internet.

EDITAR: Si ayuda, usé resistencias de menos de 5K Ohm. Como descubrí en Adafruit, 10K es demasiado alto. Específicamente 1.8K y 3.6K

    
respondido por el KyranF
2

simular este circuito : esquema creado usando CircuitLab

Solo use diodos para cambiar de nivel entre un AVR de 5 V y un lector / grabador de tarjetas SD de 3,3 V. Las resistencias de 10K deben estar en el módulo de la tarjeta SD, pero si no lo están, tendrás que agregarlas.

    
respondido por el Phimo

Lea otras preguntas en las etiquetas