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
•  ESQUEMA CONEXIÓN PULSADOR
•  ESTRUCTURA IF ELSE
•  OPERADORES COMPARADORES
•  OPERADORES BOOLEANOS
INFORMACIÓN
 
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);
ESQUEMA PULSADOR
 
ESTRUCTURA DE CONTROL IF
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
 
IF ANIDADOS
 
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

P3: Kiwibot Basic Shield: Pulsador Salidas digitales

  • 1.
    PRÁCTICAS DE PROGRAMACIÓNCON ARDUINO A3: PULSADORES - SALIDAS DIGITALES José  Pujol  Pérez   IES  Vicente  Aleixandre  
  • 2.
    OBJETIVOS •  Leer entradasdigitales •  Conectar entradas y salidas digitales •  Usar bloques condicionales if  
  • 3.
    Ideas Previas: •  ¿Diferenciasentre un pulsador y un interruptor? •  ¿Podemos hacer que un pulsador actue como un interruptor recordando su último estado?   INTRODUCCIÓN
  • 4.
    Realizar un sistemaen 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
  • 5.
    •  ENTRADAS DIGITALES • ESQUEMA CONEXIÓN PULSADOR •  ESTRUCTURA IF ELSE •  OPERADORES COMPARADORES •  OPERADORES BOOLEANOS INFORMACIÓN
  • 6.
      ENTRADAS DIGITALES // declaraciónde 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);
  • 7.
  • 8.
  • 9.
    OPERADORES COMPARADORES Comprueban unarelació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
  • 10.
    OPERADORES BOOLEANOS AND- && Verdadsi 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!
  • 11.
    Realizar el programapara 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
  • 12.
  • 13.
      VARIABLE DE ESTADO Paraque 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;
  • 14.
    Unir los dosprogramas en uno de forma que funcionen simultáneamente   HACER
  • 15.
    •  ¿Qué hemosconseguido hacer? •  ¿Qué dificultades entraña trabajar con un pulsador de forma que recuerde el estado?   reflexionamos
  • 16.
          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