Loading...
  Show Posts
Pages: 1 [2] 3
16  Using Arduino / Storage / Save Servo Position on EEPROM on: March 22, 2013, 11:08:20 pm
Hi, i made a program to move servos whit android, it works well, but now i want to save sequences of movements, for example, move servo 1 to 180°, move servo 2 to 100°, etc. only using the android phone, i have a idea but i dont know if it is good, this is the code to do the movements in manual form:
[c
17  International / Software / Re: Almacenar posicion de servos en memoria EEPROM on: March 09, 2013, 03:54:50 pm
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.
18  International / Software / Re: Almacenar posicion de servos en memoria EEPROM on: March 09, 2013, 02:19:11 pm
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.
19  International / Software / Re: Almacenar posicion de servos en memoria EEPROM on: March 09, 2013, 11:05:02 am
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.
20  International / Software / Almacenar posicion de servos en memoria EEPROM on: March 08, 2013, 10:19:03 pm
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.
21  International / Proyectos / Servos y Android on: March 05, 2013, 01:32:02 am
Estoy haciendo un proyecto para controlar servos usando un celular android, hasta ahora lo que pude lograr fue que al enviar una letra mueva cierto servo, sin embargo quiero logar el poder programar secuencias para los servos desde el celular, lo primero que se me ocurrio fue programar todas las posiciones posibles de los servos y hacer todo lo demas desde el celular, pero al intentar enviar por ejemplo A1,A2...A180 el arduino solo detecta el primer caracter y me toma todo como "A", agradeceria mucho si me pueden sugerir una forma de poder enviar mas datos por serial u otra forma de escbirir nueva programacion en el arudino pero desde el celular, lei sobre la EEPROM pero creo que seria complicado guardar los datos desde la aplicacion, es todo y gracias de antemano.
22  International / Software / Programar Loop on: February 09, 2013, 01:26:39 pm
Hola, estoy haciendo un proyecto que es un brazo robot, al cual le quiero poner secuencias, hasta ahora lo que logre fue programar la secuencia y que al presionar el boton la haga una ves, pero el problema es que necesito que al oprimir el boton iniciar la secuencia y se siga repitiendo hasta que se oprima otro boton para que se detenga, sin embargo no he encontrado la forma de hacer esto, este es el codigo que tengo
Code:
if (Serial.available() > 0) {         
    data = Serial.read();
    }
   if ((data == 'A') || (data == 'a')) {
   pos1 = 135;
   servo1.write(pos1);         
   delay(2500);   
   pos2 = 90;
   servo2.write(pos2);         
   delay(2500); 
   pos3 = 90;
   servo3.write(pos3);         
   delay(2500);
   pos4 = 165;
   servo4.write(pos4);         
   delay(2500); 
   pos1 = 90;
   servo1.write(pos1);         
   delay(2500); 
   pos2 = 75;
   servo2.write(pos2);         
   delay(2500);   
   pos4 = 120;
   servo4.write(pos4);         
   delay(2500); 
   }
Agradeceria mucho si me pueden pasar un tutorial o decir como puedo hacer lo que busco, es todo y gracias de antemano.
23  International / Hardware / Vibracion de Servomotores on: January 17, 2013, 09:10:42 pm
Hola, tengo un problema, estoy trabajando con servos tower pro sg995, los alimento con 9v con una fuente, hasta ahi no tengo problemas, pero cuando los conecto al pin de señal del arduino empiezan a vibrar y no se a que se deba, agradeceria mucho si me pueden decir alguna teoria de porque esta pasando este problema, saludos.
24  International / Hardware / Duda con servos on: January 10, 2013, 07:48:30 pm
Hola, estoy haciendo un brazo robot con servos, pero quiero que cada articulacion lleve 2, intente ponerle a 2 servos la misma señal, los 2 se movian a la ves pero uno vibraba, asi que me gustaria saber si hay otra manera de hacer esto, o si la vibracion del servo fue por otra cosa y no por poner la misma señal, es todo y gracias de antemano.
25  Using Arduino / LEDs and Multiplexing / Led Cube, How to Program on: November 11, 2012, 01:01:30 pm
Hi, i try to do a Led cube whit custom routines, and i want to start each routine whit a button, i do the cube whit a tutorial, and i see this example code, but i dont know how control each rutine whit a button, how i could do that? thanks in advance.
Code:
/*
    ledcube.pde - Example sketch for controlling an LED cube.
    Created by Gamaiel Zavala (gzip), 2009-2012
    MIT License. See accompanying LICENSE file for terms.
*/

#include <LedCube.h>

#define SIZE 3
#define COLS (SIZE*SIZE)

byte levelPins[SIZE] = {11,12,13};
byte colPins[COLS] = {2,3,4,5,6,7,8,9,10};

LedCube cube(SIZE, levelPins, colPins);

void setup ()
{
}

void loop ()
{
    delay(10);
   
    // light each light one at a time
    for(byte level=0; level<cube.getLevels(); level++)
    {
        for(byte col=0; col<cube.getCols(); col++)
        {
            cube.lightPulse(level, col, 100);
        }
    }
   
    // light one level at a time, increasing speed each time
    for(byte d=25; d>2; d-=2)
    {
        for(byte l=1; l <= cube.getLevels(); l++)
        {
            cube.lightLevel(l, d);
        }
    }
   
    // light each row on each level
    for(byte level=1; level<=cube.getLevels(); level++)
    {
        for(byte row=1; row<=cube.getLevels()*2; row++)
        {
            cube.lightRow(row, level);
        }
    }
   
    // light each plane
    for(byte i=3; i; i--)
    {
        for(byte row=1; row<=cube.getLevels()*2; row++)
        {
            cube.lightPlane(row, 10*i);
        }
    }
   
    // single random light at a time
    cube.randomLight(random(25,100),100);
   
    // random column drop
    for(byte x=0; x<=15; x++)
    {
        cube.lightDrop(random(0,cube.getCols()), random(50,150));
    }
   
    // circle around cube at a random level
    for(byte x=0; x<=5; x++)
    {
        cube.lightPerimeter(random(0,cube.getLevels()), random(1,5), random(25,100));
    }
   
    // light each face
    byte planes[] = {cube.getLevels()+1,cube.getLevels(),cube.getLevels()*2,1};
    for(byte i=5; i; i--)
    {
        for(byte p=0; p<sizeof(planes); p++)
        {
            cube.lightPlane(planes[p], 5*i);
        }
    }
   
    // random columns
    cube.randomColumn(25);
   
    // turn off a single column randomly
    cube.enableBuffer();
    for(byte c=0; c<30; c++)
    {
        cube.fillBuffer();
        cube.invertBuffer();
        cube.randomColumn();
        cube.drawBuffer(7);
    }
    cube.enableBuffer(false);
   
    // cols in and out
    for(byte c=1, d=0; c<=10; c++)
    {
        if(c%2 == 0)
        {
            for(d=0; d<20; d++)
            {
                cube.lightColumn(2,1);
                cube.lightColumn(4,1);
                cube.lightColumn(6,1);
                cube.lightColumn(8,1);
            }
        }
        else if(c%4 == 1)
        {
            for(d=0; d<30; d++)
            {
                cube.lightColumn(1,1);
                cube.lightColumn(3,1);
                cube.lightColumn(7,1);
                cube.lightColumn(9,1);
            }
        }
        else
        {
            for(d=0; d<70; d++)
            {
                cube.lightColumn(5,1);
            }
        }
    }
   
    // diamond and box
    byte diamond[] = {0,4,  1,1, 1,3, 1,4, 1,5, 1,7,   2,4};
    byte box[] = {
        2,0, 2,1, 2,2, 2,3, 2,5, 2,6, 2,7, 2,8,
        1,0, 1,2, 1,6, 1,8,
        0,0, 0,1, 0,2, 0,3, 0,5, 0,6, 0,7, 0,8
    };
    cube.lightSequence(box, sizeof(box), 200);
    cube.lightSequence(diamond, sizeof(diamond), 400);
   
    // helicopter effect
    byte topSeq[8] = {0,3,6,7,8,5,2,1};
    byte botSeq[8] = {8,5,2,1,0,3,6,7};
    for(byte loops = 0, delay = 50; loops<=8; loops++)
    {
        for(byte s=0; s<8; s++)
        {
            byte seq[] = {2,topSeq[s], 1,4, 0,botSeq[s]};
            cube.lightSequence(seq, sizeof(seq), delay);
        }
        if(loops < 5) delay-=10;  else delay += 10;
    }
   
    // turn off one light at a time
    cube.enableBuffer();
    cube.fillBuffer();
    cube.drawBuffer(25);
    for(byte w=0, l, c, max = cube.getNumLights(); w<max; )
    {
        // lower bound is inclusive, upper is exclusive
        l = random(0, cube.getLevels());
        c = random(0, cube.getCols());
       
        if(cube.getBufferAt(l,c) == HIGH)
        {
            cube.lightOff(l,c);
            cube.drawBuffer(5);
            w++;
        }
    }
    cube.enableBuffer(false);
}
26  International / Software / Re: Dudas, Carro Con Cubo de Leds. on: November 07, 2012, 11:08:53 pm
Mirate el ejemplo que viene con arduino de blinkwithoutdelay
Pero eso se podria aplicar a varios leds y funcionar mientras el carro se este moviendo?
27  International / Software / Dudas, Carro Con Cubo de Leds. on: November 06, 2012, 09:59:04 pm
Hola, quiero realizar el siguiente proyecto, pero no se si sea posible, quiero hacer un pequeño carro que funcione con 2 servos, pero que el carro lleve arriba un cubo de LEDs de 2x2x2 (8 Leds), y que al presionar un boton el carro se mueva, pero que mientras se este ejecutando eso, que al presionar otro boton empieze una secuencia en el cubo, es posible hacer las 2 cosas a la ves?
Y otra duda es en cuanto a las secuencias del cubo, pienso adaptar este codigo que es para cubos de 3x3x3:
Quote
int Columnas[] = {1, 2, 3, 4, 5, 6, 7, 8, 9};

int Filas[] = {12, 11, 10};
int RandFila;     //Variable para fila aleatoria
int RandColumna;  //Variable para columna aleatoria

void setup()
{
  int contador;

  for (int contador = 0; contador < 10; contador++){
    pinMode(Columnas[contador], OUTPUT); }

  for (int contador = 0; contador < 4; contador++){
    pinMode(Filas[contador], OUTPUT); }
}

void loop()
{
  RandLed();
}

void RandLed()
{
  RandFila = random(0,3);
  RandColumna = random(0,9);

  digitalWrite(Filas[RandFila], HIGH);
  digitalWrite(Columnas[RandColumna], HIGH);

  delay(75);

  digitalWrite(Filas[RandFila], LOW);
  digitalWrite(Columnas[RandColumna], LOW);

  delay(50);
}
Pero no estoy muy seguro de que parte del codigo es lo que tendria que poner en el boton para poder controlar el inicio de la secuencia, segun yo es a partir de RandLed(); pero no estoy muy seguro, y tampoco se si agregar mas secuencias para controlar con cada boton pueda de alguna manera afectar el fucnionamiento, son muchas dudas pero agradeceria mucho si me pueden ayudar, saludos.
28  International / Hardware / Cubo De Leds on: October 31, 2012, 05:50:07 pm
Hola, tengo una duda, quiero hacer un cubo de Leds como este http://arduino.cc/forum/index.php?action=dlattach;topic=110836.0;attach=20613;image pero la duda que tengo es si podria ponerle varias secuencias y que un boton accione esas secuencias, estaba viendo esto para programar las secuencias http://www.instructables.com/id/3X3-LED-Cube-Programming-tips-Arduino-based/?ALLSTEPS pero me parece algo complicado, hay alguna manera mas facil de hacerlo? es todo y gracias de antemano.
29  International / Software / Re: Mover Servo y Encender led a la ves on: October 24, 2012, 02:13:31 pm
Si no te quieres poner a controlar los registros del Timer y las señales que hay que enviar al servo, otra posibilidad es que en vez que esté parpadeando todo el rato el led, haz que se encienda cuando empiece a moverse el servo y cuando se pare se apague el led. Mola más que parpadee pero tiene mucho trabajo.
Como podria hacer eso? hasta ahora solo logre que cuando envio la señal de movimiento se prenda el LED, pero el problema es que se paga hasta que vuelvo a mandar la señal de que se mueva el servo, entonces podria quedarse encendido aunque el servo ya no se mueva.
30  International / Software / Programar Secuencia on: October 23, 2012, 01:57:28 pm
Tengo una duda que talves sea sencilla pero no he encontrado informacion de como hacerlo, como podria hacer para que al recibir una señal el arduino ejecute comandos uno tras otro? por ejemplo al oprimir un boton que prenda un led en el pin 12 y cuando este termine uno en el pin 13? es todo y gracias de antemano.
Pages: 1 [2] 3