Pages: [1]   Go Down
Author Topic: Almacenar posicion de servos en memoria EEPROM  (Read 1383 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 44
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
« Last Edit: March 23, 2013, 12:20:43 pm by Eduort » Logged

Spain
Offline Offline
God Member
*****
Karma: 25
Posts: 956
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

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

Offline Offline
Newbie
*
Karma: 0
Posts: 44
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Spain
Offline Offline
God Member
*****
Karma: 25
Posts: 956
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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:
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.
« Last Edit: March 09, 2013, 11:39:17 am by Heke » Logged

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

Offline Offline
Newbie
*
Karma: 0
Posts: 44
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Spain
Offline Offline
God Member
*****
Karma: 25
Posts: 956
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

¿Pero no has mirado los ejemplos?
Logged

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

Offline Offline
Newbie
*
Karma: 0
Posts: 44
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
« Last Edit: March 22, 2013, 11:47:36 pm by Eduort » Logged

Pages: [1]   Go Up
Jump to: