Go Down

Topic: Almacenar posicion de servos en memoria EEPROM (Read 1 time) previous topic - next topic

Eduort

Mar 09, 2013, 04:19 am Last Edit: Mar 23, 2013, 06:20 pm by Eduort Reason: 1
Hola, estoy trabajando con servos y hasta ahora puede hacer que se muevan con el programa que dejo a continuacion, sin embargo ahora lo que quiero hacer es poder guardar la secuencia de los servos en la memoria EEPROM y luego ejecutarla, lo que se me ocurre es copiar la posicion del servo en otra posicion, y esa posicion este dentro de un if, y al recibir por ejemplo una "c" mover todos los servos a las posiciones que esten dentro, pero no pude encontrar mucha informacion al respecto, y no se como hacerlo, agradeceria mucho si me pueden dar alguna ayuda, como dije a contunacion dejo lo que llevo de programa, y gracias de antemano.

Heke

Hola Eduort

Mira los tutoriales de esta web que explican el uso de la eprom del arduino muy bien.

No creo que tengas problemas una vez los leas.

Un saludo.
CUIDADO !! MIS POST NO SON APTOS PARA MENORES. SI ERES MENOR DE 14 AÑOS DEBES DE LEERLOS ACOMPAÑADO DE UN ADULTO

Eduort


Hola Eduort

Mira los tutoriales de esta web que explican el uso de la eprom del arduino muy bien.

No creo que tengas problemas una vez los leas.

Un saludo.

Gracias, pero ya los lei y lo que no entiendo es como guardar varias posiciones de servos, como dije lo unico que se me ocurrio es dejar posiciones en blanco y luego sobre escribirlas pero no se si sea posible.

Heke

#3
Mar 09, 2013, 05:37 pm Last Edit: Mar 09, 2013, 05:39 pm by Heke Reason: 1
Si no lo has entendido ya es otra cosa...

Veras, en este enlace te explica como se escribe un byte en la eprom:
http://arduino.cc/es/Reference/EEPROMWrite

Como veras es muy sencillo:
Code: [Select]
EEPROM.write(i, i);

la orden dice EEPROM.write(dirección, valor) donde direccion es la direccion donde quieres guardar el dato, y es una direccion unica, cuando vayas a leer esta direccion tendra el valor que tu le dejaste y que será el byte de la posicion del servo (el campo "valor") no tienes que dejar espacios en blanco ni nada, elige donde quieres guardar uno o varios datos y luego los lees

En este enlace te dice como leer:
http://arduino.cc/es/Tutorial/EEPROMRead

Con estos enlaces tienes todo lo que te hace falta, hasta los ejemplos...

Ya para rizar el rizo, una busqueda de google te arroja mas info y ejemplos de otras personas pero con solo leer de esta web tenias todo hecho.
CUIDADO !! MIS POST NO SON APTOS PARA MENORES. SI ERES MENOR DE 14 AÑOS DEBES DE LEERLOS ACOMPAÑADO DE UN ADULTO

Eduort

entonces en direccion seria asignarle una a cada servo y el valor seria por ejemplo  pos1= 5? podrias decirme si esto estaria bien:
if data "B" EEPROM.write(1, pos1=20);
if data "C" EEPROM.read (1)
obviamente no esta bien el codigo, pero segun yo seria mas o menos lo que se necesita, y gracias por la ayuda.

Heke

CUIDADO !! MIS POST NO SON APTOS PARA MENORES. SI ERES MENOR DE 14 AÑOS DEBES DE LEERLOS ACOMPAÑADO DE UN ADULTO

Eduort

#6
Mar 09, 2013, 09:54 pm Last Edit: Mar 23, 2013, 05:47 am by Eduort Reason: 1
ya vi mejor los ejemplos, entonces según yo seria algo así.

Escribir
EEPROM.write( 1, posicion del servo);
Leer
pos1 = EEPROM.read(1);
servo1.write(pos1);  

lo que no me queda muy claro es como definir que valor va a guardar, por lo que me dijiste en el comentario anterior supongo que poner pos1 no es correcto.

Go Up