PRÁCTICAS DE PROGRAMACIÓN CON ARDUINO
A3: PULSADORES - SALIDAS DIGITALES
José
Pujol
Pérez
IES
Vicente
Aleixandre
OBJETIVOS
• Leer entradas digitales
• Conectar entradas y salidas digitales
• Usar bloques condicionales if
Ideas Previas:
• ¿Diferencias entre un pulsador y un interruptor?
• ¿Podemos hacer que un pulsador actue como un
interruptor recordando su último estado?
INTRODUCCIÓN
Realizar un sistema en el que un timbre suene
si estamos accionando un pulsador
Hardware:
• D2: Pulsador Izquierdo
• D10: Timbre
Opcional: añadir que el timbre suene solo
cuando pulsamos los dos pulsadores
HACER
ENTRADAS DIGITALES
// declaración de variables
const int buttonPin=2;
int buttonValue=0;
// Hay que declarar la entrada en el set up
void setup (){
// declara el pin como entrada digital
pinMode (buttonPin, INPUT);
}
Para leer y almacenar su valor:
// lee el valor en digital del pin
// y lo almacena en la variable
buttonValue= digitalRead(buttonPin);
OPERADORES COMPARADORES
Comprueban una relación numérica entre dos valores
x==y // x es igual a y
x!=y // x es diferente de y
x<y // x es menor que y
x<=y // x es menor o igual que y
x>y // x es mayor que y
x>=y // x es mayor o igual que y
OPERADORES BOOLEANOS
AND- &&
Verdad si los dos operadores son ciertos
Ejemplo: x<50 && x>10
OR- ||
Verdad si alguno de los dos operadores son
ciertos
Ejemplo: switchValueR==1 || switchValueR==1
NOT- !
Verdad si la condición es falsa
Ejmplo: switchValue!
Realizar el programa para controlar un LED
El LED se debe encender al accionar el pulsador
y cuando lo volvamos a presionar se tiene que
apagar
Hardware:
• D3: Pulsador Derecho
• D9: LED Rojo
HACER-2
VARIABLE DE ESTADO
Para que el pulsador tenga memoria necesitamos
declarar una variable que nos almacene el estado del
LED
// variable que almacena el estado del led
int ledEstado=0;
Unir los dos programas en uno de forma que
funcionen simultáneamente
HACER
• ¿Qué hemos conseguido hacer?
• ¿Qué dificultades entraña trabajar con un
pulsador de forma que recuerde el estado?
reflexionamos
Este
guía
se
distribuye
bajo
licencia
Reconocimiento-‐
ComparBrIgual
CreaBve
commons
4.0
(cc)
2014
José
Pujol
Pérez
Some
rights
reserved.
This
work
licensed
under
CreaBve
Commons
AOribuBon-‐ShareAlike
License.
To
view
a
copy
of
full
license,
see
hOp://creaBvecommons.org/licenses/by-‐sa/3.0/
or
write
to
CreaBve
Commons,
559
Nathan
AbboO
Way,
Stanford,
California
94305,
USA.
Some
of
the
figures
have
been
taken
from
the
Internet
Source,
and
author
and
licence
if
known,
is
specified.
For
those
images,
fair
use
applies.
licencia