void loop(){
if (digitalRead(buttonPin) == HIGH) {
delay(500);
if(estado)
digitalWrite(ledPin, HIGH);
else
digitalWrite(ledPin, LOW);
estado = ~estado;
}
perdonar mi ignorancia he probado este programa para encender y apagar un led con un pulsador y va de maravilla , la pregunta es como se amplia para encender y apagar varios , he probado ampliando las entradas y salidas y me da error , muchas gracias
const int buttonPin = 8;
const int ledPin = 13;
const int buttonPin = 2:
const int ledPin = 12;
int estado = 0;
he ampliado el codigo como aparece arriba intentando habilitar otro pulsador y su correspondiente led me imagino que sera una tonteria y que tengo que hacer mucho mas gracias de antemano
void loop(){
if (digitalRead(buttonPin) == HIGH) {
delay(500);
if(estado)
digitalWrite(ledPin, HIGH);
else
digitalWrite(ledPin, LOW);
estado = ~estado;
}
si mas , menos que mas, entiendo que se lee el estado del buttonPin y segun tenga el valor actua sobre ledPin encendiendolo y apagando , el retardo es para dar tiempo a pulsar , es perfecto lo que no entiendo es como puedo ampliar esta operacion a otros pines y poder conectar mas pulsadores y leds gracias por vuestra paciencia .-
Por su puesto! Si no sería un solo pulsador! Es decir pulses el que pulses siempre cambiará la misma variable, te interesa tener x pulsadores diferentes.
Peperruno, las variables no puedes nombrarlas a todas igual. Ten en cuenta que el nombre de la variable debe ser descriptiva, es decir, si describes un boton, no puedes crear un segundo boton, por eso debes poner boton, boton2 boton3...
lo digo por
const int buttonPin = 8;
const int ledPin = 13;
const int buttonPin = 2: //ya has declarado antes esta variable!!!
const int ledPin = 12; //y esta también, ledPin se suele usar en el pin 13 porque ahí está conectado un led SMD para primeras pruebas
int estado = 0;
Y para no liarte con las variables de estado, te aconsejo que las pongas como estadoBoton1, estadoBoton2...
Incluso (esto ya es el método de cada uno) que agrupes las variables comunes, para luego ver con más claridad:
//boton 1
const int buttonPin = 8;
int estado = 0;
const int ledPin = 13;
//boton 2
const int buttonPin2 = 2:
int estadobutton2 = 0;
const int ledPin2 = 12;
Y comenta el código, no hace falta hacerlo linea a linea, pero sí hacerlo de forma que dentro de unos días (o meses) puedas entender qué hace cada parte del código, o qué querías que hiciera.
const int buttonPin = 2;
const int ledPin = 13;
const int buttonPin2 = 4;
const int ledPin2 = 14;
int estado = 0;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
pinMode(ledpin2, OUTPUT);
pinMode(buttonPin2 INPUT);
}
otra de ignorante , seria correcto este codigo para dos pulsadores? muchas gracias
hola peperruno,yo tambien soy nuevo en esto como tu,aun no me ha yegado la laca,pero ya tengo agun programilla ala espera,te aconsejo si recien empiezas,que te veas algun tuto de estos,se explica bastante bien para iniciados,tiene tambien muchos sobre electronica basica en su canal,espero que sirva a los que estan empezando.
//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;
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 .-