Proyecto luces RC "sencillas"


hola todos!!! después de rebuscar y probar varias maneras, os expongo aquí mi pequeño proyecto; se trata de controlar las luces de freno y marcha atras aprovechando el canal pwm del receptor que va también al variador del coche.... estado leyendo y conseguido lo que os expongo aquí, pero mi intención era que me pudiera diferenciar el estado de freno del de marcha atras, pero no lo consigo... ver si me podéis ayudar! muchas gracias!!

code: [select]
int ledfreno = 9;
int ledlucesdelanteras = 8;
byte pwm_pin = 3;
const int freno_min = 1680;
const int freno_max = 1942;
const int neutro_min = 1535;
const int neutro_max = 1539;
const int gas_min = 1100;
const int gas_max = 1500;
int pwm_value;
int contador=0;
boolean freno_last=false;
boolean freno=false;
boolean gas=false;
boolean neutro=false;
boolean atras=false;
 
 
void setup() {
  pinmode(pwm_pin, input);
  pinmode(ledfreno, output);
  serial.begin(115200);
}
 
void loop() {
  analogwrite(ledfreno,0);
  pwm_value = pulsein(pwm_pin, high);
  //serial.println(pwm_value);
 if (pwm_value >= freno_min && pwm_value <= freno_max){
    freno=true;
    gas=false;
    neutro=false;
    atras=true;
    serial.println("freno!!!");
    analogwrite(ledfreno,255 );
    }
 //   delay(250);
  if (pwm_value <= neutro_max && pwm_value >= neutro_min){
    serial.println("neutro!!");
    freno=false;
    gas=false;
    neutro=true;
    atras=false;
    }
  if (pwm_value <= gas_max && pwm_value >= gas_min){
    serial.println("gas!!!");
    freno=false;
    gas=true;
    neutro=false;
    atras=false;
    }
  if (freno==true && neutro==true){
     contador=++contador;
     serial.println(contador,dec);
    }
  if (contador >=30 && freno==true){
    contador=0;
    freno=false;
    gas=false;
    neutro=false;
    atras=false;
    digitalwrite(ledfreno,low);
    }
  delay(100);
 
}

y dime como podemos ayudarte? para hacerlo no haría falta un diagramade tiempos de las luces que mencionas?
tu estas haciendo esto como prueba error pero nosotros no contamos con las luces de tu auto y entonces es dificil aconsejarte.

no mencionas el vehículo, no has aportado ningún enlace que clarifique lo que estas haciendo o un diagrama de tiempos en un borrador que diga como son los tiempos.

todo se basa en medir el ancho de pulso de modo que en principio esta bien. no entiendo porque en cada if, ajustas todas las variables bool
no es mas facil negarlas todos al comienzo del loop y activar la que se cumpla.?


Arduino Forum > International > Español > Proyectos (Moderators: surbyte, Hector_A) > Proyecto luces RC "sencillas"


arduino

Comments