Go Down

Topic: Re: Not quite self-balancing robot (Read 109 times) previous topic - next topic

carlos_roman_moncada

hola que tal
soy nuevo en la plataforma y quiero  saber si me pueden asesorar o ayudar con un proyecto ,la verdad  no se si  este  en el lugar indicado para hacer la pregunta de no ser aci  me disculpo.
mi proyecto es poder  cambiar el tiempo de retardo (delay()) dependiendo de una entrada para explicarme quiero que si el pin 1 esta en alto el tiempo de encendido de un led  dure 5000 mili segundos , si el  pin 2 esta en  alto dure ya no 5000 si no que dure 10000 mili segundos y si esta el pin 3 en alto dure 15000 mili segundos en alto .
de ante mano agradezco si me pueden ayudar gracias .
 

surbyte

#1
Jun 15, 2017, 02:14 am Last Edit: Jun 15, 2017, 02:15 am by surbyte
A tu consulta le falta alternativas pero te respondo.

imagina tener una variable tiempo

Algo muy primitivo pero que responde tu inquietud.
Esto lo encuentras no necesariamente asi en cualquier libro de Arduino.

Code: [Select]
#define PIN1   2
#define PIN2   3
#define PIN3   4
unsigned long tiempo = 0;

void setup() {

  pinMode(PIN1, INPUT);
  pinMode(PIN2, INPUT);
  pinMode(PIN3, INPUT);

}

void loop() {
if (digitalRead(PIN1))
    tiempo = 5000
if (digitalRead(PIN2))
    tiempo = 10000
if (digitalRead(PIN3))
    tiempo = 15000
// falta algo para cuando las condiciones no se dan o de lo contrario que en lugar de empezar con tiempo en 0 que valga al menos 5000;

   // lo que tengas que hacer
   delay(tiempo);
   // lo que continue
}

Go Up