Go Down

Topic: ampliar pulsadores en el mismo programa SOLUCIONADO (Read 2275 times) previous topic - next topic

peperruno

hola franx

superagredecido , empiezo ahora mismo.-

peperruno

//tres pulsadores by peperruno


//boton 1
const int buttonPin = 2;
int estado = 0;
const int ledPin =  13;
//boton 2
const int buttonPin2 = 4;
int estadobutton2 = 0;
const int ledPin2 = 12;
//boton 3
const int buttonPin3 = 7;
int estadobutton3 = 0;
const int ledPin3 = 8;

void setup() {
pinMode(ledPin, OUTPUT);     
pinMode(buttonPin, INPUT);
pinMode(ledPin2, OUTPUT);
pinMode(buttonPin2, INPUT);
pinMode(ledPin3, OUTPUT);
pinMode(buttonPin3, INPUT);
}

void loop(){

  if (digitalRead(buttonPin) == HIGH) {
  delay(500);
    if(estado)
    digitalWrite(ledPin, HIGH);
   else
        digitalWrite(ledPin, LOW);
   estado = ~estado;
  }
if (digitalRead(buttonPin2) == HIGH) {
  delay(500);
    if(estado)
    digitalWrite(ledPin2, HIGH);
   else
        digitalWrite(ledPin2, LOW);
   estado = ~estado;
  }
if (digitalRead(buttonPin3) == HIGH) {
  delay(500);
    if(estado)
    digitalWrite(ledPin3, HIGH);
   else
        digitalWrite(ledPin3, LOW);
   estado = ~estado;
  } }



me falta conectar y probar pero creo que va a funcionar muchas gracias a todos .-

PepeChorva

Llámame agorero, pero no te va a funcionar...  :smiley-mr-green:



Utiliza varios estados, no siempre el mismo, que te has olvidado de esa parte.  :P
---
Saludos,
José Chorva
www.pepechorva.com
@pepechorva on twitter

peperruno

funciona de lujo , a mi me sirve el problema que tengo es cuando lo tenga que usar otro ajeno al dato de que al pulsar hay que hacerlo con cierta pericia no lo haga asi , me refiero al tiempo que mantienes pulsado que logicamente cada uno lo hacemos diferente pero he pedido ayuda a ver si a alguien se le ocurre algo para solucionarlo , de todas formas a que te refieres dos estados y cambia de encendido a apagado y viceversa  no es correcto? gracias  un saludo .-

PepeChorva

#19
Apr 25, 2012, 12:20 am Last Edit: Apr 25, 2012, 12:22 am by PepeChorva Reason: 1
Me refiero a que si quieres que el botón 1 sea independiente del botón 2, tendrás que usar un estado para el botón 1 y otro para el 2;
void loop(){

 if (digitalRead(buttonPin) == HIGH) {
 delay(500);
   if(estado)
   digitalWrite(ledPin, HIGH);
  else
       digitalWrite(ledPin, LOW);
  estado = ~estado;
 }
if (digitalRead(buttonPin2) == HIGH) {
 delay(500);
   if(estadobutton2)
   digitalWrite(ledPin2, HIGH);
  else
       digitalWrite(ledPin2, LOW);
  estadobutton2 = ~estadobutton2;
 }
if (digitalRead(buttonPin3) == HIGH) {
 delay(500);
   if(estadobutton3)
   digitalWrite(ledPin3, HIGH);
  else
       digitalWrite(ledPin3, LOW);
  estadobutton3 = ~estadobutton3;
 }
}
---
Saludos,
José Chorva
www.pepechorva.com
@pepechorva on twitter

franx

#20
Apr 25, 2012, 12:24 am Last Edit: Apr 25, 2012, 12:26 am by franx Reason: 1
prueba poniendo un estado por grupo pulsador-led,supongo que ira algo mejor,de tu forma puede funcionar porque cuando un led lo enciendes,ya queda encendido asta nuevo aviso y no necesita de la variable estado,epro con alguna combinacion podria darte problemas,no te lo tomes al pie de la letra,no estoy muy seguro que sea exactamente como digo,epro creo que si, un saludo y suerte



EDITO:ups,no abia visto el ultimo mensaje de pepe,mejor su ejemplo xD

peperruno

entiendo pepeChorva , probare de tu forma pero tal y como esta funciona salvo lo del tiempo de pulsación , pruebo y comento gracias.-

PepeChorva

Más que nada, porque los habías declarado, pero no los habías usado, creo que lo que te interesaba era un estado por botón, ¿no?
---
Saludos,
José Chorva
www.pepechorva.com
@pepechorva on twitter

Go Up