lunes, 7 de enero de 2008

al otro lado del espejo (III)

En nuestro afán de conseguir controlar el cochecito, establecemos un código diferente para cada uno de los pins (PWM), así verificamos las diferentes posibilidades de aceleración, velocidad, etc.

Conclusiones: contra mayor sea "val" con la función, más deprisa y más tensión obtendremos. Con sentencias consecutivas podremos acelerar la función de velocidad constante y añadiremos finalmente una función de frenada.

CÓDIGO:

//Nom pels diferents pins de sortida
int outpin0 = 0;
int outpin1 = 1;
int outpin2 = 2;
int outpin3 = 3;
int outpin4 = 4;
int outpin5 = 5;
//Nom variables per diferents valors 0-255
int val0 = 0;
int val1 = 100;
int val5 = 128;
int val2 = 100;
int val3 = 100;
int val4 = 255;
void setup()
{
}
void loop()
{
//pin 0 //accelerando desde 0?//SENSE cap delay intenta accelerar durant X s //Amb delays de posteriors pins no chuta (delay100, si)
//pin 0 //(SENSE DELAY) sense parar 1 volta/20s GND(2,2V-2,7V) VCC(-2,2V -2,7V)
analogWrite(outpin0, val0); // sets the value of analog pin 0
val0 = (val0 + 10) % 255; // increment value and keep it in the 0-255 range.
//pin 1 //(AMB DELAY 1000)RESET->RUN 7-8s //RUN->STOP 15s 5accel+10velcte //STOP->RUN 10s
//pin1 //(AMB DELAY 100) //RESET-> RUN 7-8s //RUN ->STOP 1-1,5 s //STOP ->RUN 1s
//pin 1// (SENSE DELAY) //sense parar 1 volta/20s GND(2,2V-2,7V) VCC(-2,2V -2,7V)
analogWrite(outpin1, val1);
val1 = (val1 + 10) % 255;

//pin 3 //(DELAY 1000) RESET->RUN 7-8s //RUN->STOP 1s //STOP -> RUN 1s
//pin3 //(SENSE DELAY) //sense parar 1volta/17-18s GND (2,4V-2,5V) VCC(-2,7 - -2,8V) analogWrite(outpin3, val3);
val3 = (val3 + 100) % 255;

//DELAYs
//delay (100);
//delay(1000);
//delay(10000)

//pin 2 velocitat alta i constant RESULTAT: accelera, velocitat constant (10 s ->delay 10000)i despres para durant segons 10s (delay(10000)
//pin 2 //(SENSE DELAY) sense parar 1volta/8s GND (3,3V-3,4V) VCC (-1,6V- -1,7V)
for(int i=0;i<48;i=i+8) style="color: rgb(51, 255, 51);">// delay(5000);
val2 = (val2 + i) % 255;
analogWrite(outpin2, val2);
// sets the value of analog pin 2
//delay(1000);
}
val2= 100; //per tornar a posar el valor a 100, si no te un començament/acavament diferent
//delay (10000); //run durant 10s, stop durant 10s cada cicle més accelerat
//delay (100); //nomes soroll no es mou!!*/
}

No hay comentarios: