# PRACTICAS AVANZADO

\- Utilización de varios sensores y activadores a la vez  
\- Programación en funciones y uso de variables  
\- Continuación de lectura de sensores por el puesto serie

# Alarma láser

##### Objetivo

Realizaremos una alarma laser con las siguientes condiciones:

- Al tocar el pulsador táctil se **activará** la alarma, es decir, se encenderá el láser que apunta al sensor LDR
- Si la alarma está activada y "*el ladrón"* corta el haz láser, entonces la alarma **se dispara**
    - el disparo consistirá en avisos acústicos y visuales
- para salir del estado de disparo o de activación se pulsará el botón ***reset*** (no es necesario ninguna programación especial para cumplir este ítem)

<iframe allowfullscreen="allowfullscreen" height="314" src="//www.youtube.com/embed/_dQcLtzzTNQ" width="560"></iframe>

#### Cableado

Tenemos que ser cuidadosos de apuntar el láser (representado en esta figura por un led) al LDR, en caso contrario el Arduino se disparará de inmediato al cargar el programa.

[![2022-04-07 13_53_59-ArduinoBasico4PulsadorLuzZumbadorAlarma.fzz - Fritzing - [Vista de Protoboard (p.jpg](https://libros.catedu.es/uploads/images/gallery/2022-04/scaled-1680-/ziI2022-04-07-13-53-59-arduinobasico4pulsadorluzzumbadoralarma-fzz-fritzing-vista-de-protoboard-p.jpg)](https://libros.catedu.es/uploads/images/gallery/2022-04/ziI2022-04-07-13-53-59-arduinobasico4pulsadorluzzumbadoralarma-fzz-fritzing-vista-de-protoboard-p.jpg)

#### Programa

Se aconseja el uso de funciones y variables para simplificar la programación :

<p class="callout warning">OJO si se dispara la alarma, pon más retardo de 500ms</p>

[http://www.arduinoblocks.com/web/project/772739](http://www.arduinoblocks.com/web/project/772739)

[![arduinoblocks_1649331839040.png](https://libros.catedu.es/uploads/images/gallery/2022-04/scaled-1680-/SzSarduinoblocks-1649331839040.png)](https://libros.catedu.es/uploads/images/gallery/2022-04/SzSarduinoblocks-1649331839040.png)

<p class="callout info">**Mejora** esta alarma añadiendo otro sensor, el sensor de Ultrasonidos, si detecta un objeto cercano que se dispare la alarma.</p>

<p class="callout info">**Otra mejora**:: Añade un retardo al disparo de la alarma al activar uno de los sensores, por ejemplo el láser. Igual que en los casos reales, el sensor de la puerta principal tiene retardo para que el "dueño" tenga un tiempo para *desactivar* la alarma antes de que se dispare. El otro sensor (el de ultrasonidos) no tendría retardo, estaría por ejemplo en una habitación por lo tanto no tiene que tener retardo, el dueño nunca entra a la casa por ahí.</p>

# Piano con teclado invisible

#### Objetivo

Vamos a tocar diferentes notas según la distancia que mida el sensor de ultrasonidos.. Cuanto más cerca, más agudo.

<iframe allowfullscreen="allowfullscreen" height="314" src="//www.youtube.com/embed/8hzQUQSXN68" width="560"></iframe>

#### Cableado

Conectaremos el sensor de ultrasonidos y el zumbador tal y como lo hemos hecho en anteriores prácticas.

[![2022-04-09 19_56_57-ArduinoBasico4PulsadorLuzZumbador-Barrera.fzz_ - Fritzing.png](https://libros.catedu.es/uploads/images/gallery/2022-04/scaled-1680-/2022-04-09-19-56-57-arduinobasico4pulsadorluzzumbador-barrera-fzz-fritzing.png)](https://libros.catedu.es/uploads/images/gallery/2022-04/2022-04-09-19-56-57-arduinobasico4pulsadorluzzumbador-barrera-fzz-fritzing.png)

[![2022-04-09 19_58_36-WhatsApp.png](https://libros.catedu.es/uploads/images/gallery/2022-04/scaled-1680-/2022-04-09-19-58-36-whatsapp.png)](https://libros.catedu.es/uploads/images/gallery/2022-04/2022-04-09-19-58-36-whatsapp.png)

#### Programa

[http://www.arduinoblocks.com/web/project/780618](http://www.arduinoblocks.com/web/project/780618)

[![arduinoblocks_1649526757603.png](https://libros.catedu.es/uploads/images/gallery/2022-04/scaled-1680-/arduinoblocks-1649526757603.png)](https://libros.catedu.es/uploads/images/gallery/2022-04/arduinoblocks-1649526757603.png)

# Aparca coches

#### Objetivo

Simular el sensor asistente de aparcamiento que mediante una señal acústica nos avisa de la cercanía de un obstáculo.

Es parecido a la práctica anterior, pero aquí el tono es el mismo. Lo que cambia es la frecuencia de los pulsos

<iframe allowfullscreen="allowfullscreen" height="314" src="//www.youtube.com/embed/2JfD6w3deZk" width="560"></iframe>

#### Cableado

Es igual que en la práctica anterior

[![2022-04-09 19_56_57-ArduinoBasico4PulsadorLuzZumbador-Barrera.fzz_ - Fritzing.png](https://libros.catedu.es/uploads/images/gallery/2022-04/scaled-1680-/2022-04-09-19-56-57-arduinobasico4pulsadorluzzumbador-barrera-fzz-fritzing.png)](https://libros.catedu.es/uploads/images/gallery/2022-04/2022-04-09-19-56-57-arduinobasico4pulsadorluzzumbador-barrera-fzz-fritzing.png)

[![2022-04-09 19_58_36-WhatsApp.png](https://libros.catedu.es/uploads/images/gallery/2022-04/scaled-1680-/2022-04-09-19-58-36-whatsapp.png)](https://libros.catedu.es/uploads/images/gallery/2022-04/2022-04-09-19-58-36-whatsapp.png)

#### Programa

[http://www.arduinoblocks.com/web/project/780629](http://www.arduinoblocks.com/web/project/780629)

[![arduinoblocks_1649531448551.png](https://libros.catedu.es/uploads/images/gallery/2022-04/scaled-1680-/arduinoblocks-1649531448551.png)](https://libros.catedu.es/uploads/images/gallery/2022-04/arduinoblocks-1649531448551.png)

# Estación meteorológica

#### Objetivo

Igual que en la[ práctica de lectura de puertos ](https://libros.catedu.es/books/arduino-con-arduinoblocks/page/lectura-puerto-serie-ultrasonidos "Lectura puerto serie ultrasonidos")podemos visualizar los datos de sensores ambientales :

- DHT11 que mide en el mismo pin la humedad y la temperatura
- El sensor LDR que mediría la luminosidad, proporcional a la nubosidad existente.

Podemos ver las variaciones lanzando vaho en el sensor y tapando el LDR.

[![2022-04-10 14_34_51-ArduinoBlocks.png](https://libros.catedu.es/uploads/images/gallery/2022-04/scaled-1680-/2022-04-10-14-34-51-arduinoblocks.png)](https://libros.catedu.es/uploads/images/gallery/2022-04/2022-04-10-14-34-51-arduinoblocks.png)

#### Cableado

Vamos a practicar la lectura de sensor DHT11 que es sencillo de utilizar pues como todos, tiene dos pines de alimentación y un pin de lectura, el otro pin, el penúltimo **no se conecta** :

<p class="callout info">Ojo, para que funcione correctamente hay que poner una resistencia entre el pin de datos y el de alimentación</p>

[![conextiondht11ldrarduino.jpg](https://libros.catedu.es/uploads/images/gallery/2022-04/scaled-1680-/conextiondht11ldrarduino.jpg)](https://libros.catedu.es/uploads/images/gallery/2022-04/conextiondht11ldrarduino.jpg)

[![conextiondht11ldrarduinofoto.jpg](https://libros.catedu.es/uploads/images/gallery/2022-04/scaled-1680-/conextiondht11ldrarduinofoto.jpg)](https://libros.catedu.es/uploads/images/gallery/2022-04/conextiondht11ldrarduinofoto.jpg)

#### Programa

[http://www.arduinoblocks.com/web/project/780757](http://www.arduinoblocks.com/web/project/780757)

[![arduinoblocks_1649602201589.png](https://libros.catedu.es/uploads/images/gallery/2022-04/scaled-1680-/arduinoblocks-1649602201589.png)](https://libros.catedu.es/uploads/images/gallery/2022-04/arduinoblocks-1649602201589.png)