AYUDA: Abreviando funciones [SOLUCIONADO]
buenas tardes todos, me gustaria saber si se puede abreviar varias funciones, y pongo un ejemplo continuación,
quiero que al pulsar el pulsador se encienda los dos leds, yo escribí como la opción a, pero hay manera de agrupar estes dos leds como en la opción b. espero que me entendais lo que quiero hacer.
un saludo y gracias.
int ledpin1 = 10 //pin 10 para led rojo
int ledpin2 = 11 //pin 11 para led verde
int ledpin3 =
//las dos salidas ledpin1 y ledpin2
int pinpulsador = 2 //pin 2 para pulsador
void setup() { configura salidas
pinmode(ledpin1, output);
pinmode(ledpin2, output);
pinmode(pinpulsador, input);
digitalwrite(ledpin1, low);
digitalwrite(ledpin2, low);
}
void loop () {
//opcion a
if (digitaread (pinpulsador))
(int i=0; i<1; i++) {
digitalwrite(ledpin1, high); // enciende los leds durante 1000 ms - 1 ciclo
digitalwrite(ledpin2, high);
delay(1000);
digitalwrite(ledpin1, low);
digitalwrite(ledpin2, low);
delay(1000);
}
//opcion b
if (digitaread (pinpulsador))
(int i=0; i<1; i++) {
digitalwrite(ledpin3, high); // enciende los 2 leds durante 1000 ms - 1 ciclo
delay(1000);
digitalwrite(ledpin3, low);
delay(1000);
}
}
quiero que al pulsar el pulsador se encienda los dos leds, yo escribí como la opción a, pero hay manera de agrupar estes dos leds como en la opción b. espero que me entendais lo que quiero hacer.
un saludo y gracias.
int ledpin1 = 10 //pin 10 para led rojo
int ledpin2 = 11 //pin 11 para led verde
int ledpin3 =
//las dos salidas ledpin1 y ledpin2int pinpulsador = 2 //pin 2 para pulsador
void setup() { configura salidas
pinmode(ledpin1, output);
pinmode(ledpin2, output);
pinmode(pinpulsador, input);
digitalwrite(ledpin1, low);
digitalwrite(ledpin2, low);
}
void loop () {
//opcion a
if (digitaread (pinpulsador))
(int i=0; i<1; i++) {
digitalwrite(ledpin1, high); // enciende los leds durante 1000 ms - 1 ciclo
digitalwrite(ledpin2, high);
delay(1000);
digitalwrite(ledpin1, low);
digitalwrite(ledpin2, low);
delay(1000);
}
//opcion b
if (digitaread (pinpulsador))
(int i=0; i<1; i++) {
digitalwrite(ledpin3, high); // enciende los 2 leds durante 1000 ms - 1 ciclo
delay(1000);
digitalwrite(ledpin3, low);
delay(1000);
}
}
se puede hacer de diferentes maneras pero no se si es exactamente lo que quieres.
una solución sería por hardware:
une los dos diodos con sus respectivas resistencias al mismo pin de salida y así los dos leds se encenderán y apagarán la vez con una sola instrucción
otra solución requiere programar los registros de los puertos de arduino, aunque no es complicado requiere más conocimientos del micro atmega 328. lo tienes explicado aqui
http://arduino.cc/forum/index.php/topic,76191.msg575558.html#msg575558
espero que alguna de las dos soluciones te sirvan. salu2
una solución sería por hardware:
une los dos diodos con sus respectivas resistencias al mismo pin de salida y así los dos leds se encenderán y apagarán la vez con una sola instrucción
otra solución requiere programar los registros de los puertos de arduino, aunque no es complicado requiere más conocimientos del micro atmega 328. lo tienes explicado aqui
http://arduino.cc/forum/index.php/topic,76191.msg575558.html#msg575558
espero que alguna de las dos soluciones te sirvan. salu2
Arduino Forum > International > Español (Moderators: surbyte, Hector_A) > AYUDA: Abreviando funciones [SOLUCIONADO]
arduino
Comments
Post a Comment