Anda di halaman 1dari 50

Trabajando con

EDUBSICA

PRCTICAS PARA 4 DE E.S.O.

PRCTICAS DE TECNOLOGA CON EDUBSICA

4 E.S.O.

EduBsica es un shield de Arduino que te permitir


aprender practicando el temario de tecnologa de 4 de la ESO.
Con EduBsica se reduce de manera drstica el material en
el laboratorio, pues con su verstil configuracin podemos
slo reprogramndola obtener desde un sensor de luz hasta un
robot.

EDUBSICA. LA TARJETA
Esquema de la placa y sus componentes.
Pulsador
LEDs

E/S digitales

Conexin para
motores

PuenteH(ControlMotores)

Potencimetro
10K

Transistor NPN
TIP121 5A
LDR

+5V / GND
E/S analgicos

Versin prototipo (Mayo 2012)

Circuitos de la Placa

Los circuitos que tiene la placa para realizar actividades bsicas

2.- Entrada digital

programadas con el IDE de Arduino se describen a continuacin.

El esquema del circuito es el siguiente:

1.- Salidas digitales


El esquema del circuito es el siguiente:

El montaje en la placa de Arduino est conectada al pin2 y el pin7 queda libre con
un conector hembra para utilizarlo como entrada digital o como salida digital.

El montaje sobre la placa Arduino estn conectados en los pines: pin3, pin4 y pin5.

3.- Entrada analgica

4.- Salida PWM

El esquema del circuito:

El esquema del circuito:

En la placa Arduino la
salida analgica (PWM)
est en el pin D6. El
funcionamiento prctico
de la seal PWM es que
activa y desactiva el
transistor (corte-saturacin) en perodos de tiempo que podemos
controlar. Est activacin y desactivacin, controlada por el
programa que tenemos en la placa Arduino, hace que la tensin
aplicada en el motor dc vari y podamos controlar la velocidad de
giro del motor.



El montaje en la placa Arduino tiene una conexin en el pin A0, para un
potencimetro de 10K y una resistencia de 100 ohmios.

En el pin A1 tiene una LDR en serie con una resistencia de 470 ohmios.

CAPTULO 1

ELECTRNICA ANALGICA

La electrnica es la ciencia que estudia y disea


dispositivos relacionados con el comportamiento
de los electrones en la materia. En nuestro caso
estudiaremos los componentes bsicos utilizados
en estos circuitos de bajo voltaje y usaremos
Arduino y la placa EduBsica para practicar y
entender mejor su funcionamiento.

Aprenders

RESISTENCIAS

Montaje inicial

A comprobar con el
polmetro la
resistemcia, la cada
de tensin y la
corriente en un circuito

Inicialmente cargaremos un programa para


comprobar como la variacin de un a resistencia
tiene implicacin directa en la cantidad de luz
que emite un led. Como podremos comprobar a
medida que movemos el potencimetro el led
vara su luminosidad

Ne c e s i t a s :
Placa arduino con
edubasica
PLaca protoboard
2 cables para
cableado en
protoboard
2 resistencias del valor
que quieras

//Declaramos una variable para almacenar el valor recibido en la patilla 0


int val=0;
void setup() {
//El pin 3 corresponde al led verde
pinMode(3, OUTPUT);
}
void loop() {
//leemos el valor de la patilla 0 modificado por el potencimetro que va desde 0 a 1023
val = analogRead(0);
// Escribimos el valor obtenido el el led verde que puede ser entre 0 y 255. Por eso dividimos
val por 4.
analogWrite(3, val/4);
}
6

Con el ejemplo has podido comprobar, como ya sabas, que la


variacin de resistencia en un circuito vara las magnitudes del
mismo.
Vamos ahora una serie de montajes con distintos componentes
Primer montaje, el interruptor.

Paso 1
Este es el nico paso que
realizars en este
ejercicio. Conecta los dos
cables tal y como muestra
la figura en el pulsador o
interruptor

/*
Conectaremos un conductor entre 5v y el pin 7 digital
*/
void setup() {
// Pin 3 tiene el led verde
pinMode(3, OUTPUT);
// Pin 7 comprobar si le entran o no 5 V
pinMode(7, INPUT);
}

Resultado

void loop() {
digitalWrite(3,digitalRead(7));
}

Ejercicio
Realiza el esquema elctrico equivalente al montaje que has realizado.

Segundo montaje, resistencias en serie.


Coge cuatro resistencias al azar para los montajes en serie, procura que
sean de valores muy distintos, usa la tabla adjunta para tu eleccin.
Carga el programa y coloca un cable en la patilla 2 analgica y otra a
5V.
Usando la protoboard, intercala entre los extremos del cable las
resistencias que elegiste, prueba distintas combinaciones serie, con ms
o menos resistencias, debes observar que la luminosidad del led vara.
/*
Conectaremos resistencias en serie entre 5v y el pin 2 analgico
*/
void setup() {
// Pin 3 tiene el led verde
pinMode(3, OUTPUT);
}
void loop() {
analogWrite(3,analogRead(2)/4);
}
Ejercicio
Rellena los valores de la siguiente tabla con tu montaje de 3
resistencias en serie. Usa el polmetro para medir los valores.
VALOR
NOMINAL

CADA DE
TENSIN

CORRIENTE

R1
R2
R3
Todas

Tercer montaje, resistencias en paralelo


Este ejercicio es similar al anterior. Te sirven tanto las resistencias
como el programa que cargaste en Arduino.
Une ahora usando las resistencias dispuestas paralelamente el pin 2
analgico y los 5V. Prueba a quitar alguna de las resistencias y
concluye lo que ocurre.

Resistencias en serie

Resistencias en paralelo

Ejercicios
Rellena los valores de la siguiente tabla con tu montaje de 3
resistencias en serie. Usa el polmetro para medir los valores.
VALOR
NOMINAL

CADA DE
TENSIN

CORRIENTE

R1
R2
R3

Circuito mixto. En nuestro montaje la batera la sustituimos por el


pin analgico 2 y los 5v

Todas

Construye un montaje mixto similar al de la imagen y rellena el


siguiente cuadro con los valores obtenidos.
VALOR
NOMINAL

CADA DE
TENSIN

CORRIENTE

R1
R2

Ejercicio
Calcula y compara los datos de las tres tablas de
manera terica usando la Ley de Ohm

R3
Todas

Cuarto montaje, Uso de resistencia LDR


