SlideShare una empresa de Scribd logo
Usando botones
con Arduino
Volkan Rivera
¿Qué es un botón?
● Conectan dos puntos de un circuito cuando
son presionados.
● Tienen dos estados posibles y cambia
cuando es presionado (push button).
● No mantiene el estado a diferencia de los
“interruptores” (switch).
¿Cómo usar un botón?
Usando un botón para
encender un LED
const int buttonPin = 2;
const int ledPin = 3;
int buttonState = 0;
void setup() {
pinMode(buttonPin, INPUT);
pinMode(ledPin, OUTPUT);
}
void loop(){
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
digitalWrite(ledPin, HIGH);
}
else {
digitalWrite(ledPin, LOW);
}
}
Cambio de estado al pulsar el botón
const int buttonPin = 2;
const int ledPin = 3;
boolean buttonState = LOW;
boolean currentState = LOW;
boolean ledState = false;
void setup() {
pinMode(buttonPin, INPUT);
pinMode(ledPin, OUTPUT);
}
void loop(){
buttonState = digitalRead(buttonPin);
if ((buttonState == HIGH) && (currentState == false)) {
ledState = !ledState;
} else {
currentState = buttonState;
}
digitalWrite(ledPin, ledState);
}
Eliminando el rebote
El rebote es un problema común en switches, botones y
relés. Durante un periodo de tiempo muy breve el contacto
mecánico rebota antes de establecer un contacto firme.
Eliminando el rebote
Por hardware: Por software:
boolean keypress(int Pin) {
boolean inicial = digitalRead(Pin);
delay(10);
boolean valor = digitalRead(Pin);
if ((inicial == HIGH) && (valor == LOW))
{
return(true);
} else {
return(false);
}
}
Un ejemplo más
Hacer que el LED cambie en cuatro
intensidades.
Ejercicio
Hacer que cada vez que se presione el botón un led se
encienda

Más contenido relacionado

DOCX
Teclado Computadora
DOCX
PDF
Presentación taller arduino
PDF
La web está muriendo
PDF
El sorprendente esp8266
PDF
Explicando el mapa_de_caracteres
PDF
Arduino IDE
PDF
Electricidad & electrónica
Teclado Computadora
Presentación taller arduino
La web está muriendo
El sorprendente esp8266
Explicando el mapa_de_caracteres
Arduino IDE
Electricidad & electrónica

Último (20)

PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
DOCX
Trabajo grupal.docxjsjsjsksjsjsskksjsjsjsj
PPTX
El uso de las TIC en la vida cotidiana..
PPTX
ccna: redes de nat ipv4 stharlling cande
PPTX
Diapositivas Borrador Rocha Jauregui David Paolo (3).pptx
DOCX
TRABAJO GRUPAL (5) (1).docxjesjssjsjjskss
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PPTX
Presentacion de Alba Curso Auditores Internos ISO 19011
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
DOCX
TRABAJO GRUPAL (5) (1).docxsjjsjsksksksksk
DOCX
Guía 5. Test de orientación Vocacional 2.docx
PDF
Distribucion de frecuencia exel (1).pdf
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PPTX
Propuesta BKP servidores con Acronis1.pptx
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PPTX
la-historia-de-la-medicina Edna Silva.pptx
PDF
capacitación de aire acondicionado Bgh r 410
PDF
Documental Beyond the Code (Dossier Presentación - 2.0)
PPT
Protocolos de seguridad y mecanismos encriptación
Power Point Nicolás Carrasco (disertación Roblox).pptx
Trabajo grupal.docxjsjsjsksjsjsskksjsjsjsj
El uso de las TIC en la vida cotidiana..
ccna: redes de nat ipv4 stharlling cande
Diapositivas Borrador Rocha Jauregui David Paolo (3).pptx
TRABAJO GRUPAL (5) (1).docxjesjssjsjjskss
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
Presentacion de Alba Curso Auditores Internos ISO 19011
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
TRABAJO GRUPAL (5) (1).docxsjjsjsksksksksk
Guía 5. Test de orientación Vocacional 2.docx
Distribucion de frecuencia exel (1).pdf
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
Propuesta BKP servidores con Acronis1.pptx
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
la-historia-de-la-medicina Edna Silva.pptx
capacitación de aire acondicionado Bgh r 410
Documental Beyond the Code (Dossier Presentación - 2.0)
Protocolos de seguridad y mecanismos encriptación
Publicidad
Publicidad

Usando botones con arduino

  • 2. ¿Qué es un botón? ● Conectan dos puntos de un circuito cuando son presionados. ● Tienen dos estados posibles y cambia cuando es presionado (push button). ● No mantiene el estado a diferencia de los “interruptores” (switch).
  • 3. ¿Cómo usar un botón?
  • 4. Usando un botón para encender un LED
  • 5. const int buttonPin = 2; const int ledPin = 3; int buttonState = 0; void setup() { pinMode(buttonPin, INPUT); pinMode(ledPin, OUTPUT); } void loop(){ buttonState = digitalRead(buttonPin); if (buttonState == HIGH) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); } }
  • 6. Cambio de estado al pulsar el botón const int buttonPin = 2; const int ledPin = 3; boolean buttonState = LOW; boolean currentState = LOW; boolean ledState = false; void setup() { pinMode(buttonPin, INPUT); pinMode(ledPin, OUTPUT); } void loop(){ buttonState = digitalRead(buttonPin); if ((buttonState == HIGH) && (currentState == false)) { ledState = !ledState; } else { currentState = buttonState; } digitalWrite(ledPin, ledState); }
  • 7. Eliminando el rebote El rebote es un problema común en switches, botones y relés. Durante un periodo de tiempo muy breve el contacto mecánico rebota antes de establecer un contacto firme.
  • 8. Eliminando el rebote Por hardware: Por software: boolean keypress(int Pin) { boolean inicial = digitalRead(Pin); delay(10); boolean valor = digitalRead(Pin); if ((inicial == HIGH) && (valor == LOW)) { return(true); } else { return(false); } }
  • 9. Un ejemplo más Hacer que el LED cambie en cuatro intensidades.
  • 10. Ejercicio Hacer que cada vez que se presione el botón un led se encienda