Guardar los valores recojidos por Arduino en un .txt

Hola,

me gustaria saber como guardar los datos recojidos por arduino
en un archivo .txt

txt

Hola,
no entiendo dónde quieres guardar, tendrías que especificar si quieres guardar en el lado del Arduino o en el del PC
Si es en el lado del Artduino, podrías usar un módulo SD, o una eeprom.

Holaa si lo que queria decir esque quiero guardar en un archivo .txt que este en mi ordenador
en python lo se hacer y es algo parecido a esto:

f = open('/home/usuario/Escritorio/men.txt','a')
f.write('Valor de la variable')
f.close()

tienes que usar Pyserial para conectar arduino al PC y de alil en adelante ya sabes como proceder.

No hay otra manera mas sinple haciendolo desde el mismo programa del arduino??

venga Heke!! responde tu.

creo que con python si hacias esto tmb te lo aceptaba es lo que queria hacer con los valores que me devolvía arduino

os.system("echo "variable " >> /home/usuario/Escritorio/valorarduino.txt")

No hay otra manera mas sinple haciendolo desde el mismo programa del arduino??

Desde el Arduino solo puedes enviar bytes al PC y recibir bytes desde el PC, no puedes crear o escribir en un fichero del PC.

aa ok entonces se tiene que utilizar el pyserie x huevos...

Puedes usar cualquier otra consola serie (no la del IDE), ya que casi todas tienen opción para guardar en archivo de texto (ejemplo hyperterminal de windows, realterm, etc).

:wink:

yOPERO:
venga Heke!! responde tu.

carlos_novel_arduino:
No hay otra manera mas sinple haciendolo desde el mismo programa del arduino??

Mas facil no.

Hay una forma proveniente del antiguo msdos que era redireccionando la entrada y salida estandar de datos y es empleando el comando: CTTY

Este comando te permite meter datos por un puerto serie del PC, pero no recuerdo ya despues de tanto tiempo su uso, me parece recordar algo asi como CTTY>com1 pero vamos... a rebuscar en el baul de los recuerdos... Luego hay otra pega y es que windows XP, o Win7 o vista admita esto, desde linux podria ser mas facil, pero no deja de ser un berenjenal.

Tambien se podia crear un TXT redireccionando con >

Un ejemplo que puedes hacer en una consola msdos es: dir > listado.txt y luego mira el fichero "listado.txt" con el bloc de notas y veras lo que tienes.

Esto mismo seria cuando el arduino comunicado por puerto serie gobernara el PC (la entrada estandar de datos) y escribiera desde un puerto com.

El problema: ... si no tienes claro aun lo que quieres hacer y no has esbozado el camino...

"...Esto va a ser un infierno coronel Truman..." (c) Rambo.

PD: para que te entretengas...
c:> copy con archivo.txt
F6

edlin

Y asi muchos mas comandos... pero estoy seguro que aun no tienes claro lo que hace y lo que no hace el arduino y como lo hace.

!! SE ME OLVIDABA !! si empleais el comando ctty>com1 y esta en el interprete vais a bloquear el ordenador, ya que espera entrada de control a traves del com1, es algo asi como quitar el teclado del PC y este pasa a ser controlado por el puerto serie.

Un poco de luz en este enlace: MS-DOS and Windows Command Line Ctty Command

La forma más fácil, es usar una consola serie mejor que la que trae el IDE de Arduino. Cualquiera permite guardar en un archivo todo lo recibido.
Por ejemplo, RealTerm (http://realterm.sourceforge.net/) :

Otro ejemplo con el hyperterminal de windows:

O por ejemplo con CuteCom para linux (http://cutecom.sourceforge.net/):

Asi que todo lo que envies por arduino, directamente quedará guardado en el archivo que elijas. Tan sólo tienes que configurar en dichos terminales el puerto COM, velocidad, etc y darle a capturar.... como puedes ver, es inmediato.

Espero que lo encuentres de utilidad.

Saludos

Igor

Sii perfecto gracias , Igor R
ese programa esta de lujoo ahora lo probare y te cuento.

Ey! Buen aporte, gracias!
La verdad es que ésta era una duda que tenia hace tiempo, la de cómo guardar los datos recibidos, pero nunca me había planteado preguntarla.
Sabía que tenía que haber alguna consola de este tipo que te permiriera guardarlos para luego "trabajarlos"

Una cuestión más. Hay algún programa que te permita, como digo, trabajarlos? Es decir, sacar gráficas, series, etc. A tiempo real? No sé si hay algún programa específico para esto, o estoy pidiendo la gallina de os huevos de oro (típica petición de principiante, en cualquier tema)

PEro bueno, si conocéis alguno, agradecería el aporte.
He oído que matlab lo hace, pero nunca he trabajado con ese programa y me da un poco de respeto, por eso decía si hay algún programa específico para ello.

Saludos!

Hola, con linux es de lo más fácil, yo tengo un arduino conectado a un router con OpenWrt y el comando en linux para que guarde los datos en un archivo es:

cat < /dev/ttyUSB0 > archivo.txt &

y si quieres enviar algún dato desde el ordenador a arduino:

echo 'datos' > /dev/ttyUSB0

Quizás te interesaría
http://www.processing.org/learning/topics/ busca al final de la pagina files io

Con KST puedes graficar lo que recoges de Arduino.

Mira esto que escribí hace algun tiempo:

:wink:

Hola alfinal el programa cutecom no me funciona bien con el arduino
algun script en python porfa que pueda leer del puerto /dev/tty y guardarlo en un fichero
de momento solo he encontrado esto
pero solo muestra el valor de loque lee el puerto serie
necesito guardarlo en un fichero alguna idea gracias.

import pyserial
ser = serial.Serial('/dev/ttyS1', 9600)
print(ser.readline())