Go Down

Topic: Lire/Ecrire dans carte SD (Read 1 time) previous topic - next topic

Telson

Bonjour,

Alors je vous expose ma problématique :

Je souhaiterais utiliser dans mon programme un tableau de 1000 lignes et de 1000 colonnes dont les cellules devraient  contenir une valeur entière. Ceci étant dit, la mémoire ne supportera jamais.......AIE!!

Donc, je me demandais si il m'était possible d'écrire dans la carte SD une matrice me permettant de palier à ce problème. Soit un fichier *.txt composé de 1000 lignes et chaque ligne se décompose de 1000 données séparées par des virgules ou point virgules....Ne vous étouffez pas quand même en lisant ces quelques lignes hein.....c'est une idée d'amateur quoi!!

Alors, nous est t'il possible dans une carte SD de lire non pas une ligne entière mais une certaine partie........

En espérant ne pas avoir engendré d'infarctus chez certains....Désolé....

Évidemment si il existe une solution plus orthodoxe je veux bien en prendre connaissance....

Merci par avance.

taddot

juste un fichier qui contient UNE seule "colonne". La donnée se trouvant en cellule (5 [line], 500 [col]) est alors la 5x1000+500 = 5500. Il suffit donc juste de lire la 5500éme ligne du fichier
pas taper... sauf application de l'article 35 ...

SesechXP

Salut,

Si tu pars sur ta solution avec un tableau de n colonnes x n lignes, tu peux jeter un oeil au format CSV si ce n'est déjà fait : http://fr.wikipedia.org/wiki/Comma-separated_values
Ainsi ton fichier pourra éventuellement être utilisé par diverses applications, tableur ou autre...

++
Julien - www.idreammicro.com

skywodd


juste un fichier qui contient UNE seule "colonne". La donnée se trouvant en cellule (5 [line], 500 [col]) est alors la 5x1000+500 = 5500. Il suffit donc juste de lire la 5500éme ligne du fichier

Je plussoie totalement !

Je tient juste à précisez quelques petites chose :
les carte sd ne sont pas des ram, elle ont un nombre limité d'écriture/lecture, si ton application doit utiliser trés souvent la SD tu risque vite de la tuer,
Dans ton cas les données doivent être "permanente" ou elle sont juste "d'usage" ? Peut être qu'une ram spi pourrait suffir (ram -> nb cycle infini à l'inverse du carte SD).
Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Telson

Merci pour toutes ces propositions.

Alors effectivement mon application devra utiliser souvent l'accès à la carte SD. Celle-ci sera en fait une vue 2D  des pièces à explorer.

J'aimerai bien utiliser une RAM qui est à coût sûr la solution la plus orthodoxe mais comment ajouter une RAM pouvant contenant disons un array de 1000 lignes * 1000 colonnes dont chaque cellule peut contenir un entier..........quelques pistes...


skywodd


Alors effectivement mon application devra utiliser souvent l'accès à la carte SD. Celle-ci sera en fait une vue 2D  des pièces à explorer.

J'aimerai bien utiliser une RAM qui est à coût sûr la solution la plus orthodoxe mais comment ajouter une RAM pouvant contenant disons un array de 1000 lignes * 1000 colonnes dont chaque cellule peut contenir un entier..........quelques pistes...

Aie maintenant que j'y réfléchi 1000x1000x2 (int=2bytes) = 2000000 bytes soit presque 2Mo ... même en sram SPI je crois pas que ça se fait ...

Quel est le but final ? A mon avis il doit y avoir une autre solution qu'un tableau de 1000x1000 ... sinon carte SD en priant pour quel dure le temps qu'il faut ...
Et pour le coup quitte à utilisez une carte sd il sera souhaitable d'utiliser un module uDRIVE-uSD de lextronic pour lire/écrire en binaire (question de vitesse et d'économie de donnée à écrire).
Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Telson

C'est pour faire de la planification de trajectoire.

http://www.robotix.fr/exploration-pathfinding-dans-un-labyrinthe-chapitre-134-theorie.html
http://ze.bot.free.fr/program.html#algo


skywodd


C'est pour faire de la planification de trajectoire.

http://www.robotix.fr/exploration-pathfinding-dans-un-labyrinthe-chapitre-134-theorie.html
http://ze.bot.free.fr/program.html#algo

Je vois donc soit tu garde ton systéme de "carte" virtuelle et alors tu utilise une carte SD, soit tu peut peu être regarde l'algo derrière les robot "maze solver" il doit pouvoir être utilisable. http://blog.makezine.com/archive/2008/06/mazesolving-robot.html
Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

ojal

Bonjour,

Une liaison WIFI XBEE ou Bluetooth n'est pas envisageable de façon à échanger des données avec une machine puissante?
C'est peut être acceptable au moins dans une phase de dév avec ensuite du matériel un peu plus musclé embarqué?
D'ailleurs quelles sont les solutions possibles pour rajouter de la RAM sur un ARDUINO?


skywodd


D'ailleurs quelles sont les solutions possibles pour rajouter de la RAM sur un ARDUINO?

http://www.arduino.cc/playground/Main/SpiRAM (je crois pas que le m328 à un de quoi faire l'adressage de ram extérieur en hardware (?))
Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Telson

Ha oui effectivement, utiliser le module wifi pour échanger les donner sur un pc me permettrait en plus de visualiser en temps réel ces même données.

Merci c'est une bonne idée.

Alkann

Bonjour à tous,

Je propose une autre solution : tu pourrais avoir mixé les deux. La RAM pour gérer la matrice dont tu as besoin à un instant T et la SD comme banque de données...
La RAM sera utilisé au maximum, tandis que la SD te permettra de garder les données en cas de perte d'alimentation ou bug etc...

Telson

#12
Jul 14, 2011, 10:05 am Last Edit: Jul 14, 2011, 10:08 am by Telson Reason: 1
Oui, effectivement je pourrais utiliser la RAM en tempon et utiliser la SD pour le stockage à long terme. C'est une bonne idée également.

Combien de RAM 25X256 nous pouvons utiliser en même temps?

skywodd


Oui, effectivement je pourrais utiliser la RAM en tempon et utiliser la SD pour le stockage à long terme. C'est une bonne idée également.

Combien de RAM 25X256 nous pouvons utiliser en même temps?

Autant que nécessaire si elle sont en spi (avec un peu de logique ttl pour l'adressage par contre) ou 8 si elle sont en I2C.
Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Telson

Ha oui très intéressant tous ça.

Auriez vous un exemple pour le schéma d'implémentation et la gestion de leurs adressages?

Merci.

Go Up