Go Down

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

peperruno

Apr 22, 2012, 05:40 pm Last Edit: Apr 24, 2012, 09:27 pm by peperruno Reason: 1
const int buttonPin = 8;
const int ledPin =  13;
int estado = 0;

void setup() {
 pinMode(ledPin, OUTPUT);      
 pinMode(buttonPin, INPUT);    
}

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  :smiley-roll-sweat: gracias

Sergegsx

que es lo que has probado exactamente? pon el código.

peperruno

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

Sergegsx

entiendes el codigo dentro del loop() ??

mira mi firma para tutoriales de Arduino básico.

nayma

Hola peperruno,

Sergegsx te aconseja bien, miraté los tutoriales del playground, en castellano encontrarás lo que necesitas y más.

Tu problema es que no puedes definir dos variables diferentes con el mismo nombre.

peperruno

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 .- 

peperruno

pregunta de ignorante , tiene que haber una variable por cada pulsador?

PascuaL

#7
Apr 22, 2012, 09:28 pm Last Edit: Apr 22, 2012, 09:31 pm by PascuaL Reason: 1
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


PascuaL

int estado= 0;
int estado2=0;
int LoQueQuieras=0;
.
.

peperruno

muchas gracias creo que tengo que ponerme las pilas con los tutoriales , y volver a intentarlo.- :~

PepeChorva

#11
Apr 23, 2012, 12:25 am Last Edit: Apr 23, 2012, 12:31 am by PepeChorva Reason: 1
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
Code: [Select]

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:
Code: [Select]

//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.
---
Saludos,
José Chorva
www.pepechorva.com
@pepechorva on twitter

peperruno

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 :smiley-slim:

PepeChorva

si tienes un arduino Mega... Arduino UNO (y duemilanove, diecimila...) "sólo" tienen 14 entradas/salidas digitales, pero se numeran de 0 a 13  ;)

Por otro lado, te has dejado de nuevo la variable de estado para el boton 2, por lo demás bien.
---
Saludos,
José Chorva
www.pepechorva.com
@pepechorva on twitter

franx

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.


http://www.youtube.com/watch?v=_t2mSglFTvs    ------> Introduccion
http://www.youtube.com/watch?v=FWnRjhGa6f0   ------> Hola mundo
http://www.youtube.com/watch?v=sNsAIAXtLK0  -------->  PWM
http://www.youtube.com/watch?v=eN4oN5lbdIo  --------> Conversor ADC y puerto serie
http://www.youtube.com/watch?v=damFkAI_JS0  --------> Pulsadores +estructuras if y switch
http://www.youtube.com/watch?v=eeX1-TZj6ZA ---------> LCD
http://www.youtube.com/watch?v=idI2z2DlJDM   --------->  Uso y aplicacion de resistencias variables en proyectos

Un saludo!

Go Up