Hemos estudiado las resistencias fijas, pero existen una serie de
resistencias que varan segn las condiciones a las que se les somete,
as tenemos una gran variedad de ellas y se usan para construir lo que
llamamos sensores. En esta prctica vamos a construir un sensor de luz
utilizando para ello la resistencia LDR de la placa.
La LDR modifica su resistencia en base a la cantidad de luz que
percibe.

/*
Detectamos la variacion en la LDR
*/
int luz;
void setup() {
// Pin 3 tiene el led verde
pinMode(3, OUTPUT);
Serial.begin(9600);
}
void loop() {
luz= map(analogRead(1), 917, 1024, 0, 255);
analogWrite(3,luz);
//escribimos el valor obtenido por la resistencia para poder ajustarlo
mejor
Serial.print("valor analogico leido=");
Serial.println(analogRead(1));
delay (1000);

Ejercicio
La funcin map del programa asigna un valor mximo y un valor
mnimo a un rango dado.
As la funcin tal y como se plantea establece la transformacin del
rango .917 a 1024 a un valor entre 0 y 255.
917 es el valor mnimo que he obtenido de la resistencia y 1024 el
mximo, como el led verde podemos hacerlo brillar pasndole un
valor de entre 0 y 255, la solucin ha sido mapear el rango 917, 1024 a
0, 255 para en caso de obtener 917 de la resistencia el led verde se
apague.
Mira los valores de salida que te ofrece tu montaje y ajstalo
adecuadamente.
10

Diodos

Aprenders
El funcionamiento de
un diodo
La identificacin de
sus terminales
Su simbologa
Ne c e s i t a s :
Placa Arduino con
EduBsica
Placa protoboard
2 cables para
cableado en
protoboard y una
pinza de pruebas

Diodos

1 diodo led
1 resistencia de 200
Ohm (aprox.)

Seguro que has odo hablar de los diodos leds


pues estn muy de moda. Un diodo led no es ms
que un diodo que emite luz cuando est
polarizado correctamente.
Un diodo (del griego "dos caminos") es un
dispositivo semiconductor que permite el paso de
la corriente elctrica en una nica direccin con
caractersticas similares a un interruptor.
11

De forma simplificada, la curva caracterstica de


un diodo (I-V) consta de dos regiones: por debajo
de cierta diferencia de potencial, se comporta
como un circuito abierto (no conduce), y por
encima de ella como un corto circuito con muy
pequea resistencia elctrica.

Estudio de la curva caracterstica de un diodo

Veamos si sabes como polarizar un


diodo..

Vamos a estudiar la curva IV de un diodo de tal manera que


comprobaremos que al pasar una cierta diferencia de potencial el
diodo conduce y se pone en corte si estamos por debajo de esa

Pregunta 1 de 4

diferencia.
En el caso especfico de un diodo led la diferencia de potencial a
superar es de 07V a partir de ah conduce y por tanto se ilumina.

Indica que bombillas se encienden

Curva caracterstica del diodo

A. La A
B. La B
C. La C
D. La D

Tensin de ruptura

Tensin umbral

Comprobar
respuesta

12

Montaje 1. Estudio de la tensin umbral de un diodo led


Copia y carga este cdigo en tu placa Arduino.
float val=0;
void setup() {
Serial.begin(9600);
}
void loop() {
val = analogRead(0); //leemos el valor del potenciometra que va de
0 a 1024
val = val/204,6; //mapeamos tal que el 0 sean 0 V y 1024 5V
Serial.print(val); //imprimimos por el puerto serial voltios del
potenciometro
Serial.println(" V");
delay(1000);
}

Abre el Monitor serial de Arduino y vers el voltaje que est


ofreciendo arduino al montaje que has hecho. Mueve el
potenciometro
y vers que el
valor va
cambiando.
Intenta
averiguar cual
es la tensin
umbral a partir
del cual tu led
empieza a
emitir luz.
Nota:
inicialmente la corriente puede ser muy baja por lo que debes
fijarte bien cuando empieza a iluminarse.

Conecta la punta de prueba en la patilla 0 de analog in y otro cable


a masa tal y como muestra la imagen.
El siguiente paso es hacer este
montaje en tu placa protoboard
y usar como alimentacin los
dos cables que pusimos en
Arduino.
Mira como queda.....

13

Un diodo se dice polarizado


directamente cuando su
ctodo est a un potencial
inferior al nodo. Los diodos
por tanto deben especificar
cual es el nodo y el ctodo.
En la foto puedes ver como un
diodo led identifica su ctodo
con una patilla recortada.

En otro tipo de diodos


se puede identificar el
ctodo gracias a una
raya dibujada sobre el
componente.

14

Aprenders

Condensadores

El funcionamiento de
un condensador
Su simbologa
Ne c e s i t a s :
Placa arduino con
Edubsica
Placa protoboard
3 cables para
cableado en
protoboard
1 diodo led
1 resistencia de 1K
Ohm (aprox)
1 condensador de
1000 uF (aprox)

Condensadores
Dos conductores cualesquiera separados por un
aislante constituye un condensador . En casi
todas las aplicaciones prcticas cada conductor
se encuentra inicialmente descargado y al
conectarlos a una batera, mediante transferencia
de carga de la batera a los conductores, van
adquiriendo una cierta carga (dicho proceso se
denomina carga del condensador). En todo
15

momento, ambos conductores tienen igual carga


pero de signo opuesto de tal forma que entre
ambos conductores existe un campo elctrico y
por tanto una diferencia de potencial que se
opone a la externa responsable de su carga. El
proceso de carga del condensador se detiene
cuando la diferencia de potencial entre los
conductores del mismo se iguala a la de la

batera. Hay que resaltar que aunque cada placa se encuentra


cargada, la carga neta del condensador sigue siendo nula, puesto
que la carga de cada conductor es igual a la del otro pero con signo
contrario. Es por ello que cuando se dice que un conductor tiene
una carga Q realmente lo que se est diciendo es que tiene una
carga +Q en el conductor que se encuentra a mayor potencial y una
carga Q en el conductor a menor potencial (supuesto Q positiva).

int sensorPin = A5;


int sensorValue = 0;
void setup() {
Serial.begin(9600);
}

Ejercicio

void loop() {
sensorValue = analogRead(sensorPin);
Serial.println(sensorValue);
delay(100);
}

Haz el siguiente montaje sobre la protoboard. Como fuente de


alimentacin puedes usar los 5V que te ofrece la EduBsica a travs
de sus clemas.

Carga el siguiente programa.


Con el conmutador cerrado el condensador se carga, teniendo una
tensin de 5V, y la lectura en la entrada A5 son de 5V y en el
monitor serie 1023. El diodo led en esta situacin est encendido.
Al abrir el conmutador empieza el proceso de descarga del
condensador a travs del led y la resistencia. El tiempo de descarga
es entre 3 y 5 veces la constante de tiempo (RC, en segundos), en
este caso entre 30 y 50 segundos. En el monitor serie podemos ver
como disminuye el valor debido a la descarga del condensador y al
mismo tiempo se observa que el diodo led se apaga.

16

17

TRANSISTORES

Aprenders
1. Las aplicaciones de
un transistor
2. Sus modos de
funcionamiento
3. Cmo conectarlo
4. A realizar circuitos
amplificadores

Ne c e s i t a r s

1. Arduino
2. EduBsica
3. Resistencias

Transistores
Ciertos dispositivos tecnolgicos necesitan una
corriente elctrica mayor que la que proporciona la
placa EduBsica y para conseguir una mayor
corriente se utiliza el transistor.


El transistor es sin duda el componente
electrnico ms importante. Est formado por 3
capas de material semiconductor, cada una con un
terminal para poder conectarlo a los circuitos. Los
materiales semiconductores se pueden comportar
como aislantes o conductores segn la energa que
reciban, de ah su versatilidad en el campo de la
electrnica. Los 3 terminales de los transistores son:
Colector: Entrada de corriente
Base: Entrada de corriente. Regula el
funcionamiento.
Emisor: Salida de corriente

18

Segn las configuracin en la que conectemos el


transistor puede funcionar de 3 formas:
Como interruptor abierto:
Zona de corte: La resistencia conectada a la base es
tan grande que la intensidad que circula por ella es 0.
El transistor no permite el paso de corriente entre
colector y emisor.
Como interruptor cerrado:
Zona activa: La resistencia en la base del transistor
permite el paso de corriente y se permite el paso de
energa entre el colector y emisor amplificndola
segn una cierta ganancia.
Zona de saturacin: Si se va aumentando la
intensidad que recibe a la base, llega un momento
que la intensidad del colector ya no aumenta ms.

APLICACIN PRCTICA I
Anota en la misma las tensiones en la resistencia de colector que has
medido en cada uno de los puntos y calcula mediante la ley de ohm las
corrientes de base y de colector que les corresponde en cada caso.

El transistor permite aportar mayor corriente elctrica a los motores


elctricos y bobina de los rels a partir de una corriente pequea que
sale de la placa EduBsica, es decir, acta como amplificador de
corriente.
En esta prctica el transistor va a actuar como amplificador de
corriente, para ello se va a realizar el
siguiente montaje:

Una vez obtenidos todos los valores llevarlos a una grfica y trazar la
curva caracterstica IC = f(IB).

El funcionamiento de este circuito


es el siguiente: a partir de
potencimetro que tenemos en la
placa EduBsica controlamos la
salida PWM del pin D6 variando la
tensin aplicada a la resistencia de
base Rb.

Se mide la tensin en los terminales de Rb (que est en la placa) y Rc


(que hay que montar en un protoboard) completando la siguiente tabla.
VRb
VRc
IB
IC

0,05 0,1

0,15 0,2

0,25 0,3

0,35 0,4

0,45 0,5

La ganancia de corriente se calcula:


Se vara el potencimetro de la placa EduBsica progresivamente para
conseguir las tensiones en la resistencia de base que figuran en la
siguiente tabla.

19

APLICACIN PRCTICA II

RECTA DE CARGA DEL TRANSISTOR




Se trata de comprobar de forma prctica el efecto de amplificacin
de corriente de un transistor, as como de determinar su punto de
trabajo para un determinada corriente de base y la recta de carga. El
circuito es el mismo que la prctica anterior.


La siguiente expresin se corresponde con la ecuacin de la recta
de carga:

Mediante un polmetro se miden los valores de las magnitudes y se


anotan en la siguiente tabla:
Encendido del
LED
Apagado
Luz mnima
Luz media

VBE

VCE

VRB

VRC

IC

IB

Luz mxima

Para dibujar esta recta sobre la curva caracterstica determinaremos


primero sus extremos (IC = 0 y VCE = 0):

Se trata de ir variando el valor del potencimetro R1, con el fin de


conseguir que el diodo LED pase de estar apagado (corte), a encendido
en diferentes grados de luminosidad, llegando finalmente hasta su
mxima luminosidad (saturacin).

Se realiza los clculos tericos y dibuja la recta de carga en la siguiente

La mayor o menor intensidad del diodo LED nos indicar la mayor o


menor corriente que fluye por el colector (IC) al variar la corriente de

grfica:

base (IB). Para medir estas corrientes recurriremos, como en otras


ocasiones, al polmetro en forma de voltmetro y aplicando la ley de
Ohm.

20

CAPTULO 2

ELECTRNICA DIGITAL

Entendemos por electrnica digital, la que se encarga


de sistemas electrnicos en los que slo existen 2
valores o estados: verdadero/falso, 0/1.
En este captulo trabajaremos los conceptos
principales del lgebra de Boole y de las puertas
lgicas que utilizaremos para disear circuitos.
Usaremos Arduino y la placa EduBsica.

Aprenders

LGEBRA DE BOOLE

Conocers las
propiedades del
lgebra de Boole
Obtener la 1 forma
cannica de una
tabla de verdad
Operar con
variables binarias.
Ne c e s i t a r s
Placa Arduino

Conceptos

Seal Analgica

Infinitos valores

Magnitudes analgicas: tienen un nmero


infinito de valores, por ejemplo, todas las
magnitudes relacionadas con la naturaleza,
(temperatura, velocidad, electricidad, tiempo...).
Entro 2 ptos

22

Repaso 2.1 Indica si los


siguientes objetos o
situaciones reflejan
sistemas analgicos o
digitales:

Magnitudes digitales: tienen un nmero


limitado de valores; dentro de estas, las ms
utilizadas son las seales digitales binarias,
que slo pueden tomar 2 valores (0, 1).
Ejemplos: una bombilla, puede estar:
encendida o apagada.

Pregunta 1 de 6

Reloj de agujas

A. Analgico
B. Digital

Comprobar
respuesta

23

lgebras

Ejercicio
Todo lo que expresamos en lenguaje comn puede ser expresador
en lenguaje algebraico. Rellena la siguiente tabla

Para poder trabajar con datos binarios, el matemtico ingls George


Boole (1815-1864) cre una estructura algebraica que consta
nicamente de 2 elementos (bits).
Una lgebra que seguro conoces y utilizas a diario es el lgebra
elemental, basado en la aritmtica que consta de 10 elementos
(nmeros), operaciones (suma, resta, .) y propiedades
(conmutativa...).
Toda lgebra consta de esos 3 apartados: elementos, operaciones y
propiedades.
El lgebra de boole comprende:




Elementos: 0 y 1




Operaciones: multiplicacin, suma, negacin




Propiedades: conmutativa, asociativa, distributiva,
elemento negado

LENGUAJE COMN

LENGUAJE ALGEBRAICO

Un nmero cualquiera.

Un nmero cualquiera aumentado


en siete.

n+7

El doble de un nmero aumentado


en cinco.

f-q

La divisin de un nmero entero


entre su antecesor
La mitad de un nmero.
El cuadrado de un nmero

a^2

La semisuma de dos nmeros

(b+c)/2

Tres nmero naturales


consecutivos
El cubo de un nmero ms el triple
del cuadrado de dicho nmero

24

A los elementos de un circuito elctrico se pueden asociar estados de


1/0 si estn encendidos/apagados, cerrados/abiertos, respectivamente.

Ejercicio
Indica el nombre de cada elemento del circuito y qu corresponde a
cada uno (1/0)

NOMBRE

ESTADO

1
2
3
4
5
6
7
8
9

25

Montaje Inicial
Vamos a simular dos entradas lgicas con dos pulsadores, (pueden ser
conmutadores). En este ejemplo usaremos la funcin AND, de manera
que segn el estado de las 2 entradas obtendremos una seal de salida
(0 / 1) conforme a la tabla de verdad de la operacin.
Si te animas puedes montar el circuito t mismo en una protoboard
siguiendo este esquema:

Las entradas estn en los pines


digitales 1 y 2. Y la salida del
sistema es un led (en pin 5) que
estar encendido/apagado segn el
resultado de aplicar la funcin AND
a las 2 variables de entrada.

26

- Ejercicio -

- Cdigo /*
Boole
Funcin AND con 2 variables
*/

Repite el ejercicio programando el funcionamiento de las


puertas OR, NOT, NAND y NOR
Nota: En EduBsica puedes utilizar los pulsadores que van
incorporados directamente, estn en los pines digitales 1 y 7.

int var1 = 1; //Pin de entrada del pulsador 1


int var2 = 2; //Pin de entrada del pulsador 1
int led = 5; //Pin de salida para el led(rojo)
int estado1 = 0; //Para almacenar el estado de la variable1
int estado2 = 0; //Para almacenar el estado de la variable2
int resultado = 0; //Para almacenar el resultado
void setup() {
pinMode(var1, INPUT); //Iniciliza el pin de entrada 1 como salida
pinMode(var2, INPUT); //Iniciliza el pin de entrada 2 como salida
pinMode(led, OUTPUT); //Iniciliza el pin del led como salida
}
void loop(){
estado1 = digitalRead(var1); //Lee el estado del botn y lo almacena
estado2 = digitalRead(var2); //Lee el estado del botn y lo almacena
resultado = (estado1 && estado2); //Funcin AND con los dos estados
digitalWrite(led, resultado); //Escribimos el resultado en el led
}

27

Aprenders

Implementacin de Funciones Lgicas

Im
Forma cannica
Funciones
Plantear una tabla
de verdad segn los
estados de
diferentes sensores
(variables de
entrada).

Necesitars
Arduino
EduBsica
Servo
leds
ldr
pulsadores/
conmutadores

Funciones Lgicas
Uno de los aspectos que hacen tan interesantes
los circuitos digitales es que nos permiten
automatizar tareas o concentrar el
funcionamiento de otros circuitos electrnicos,
en un nico o varios chips.
Esto permite tener dispositivos de control para la
tarea especfica que se nos pueda imaginar, desde
28

control de alarmas, robots, centralitas ,


domtica... En este apartado vamos a practicar
todos esos conceptos implementando algunos de
esos circuitos..

Formas Cannicas

Tabla de Verdad:

Los pasos para implementar un circuito digital son:


1. Identificar sus variables de entrada (normalmente elementos de
maniobra como interruptores, sensores...) y las funciones de
salida ( que sern los elementos del circuito que queremos
controlar, como una luz de alarma, el movimiento de un motor....).
2. El siguiente paso es establecer la tabla de verdad, que representa
todos los valores que puede tomar una funcin segn los valores de
las variables de entrada.
3. Obtenemos la primera forma cannica (FC1) para esa funcin
de manera que representamos todas las combinaciones de la tabla
de verdad en las que la funcin de salida est a 1.
4. Por ltimo segn la FC1, usando puertas lgicas diseamos el
circuito.

Ejemplo

VARIABLES
ENTRADA
A

Funcin Cannica:




M(FC1) = * B + A *
Puertas Lgicas:
Necesitamos:
2 puertas NOT
2 puertas AND
1 puerta OR

Tenemos un elevador neumtico que se puede controlar desde 2


habitaciones contiguas del taller. Para que el elevador funcione
debe estar accionado cualquiera de los 2 pulsadores existentes,
pero por seguridad no funcionar si dos operarios la accionan
simultneamente. Diseemos el circuito digital correspondiente
Variables de entrada:
A: un pulsador
B: un pulsador
Funcin de salida:
Motor que acciona el compresor del elevador

29

FUNCIN
SALIDA

EJERCICIO

/*
Implementacin de Funcin lgica
*/

Del mismo modo que en el ejemplo anterior, realiza todo el


proceso para implementar mediante funciones lgicas el siguiente
sistema:

int var1 = 1; //Pin de entrada del pulsador 1


int var2 = 2; //Pin de entrada del pulsador 1
int led = 5; //Pin de salida para el led(rojo)

Se trata de una mquina de control de una cinta transportadora.


Vamos a tener un sensor de temperatura basado en un termistor
que nos dir si se ha producido un sobrecalentamiento en la
mquina.
Tambin hay un sensor de presin que detecta la presencia de un
objeto sobre la cinta transportadora.
Por ltimo, la cinta slo estar en funcionamiento si el operario
mantiene pulsado un pulsador.
Tendremos un LED que avisar de si hay sobrecalientamiento y
detendr la cinta si est en movimiento.
Un zumbador avisar de cuando la cinta est en movimiento.

int A = 0; //Para almacenar el estado de la variable1


int B = 0; //Para almacenar el estado de la variable2
int resultado = 0; //Para almacenar el resultado
void setup() {
pinMode(var1, INPUT); //Init pin de entrada 1 como salida
pinMode(var2, INPUT); //Init pin de entrada 2 como salida
pinMode(led, OUTPUT); //Iniciliza el pin del led como salida
}
void loop(){
A = digitalRead(var1); //Lee el estado 1 y lo almacena
B = digitalRead(var2); //Lee el estado 2 y lo almacena
//Funcin Lgica ------ R=(*b)+(a*^b)
resultado = (!A && B) || (A && !B);
digitalWrite(led, resultado); //Escribimos el resultado en el led
}

30

Aprenders

Alarma de vivienda

A crear una alarma de


vivienda
A realizar
modificaciones sobre
ella

Necesitars
Arduino
EduBsica
Pulsador
protoboard
Cables para
protoboard

Alarma en vivienda
Gracias a la lgica programable, podemos
programar alarmas muy complejas y mucho ms
eficientes que las alarmas convencionales. Las
alarmas convencionales usan finales de carrera y
en definitiva interruptores que activan una
alarma.
En nuestro caso vamos a dotar a la alarma de
cierta lgica que nos proporcione mejores y ms
31

cmodos resultados.
Las posibilidades son ilimitadas y depende de tu
imaginacin .
En esta prctica y slo como ejemplo vamos a
suponer algunas cosas que si bien no tienen por
que ajustarse a la realidad si que sirven como
ejemplo para mostrar y dar a entender las
posibilidades de la alarma.

Suponemos:

tambin como interruptor magntico. Son elementos econmicos y


de muy fcil instalacin.

1.El ladrn puede entrar slo por la ventana o por la puerta.

Fjate en las puertas y ventanas de los


comercios de tu localidad. Seguro que
has visto ms de uno.

2.Como la ventana de la casa da a una calle principal y muy


transitada el ladrn no intentar entrar nunca por la ventana
siendo de da.

Vamos a realizar la prctica en dos


pasos para que lo puedas entender sin
problemas.

3.La entrada de nuestra casa es oscura y no tiene ventanas al


exterior, por lo tanto nuestro comportamiento habitual es abrir la
puerta, encender la luz y cerrar la puerta.
4.Slo abrimos las ventanas de da, nunca por la noche.
Como detector de apertura de puerta y de ventana vamos a usar
dos pulsadores, uno de la placa y otro que montaremos sobre la
protoboard. Sabremos si es de da o de noche gracias al LDR de la
EduBsica.
Monta el pulsador sobre la protoboard y conctalo entre 5V y la
patilla digital 7. Usa para
ello las clemas de la
EduBsica tal y como
muestra la imagen.
Ten en cuenta que los
interruptores podran
sustituirse en un caso real
con rel reed conocidos

Primero carga este programa.


void setup() {
pinMode(7, INPUT); //Pin correspondiente al interruptor de la
PROTOBOARD
pinMode(2,INPUT); //Pin correspondiente al interruptor de la placa
Serial.begin(9600);
}
void loop() {
Serial.print( " VENTANA ");
Serial.print(digitalRead(7));//interruptor de la PROTOBOARD
Serial.print( " PUERTA ");
Serial.print(digitalRead(2)); //interruptor de la placa
Serial.print( " LUZ ");
Serial.println(analogRead(1)); //Nos muetra el valor del LDR
delay(1000);
// wait for a second
}
32

int ventana, puerta, luz;//definimos variables


void setup() {
pinMode(7, INPUT);
pinMode(5,OUTPUT); //led rojo
pinMode(2,INPUT);
Serial.begin(9600);
}
void loop() {
ventana=digitalRead(7); //guardamos el estado de la ventana
Serial.print( " VENTANA ");
Serial.print(ventana);
puerta=digitalRead(2); //guardamos estado de puerta
Serial.print( " PUERTA ");
Serial.print(puerta);
luz=analogRead(1); //guardamos estado de LUZ
Serial.print( " LUZ ");
Serial.println(luz);
//implementamos la logica de la puerta
if (puerta==1) {//la puerta esta abierta
delay(3000); //esperamos hasta que encienda la luz
if (luz > 1000) {//no han encendido la luz
digitalWrite(5,HIGH); //Se activa la alarma
}
}
//implementamos logica de ventana
if (ventana==1 && luz < 1000){
digitalWrite(5,HIGH);
}

Abre la ventana del monitor serial y prueba a activar los


pulsadores. Vers que cuando estn activos el valor obtenido es 1 y
cuando estn desactivados su valor es 0.
Comprueba que interruptor corresponde a la ventana y cual a la
puerta.
Tapa ahora el LDR y observa el valor que obtienes cundo no recibe
luz, que ser el mismo valor que si es de noche.
Atendiendo a los supuestos anteriores carga este programa y
observa su funcionamiento. Si el led rojo se enciende es que la
alarma se ha disparado.
Ejercicio: Como comprobars una vez que la alarma se activa
permanece activa, para desactivarla debes reiniciar la placa
quitndole le alimentacin. Piensa una solucin para poder
desactivar la alarma, por ejemplo abriendo la ventana y la puerta a
la vez.
Ampliacin: Usamos EduBsica porque dispone de elementos
hardware ya instalados, como led y pulsador, pero piensa que sin
EduBsica tu Arduino dispone de 13 entradas digitales y 6
analgicas. Piensa en un sistema ms completo de alarma en el que
puedas conectar sensores de humo o de movimiento (PIR)

delay(1000);
33

// wait for a second

CAPTULO 3

CONTROL Y ROBTICA

El control de sistemas mediante ordenadores o


circuitos electrnicos es hoy en da responsable de
casi todas las tareas que nos rodean, desde manejar
la temperatura de nuestro aire acondicionado,
pasando por abrir o cerrar las puertas de un ascensor
hasta controlar un brazo robtico a travs de internet
para operar a un paciente en un hospital lejano.

Aprenders

Sensor de Distancia

El funcionamiento
de los emisores/
receptores de
infrarrojos.
Las aplicaciones de
medir distancias en
los sistemas
electrnicos y de
control.
A parametrizar
datos de entradas
de los sensores
Necesitars
EduBsica
Sensor Sharp
2Y0A21
Leds
Resistencias

Sharp GP2D12(infrarrojos)
Vamos a utilizar un sensor de infrarrojos
Sharp GP2D12, que nos permitir calcular
distancias a objetos.
Este sensor tiene un emisor y receptor de
infrarrojos. El receptor, dependiendo de la
distancia ofrece una salida de voltaje inversa (a
mayor voltaje, menor distancia).
Para calcular la distancia en centmetros a un
objeto, podemos usar un ajuste de mnimos
cuadrados. La relacin entre distancia <->voltaje
no es lineal, sino que sigue una hiprbola.
35

La conexin de este dispositivo es realmente sencilla, consta de 3


cables, 2 para la alimentacin (+5V, GND) y el otro para transmitir los
datos).

Se definen 3 zonas de medida, segn la distancia:


A partir de
10cm. Entre 10 y 35 cm y de 35 hasta fuera de rango. As tenemos 3
funciones diferentes segn la zona de medida : alto, medio bajo,
para ajustar la medida en centmetros.

EJEMPLO

Grfico del voltaje y la


distancia

Vamos a construir un sistema que calcule la distancia de un objeto y


nos avise mediante un led cuando est a menos de 20 cm.
A continuacin observa como lo puedes conectar mediante una
protoboard o usando EduBsica

Para obtener la distancia


real en cm podemos usar el
siguiente cdigo:

int alto=515, medio=160, bajo=77; //valores de tensin del sharp


int v1=5.811816334556221;
//Datos parametrizados
int v2=6.946413436045397;
int y1=1.80249287176700;
int y2=6.17138891056397;
int p1=10, p2=35;
//Distancia mnima de lectura y mediana
int cm=0;
//Para almacenar el valor obtenido en cm valor=0
int sharp=A0;
//Entrada analgica del sensor.
void loop{
valor=analogRead(sharp);
if (valor>alto || valor=999; //fuera de rango
else if (valor > medio){
cm=(int)((1000.0/valory1)(v1)+p1);
}else{
cm=(int)((1000.0/valory2 )(v2)+p2);
}

36

CDIGO
El cdigo se basa, por un lado en ir continuamente haciendo medidas
de distancia desde el sensor Sharp, despus hay que hacer la
conversin que antes hemos visto para pasar la entrada analgica a
centmetros, y por ltimo hacemos la comparacin con el valor que se
nos ha pedido (20 cm) para encender o no el led del pin 5

La conexin de datos la hacemos al pin analgico 5 (libre en


EduBsica) y el el led de salida ser el rojo (situado en el pin digital 5
de EduBsica.)

int alto=515, medio=160, bajo=77; //valores de tensin del sharp


int v1=5.811816334556221;
//Datos parametrizados
int v2=6.946413436045397;
int y1=1.80249287176700;
int y2=6.17138891056397;
int p1=10, p2=35;
//Distancia mnima de lectura y mediana
int cm=0;
//Para almacenar el valor obtenido en cm valor=0;
int sharp=A5;
//Entrada analgica del sensor.
int limite = 20;


//los 20 cm que nos dice el enunciado
int led= 5;




//Pin de salida para el led rojo

void setup(){


pinMode(led, OUTPUT);
}

37

void loop (){


valor=analogRead(sharp);
if (valor>alto || valor=999); //fuera de rango
else if (valor > medio)
{


cm=(int)((1000.0/valory1)(v1)+p1);
}
else
{


cm=(int)((1000.0/valory2 )(v2)+p2);
}
//Ya tenemos el valor en centmetros del sensor, vamos a hacer la
comparacin con el lmite
if (cm < limite)
{


digitalWrite(led, HIGH);
}
//Si hemos sobrepasado el lmite encendemos el led
}

38

Aprenders

ServoMotores

Qu es un
servomotor y qu
tipos hay.
Las aplicaciones en
el mundo de la
automtica y el
control por
ordenador de este
tipo de motores.

Control de motores

Usar la libreria que


incorpora Arduino
para controlar los
servos.

Necesitars
Servo
Arduino
EduBsica

Una de las aplicaciones ms utilizadas de los


sistemas de control por ordenador y en la
robtica estn asociados con los motores, que
permiten accionar o mover otros componentes,
como puertas, barreras, vlvulas, ruedas, etc.
Los servos son un tipo especial de motor en el
que se aade una lgica electrnica que permite
un control mucho ms preciso aque a un motor
normal de corriente continua.
Esta lgica se compone de un potencimetro y un
CI que controlan en todo momento los grados
39

que gira el motor. De este modo, en nuestro caso,


desde Arduino, usando las salidas digitales PWM
podremos controlar fcilmente un servo.
La conexin se
realiza mediante 3
cables, 2 de
alimentacin
(+5V/GND) y otro
donde indicaremos
los grados que
queremos que gire.

Libreras y Uso
Arduino incluye una librera con
funciones para mover de una
manera sencilla un servo, lo
primero es introducir un include
con la librera al principio, luego
creamos el objeto (que ser el
nombre que usaremos en todo el
programa para cada servo que
queramos controlar) .
Por ltimo, asociamos el servo al
pin al que lo hemos conectado.

#include <Servo.h>
Servo myservo; // crea un objeto tipo servo para controlar el servo
int pos = 0;
// variable para almacenar la posicin del servo
void setup(){
myservo.attach(9); // asocia el servo al pin 9
}

void loop()
{
pos=0;




//A la derecha
myservo.write(pos); //damos la orden con los grados
delay(50);

// esperamos que el servo llegue a la posicin
pos=90;




//Centrado
myservo.write(pos); //damos la orden con los grados
delay(50);

pos=180;




//A la izquierda
myservo.write(pos); //damos la orden con los grados
delay(50);

}
Si queremos mejorar un poco el cdigo anterior, podemos utilizar un
for, que nos permite realizar una secuencia de acciones varias veces.
Utilizamos una variable como contador, en este caso es la misma
posicin (pos) , que se ir incrementando en 90 grados en cada
iteracin del bucle. En nuestro ejemplo se ejecuta 3 veces:
for (pos=0; pos<=180; pos+=90) {
myservo.write(pos); //orden con los grados en cada iteracin

Una vez declarado, para usarlo, dentro de loop simplemente usamos


la funcin servo.write(posicion)
Mover el servo los grados que le indiquemos mediante la variable
entera.

Podemos utilizar
los pines
analgicos como
e/s digitales, del
pin 14 al 19.

A continuacin vers un sencillo ejemplo que coloca el servo


totalmente a la izquierda, en el centro y a la derecha de su recorrido,
dejamos un pequeo delay , para permitir que el servo alcance la
posicin antes de darle la siguiente orden:

Conexin del
servo al pin
analgico 5, pero
declarado como
digital en el 19

40

Tacmetro

Aprenders
A medir las
revoluciones por
minuto de un
elemento rotativo de
bajas revoluciones.
Como puede ser un
aerogenerador o un
tiovivo.
Necesitars
Arduino
Protoboard
Imn ligero y de
pequeo tamao
(similar a los que se
adhieren en las
neveras)

El tacmetro

RelReed.
Resistencia
10KOhm.
Cable para
protoboardoard.
Maqueta de
aerogenerador,

Mediante esta prctica se pretende medir las


revoluciones por minuto (RPM) del rotor de una
maqueta que simula el movimiento de un
aerogenerador. Se han utilizado dos modelos
para realizar las pruebas. Uno es el modelo
didctico comercial de CEBEK y el otro
aerogenerador corresponde a un modelo
construido por alumnos de tercero de ESO con
41

materiales del aula taller. Hay que tener en


cuenta que la maqueta no realiza la funcin de
generacin de energa mediante la fuerza de
viento, como corresponde a un aerogenerador,
sino que simplemente provoca el movimiento del
rotor para simular el efecto del viento,
suministrndose la corriente necesaria al motor

elctrico bien mediante una una placa solar o bien mediante una
pila en cada caso.

contacto de los terminales del rel poniendo en conexin un canal


de lectura digital de la tarjeta Arduino con un voltaje de 5 voltios.
Esta accin provoca que la tarjeta reconozca un nivel lgico alto
que, mediante la un sencillo programa, realizar un conteo de
vueltas y la medida de las revoluciones por minuto del rotor.

Tacmetro para aerogenerador

Montaje
Se ubica el rel Reed sobre la parte superior y el imn se pega a una
de las palas del aerogenerador, de forma que cuando pase la pala
por la parte superior del aerogenerador el imn y el rel queden
enfrentados de forma que el campo magntico del imn permita
cerrar los contactos del rel Reed, segn se aprecia en la imagen.

Para realizar la deteccin de cada vuelta se utiliza un imn


adherido a una de las palas que gira solidario a ella y un detector
magntico, en este caso un rel Reed. Cada vez que el imn se
posiciona frente al rel, debido a su campo magntico, provoca el
42

Las conexiones elctricas se realizarn con el apoyo de la placa protoboard segn el esquema que se adjunta. Se conecta la resistencia en
configuracin pull-down, es decir, cuando el imn est enfrentado al rel ste se cierra (ON) y conecta la entrada digital a +5 V. En
ausencia de imn el rel permanece abierto (OFF) y la entrada digital quedar conectada a masa (GND) a travs de la resistencia de 10K.
El programa, una vez configurados el pin 2 como entrada digital y la
comunicacin serie para poder monitorizar la salida, realiza de
forma cclica una lectura del puerto de entrada. Mediante una

Pincha sobre la imagen para verla a


mayor tamao

Detalle del
conexionado

sentencia condicional comprueba si el estado ha cambiado. En el caso de que


el cambio sea a un nivel alto (HIGH) incrementa en una unidad la variable
que cuenta las vueltas. Con la instruccin millis() se puede calcular el tiempo
que trascurre en dar una vuelta completa (tiempo_una_rev), por lo que
mediante un sencillo clculo podremos conocer la velocidad del rotor en revoluciones por minuto (rpm).

43

Programa:
El programa, una vez configurados el pin 2 como entrada digital y
la comunicacin serie para poder monitorizar la salida, realiza de
forma cclica una lectura del puerto de entrada. Mediante una
sentencia condicional comprueba si el estado ha cambiado. En el
caso de que el cambio sea a un nivel alto (HIGH) incrementa en
una unidad la variable que cuenta las vueltas. Con la instruccin
millis() se puede calcular el tiempo que trascurre en dar una vuelta
completa (tiempo_una_rev), por lo que mediante un sencillo
clculo podremos conocer la velocidad del rotor en revoluciones
por minuto (rpm).

Ejercicio:
Aadir el cdigo necesario al programa para que mientras el rel
est conectado (ON) el LED unido al pin 13 de la placa Arduino
permanezca encendido y se apague cuando los bornes del rel estn
desconectados a modo de intermitencia.

const int releReedPin = 2;


int vueltas = 0;
int estadoRele = 0;
int ultimoEstadoRele = 0;
long tiempo_anterior = 0;
long tiempo_una_rev = 0;
unsigned long tiempo_ahora;
long rpm;
void setup()
{
pinMode(releReedPin, INPUT);
Serial.begin(9600);
}

void loop() {
// Lee el estado del rele
estadoRele = digitalRead(releReedPin);
// Compara el estado del rele con el estado previo
if (estadoRele != ultimoEstadoRele) {
// Si el estado ha cambiado incrementa el contador
if (estadoRele == HIGH)
{
vueltas++;
tiempo_ahora =millis();
tiempo_una_rev = tiempo_ahora - tiempo_anterior;
rpm = 60000 / tiempo_una_rev; // 1 minuto = 60000 ms
Serial.println("Rele ON");
Serial.print("vuelta ");
Serial.println(vueltas);
Serial.print("Tiempo por revolucion: ");
Serial.println(tiempo_una_rev);
Serial.print("Revoluciones por minuto: ");
Serial.println(rpm);
}
else {
// Si el estado actual es LOW pasa de ON a OFF
Serial.println("Rele OFF");
tiempo_anterior = tiempo_ahora;
}
}
// Guarda el estado actual como ultimo estado
ultimoEstadoRele = estadoRele;
}

44

CAPTULO 4

INSTALACIONES

En los hogares hoy en da contamos con muchas


comodidades que hasta no hace muchos aos eran
un lujo. El agua corriente, la calefaccin, el sistema
elctrico, desages y muchas ms instalaciones que
permiten realicemos nuestras tareas cotidianas de
una manera fcil y segura.

Aprenders

La casa inteligente

Programar Arduino
para controlar una
casa inteligente
Ne c e s i t a r s
Placa Arduino
Los sensores que
puedas encontrar
Cables
Mucha imaginacin
Cartn corrugado,
pegamento y tijeras
para hacer una
maqueta

La casa inteligente
Como has podido comprobar con las prcticas
anteriores Arduino es una controladora muy fcil
de programar y seguro que se te han ocurrido ya
algunas aplicaciones para la que podras
utilizarla. En esta prctica vas a tener la
oportunidad de comprobar su potencial,
implementando una casa inteligente. Cuando
termines est prctica dejar de sorprenderte
46

esos anuncios de edificios inteligentes, coches


inteligentes, etc... Vers que en realidad tu
tambin puedes hacerlo y es posible que incluso
mejor. Como las posibilidades son infinitas en
este caso vamos a indicarte los elementos y un
funcionamiento bsico, pero sobre todo deja
volar tu imaginacin y sintete libre para
cambiar, aadir y/o modificar lo que quieras.

Tabla de elementos y funcionalidades.


ELEMENTO

USO

ACCIN

LDR

Nos informar si en el
exterior es de da o de
noche

Bajar las persianas


y encender las luces
exteriores

Detector humedad

ELEMENTO

Tenemos que detectar


cuando la fosa de
Activa la motobomba
almacenamiento de agua
del stano est llena

SUSTITUTO

PIN

CONDICIONES

LDR

Potencimetro

analgico 1

Si > 900 luces


exteriores
encendidas,
apagadas en caso
contrario
Si salta enciende la
calefaccin

Detector de
presencia (PIR)

Detecta si por la noche


hay alguien en el jardn

Activa la alarma

Termostato (T)

interruptor

digital 3

Termostato

Detecta la temperatura
interior de la casa

Activa o desactiva la
caldera de la
calefaccin

Motobomba
(MB)

led rojo

digital 1

Puede que en el taller encuentres estos sensores o no, as como los


elementos como bombas y otras cosas. No te preocupes
simplemente simlalos con lo que tengas.
La motobomba puede ser un motor de CC pequeo o incluso un led
, el PIR puede ser un pulsador al igual que el detector de humedad,
tu imaginacin y los elementos de los que dispongas sern
suficientes para crear tu casa inteligente. Dedcale unos minutos a
pensar por que vas a sustituir cada uno de los elementos y
plsmalos en una tabla. Incluye tambin en que pines de la plaa
estarn conectados y la lgica a seguir. Como ves en la tabla
siguiente hay un ejemplo, el cual debes ajustar a los elementos que
puedas conseguir y aadir aquellos que se te ocurran.

47

digital 2

Si pulsado se
enciende
motobomba

Detector
presencia (PIR)

Este lo tengo en
el taller y no
tengo que
sustituirlo

digital 4

Si es de noche ( =>
LDR > 900) y
detector activo
disparo la alarma

Luces exteriores
(LE)

2 led amarillos

digital 5

Alarma (A)

Buzzer

digital 6

Caldera (C)

Led verde

digital 7

Motor
persianas (MP)

motor CC

digital 8

Sensor
humedad (SH)

Pulsador verde

/* defino algunas variables por comodidad y mejor entendimiento


del programa
mirando la tabla se ve a que elemento corresponde cada variable*/
int LDR, MB, SH, PIR, LE, A, C, MP, T;
boolean persiana_subida=true; //guarda el estado de la persiana
void setup() {
// inicializamos las variables
LDR = 1;
MB=1;
SH=2;
PIR=4;
LE=5;
A=6;
C=7;
MP=8;
T=3;
//activamos el puerto serial para la depuracion
Serial.begin(9600);
//definimos los pines de salida, sobre los que acuaremos
pinMode(MB, OUTPUT);
pinMode(LE, OUTPUT);
pinMode(A, OUTPUT);
pinMode(C, OUTPUT);
pinMode(MP, OUTPUT);
//definimos los pines de entrada, de los que obtendremos datos
(solo los digitales)
pinMode(SH, INPUT);
pinMode(PIR, INPUT);
pinMode(T, INPUT);
}

Haz la maqueta de una casa con el cartn, con sus habitaciones y


sobre ella incluye todos los elementos de los que dispondr.
Recuerda dejar suficiente cable para conectarlos luego en la placa
Arduino sin problemas. Una buena opcin es llevarlos todos hacia
el mismo lado de la casa y etiquetarlos para evitar errores.
Aqu tienes un ejemplo de programacin basado en la tabla
anterior, pero seguro que te gustar modificar cosas y sobre todo
mejorarla.
El programa es largo por que no est optimizado para que sea
sencilla su interpretacin.

48

void loop() {
//programamos logica LDR
if (analogRead(1)> 900) { //indica que es de noche
if (persiana_subida){//La persiana est subida y por tanto la
bajamos
digitalWrite(MP,HIGH); //Baja persianas
delay(5000); //suponemos que las persianas tardan en bajar 5
segundos
digitalWrite(MP,LOW);//para motor persianas
persiana_subida=false; //para saber que la persiana esta abajo
}
digitalWrite(LE, HIGH); //enciende luces exteriores
}
else {
if(! persiana_subida){//La periana esta bajada y por tanto la
subimos
digitalWrite(MP,HIGH); //Sube persianas
delay(5000); //suponemos que las persianas tardan en bajar 5
segundos
digitalWrite(MP,LOW);//para motor persianas
persiana_subida=true;//para saber que la persiana esta arriba
}
digitalWrite(LE,LOW);//apagamos luces
}
//programamos logica detector humedad
if (digitalRead(SH)==1) {//Hay humedad
digitalWrite(MB, HIGH);//arranca la motobomba
}
else {
digitalWrite(MB, LOW);//para la motobomba
}

//programamos logica detector presencia


if (digitalRead(PIR==1) && analogRead(LDR) >900){//Se detecta
resencia y es de noche
digitalWrite(A, HIGH);//Activa alarma
}
else {
digitalWrite(A,LOW);
}
//programamos logica sensor temperatura
if (digitalRead(T)==1){
digitalWrite(C,HIGH); //enciende la caldera
}
else {
digitalWrite(C,LOW); //apaga la caldera
}
//mostramos lo que ocurre por monitor serial para poder depurar
problemas
Serial.print("LDR=");
Serial.println(analogRead(1));
Serial.print("Detector Humedad=");
Serial.println(digitalRead(SH));
Serial.print("Detector Presencia=");
Serial.println(digitalRead(PIR));
Serial.print("Termostato=");
Serial.println(digitalRead(T));
delay (2000); //esperamos 2 segundos
}

49

Anda mungkin juga menyukai