Autor
|
Tema: Pulsador arduino (Leído 8,688 veces)
|
@synthesize
Wiki
Desconectado
Mensajes: 640
Another Brick in the Wall
|
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
Mensajes: 640
Another Brick in the Wall
|
CASI Solucionado int ledPin =13; int ip =0; int valor; int ip2 =3; void setup() { pinMode(ledPin, OUTPUT); attachInterrupt(ip, func, CHANGE); pinMode(ip2, OUTPUT); } void loop() { digitalWrite(ip2, HIGH); if (valor ==1) {digitalWrite (ledPin, HIGH); delay (2000); digitalWrite(ledPin, LOW); valor =0; } } void func() { valor =1; }
|
|
|
En línea
|
|
|
|
GroK
Desconectado
Mensajes: 681
...I have become comfortably numb...
|
¿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/ButtonSaludos
|
|
|
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
Mensajes: 640
Another Brick in the Wall
|
¿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/ButtonSaludos int ledPin =13; int entrada =4; int valor; int salida =7; void setup() { pinMode(ledPin, OUTPUT); pinMode(entrada, INPUT); pinMode(salida, OUTPUT); } void loop() { digitalWrite(salida, HIGH); valor =digitalRead(entrada); if (valor ==HIGH) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); } }
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
Mensajes: 681
...I have become comfortably numb...
|
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
Mensajes: 225
NULL
|
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
Mensajes: 2.021
Actualizate o muere!
|
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
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ayuda: Arduino + java
Electrónica
|
carepapa
|
1
|
5,233
|
29 Noviembre 2011, 03:59 am
por carepapa
|
|
|
Pulsador tecla automático
« 1 2 3 »
Hacking
|
Yandrako
|
21
|
17,847
|
12 Marzo 2012, 23:02 pm
por er_wanchu
|
|
|
arduino
.NET (C#, VB.NET, ASP)
|
kokokoko
|
0
|
2,809
|
2 Marzo 2012, 15:51 pm
por kokokoko
|
|
|
Pulsador por x milisegundo
Electrónica
|
Shell Root
|
5
|
7,276
|
10 Octubre 2014, 19:51 pm
por MinusFour
|
|