elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Píldoras formativas en seguridad de la información


+  Foro de elhacker.net
|-+  Informática
| |-+  Electrónica
| | |-+  Pulsador arduino
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Pulsador arduino  (Leído 6,708 veces)
@synthesize
Wiki

Desconectado Desconectado

Mensajes: 639


Another Brick in the Wall


Ver Perfil WWW
Pulsador arduino
« en: 28 Junio 2010, 02:10 »

Tengo un pulsador (http://www.bricogeek.com/shop/img/p/85-200-large.jpg) y me gustaría que cuando sea pulsado, cambie el valor de una variable dentro de mi programa. He pensado en usar interrupciones, probé con CHANGE, pero nada.

¿Alguna idea?


En línea

@synthesize
Wiki

Desconectado Desconectado

Mensajes: 639


Another Brick in the Wall


Ver Perfil WWW
Re: Pulsador arduino
« Respuesta #1 en: 28 Junio 2010, 02:20 »

CASI Solucionado

Código
  1. int ledPin =13;
  2. int ip =0;
  3. int valor;
  4. int ip2 =3;
  5.  
  6. void setup()
  7. {
  8.  pinMode(ledPin, OUTPUT);
  9.  attachInterrupt(ip, func, CHANGE);
  10.  pinMode(ip2, OUTPUT);
  11. }
  12.  
  13. void loop()
  14. {
  15.  digitalWrite(ip2, HIGH);
  16.  if (valor ==1) {digitalWrite (ledPin, HIGH); delay (2000); digitalWrite(ledPin, LOW); valor =0; }
  17. }
  18.  
  19. void func()
  20. {
  21.  valor =1;
  22. }


En línea

GroK


Desconectado Desconectado

Mensajes: 681


...I have become comfortably numb...


Ver Perfil
Re: Pulsador arduino
« Respuesta #2 en: 28 Junio 2010, 02:29 »

¿Por que necesitas interrupciones? Con digitalRead deberia bastar, aqui tienes un ejemplo muy bueno de la propios tutoriales oficiales de Arduino, lo usan para encender o apagar un LED segun este pulsado o no el switch, pero tu puedes cambiarlo para que setee la variable que quieras (o cualquier otra cosa que se te ocurra)

http://arduino.cc/en/Tutorial/Button

Saludos
En línea

"I put on my Hendrix album and my son said 'Dad, who's that?' and i said 'Well son, that's God' "- Robert Plant

@synthesize
Wiki

Desconectado Desconectado

Mensajes: 639


Another Brick in the Wall


Ver Perfil WWW
Re: Pulsador arduino
« Respuesta #3 en: 28 Junio 2010, 02:36 »

¿Por que necesitas interrupciones? Con digitalRead deberia bastar, aqui tienes un ejemplo muy bueno de la propios tutoriales oficiales de Arduino, lo usan para encender o apagar un LED segun este pulsado o no el switch, pero tu puedes cambiarlo para que setee la variable que quieras (o cualquier otra cosa que se te ocurra)

http://arduino.cc/en/Tutorial/Button

Saludos

Código
  1. int ledPin =13;
  2. int entrada =4;
  3. int valor;
  4. int salida =7;
  5.  
  6. void setup()
  7. {
  8.  pinMode(ledPin, OUTPUT);
  9.  pinMode(entrada, INPUT);
  10.  pinMode(salida, OUTPUT);
  11. }
  12.  
  13. void loop()
  14. {
  15.  digitalWrite(salida, HIGH);
  16.  valor =digitalRead(entrada);
  17.  if (valor ==HIGH) { digitalWrite(ledPin, HIGH); }
  18.  else { digitalWrite(ledPin, LOW); }
  19. }
  20.  

Led en el 13, y pulsador en el 7 y 4. Se me queda todo el rato encendido el led
En línea

GroK


Desconectado Desconectado

Mensajes: 681


...I have become comfortably numb...


Ver Perfil
Re: Pulsador arduino
« Respuesta #4 en: 28 Junio 2010, 02:50 »

Uhmm hay dos cosas que no veo claras:

  • ¿A que te refieres exactamente cuando dices que tienes el pulsador en el 7 y en el 4? Con un solo pin te basta
  • ¿Para que usas la variable "salida"? Veo que la seteas a HIGH al principio pero luego no haces nada mas con ella (o quizas solo era un ejemplo :B)

Con respecto al problema principal, te has asegurado de poner la resistencia pull-up/down correspondiente? Porque puede que te hayas despistado en el montaje y este el pin del switch siempre al aire, por lo que te da lecturas espurias. En el tuto viene un esquematico del montaje, fijate por si acaso.

Saludos
En línea

"I put on my Hendrix album and my son said 'Dad, who's that?' and i said 'Well son, that's God' "- Robert Plant

Banti

Desconectado Desconectado

Mensajes: 228


NULL


Ver Perfil
Re: Pulsador arduino
« Respuesta #5 en: 28 Junio 2010, 04:01 »

Código:
void loop()
{
  valor =digitalRead(entrada);
 digitalWrite(ledPin, valor)
}
Eso seria TODO el codigo necesario para que un led se encienda por pulsaciones.
Ahora que es la misteriosa variable salida que no tienen sentido?
En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: Pulsador arduino
« Respuesta #6 en: 28 Junio 2010, 21:47 »

Tan sencillo como hacer que cuando reibas tension en un input, que este limitado por el pulsador encienda algo, un pin, un led, un sensor...

Saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda: Arduino + java
Electrónica
carepapa 1 3,878 Último mensaje 29 Noviembre 2011, 03:59
por carepapa
Pulsador tecla automático « 1 2 3 »
Hacking Ético
Yandrako 21 11,200 Último mensaje 12 Marzo 2012, 23:02
por er_wanchu
arduino
.NET (C#, VB.NET, ASP)
kokokoko 0 1,682 Último mensaje 2 Marzo 2012, 15:51
por kokokoko
Pulsador por x milisegundo
Electrónica
Shell Root 5 4,966 Último mensaje 10 Octubre 2014, 19:51
por MinusFour
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines