# Ejercicio Final: Túnel de lavado con sensores

#### Programación con Arduino y posterior prototipado de un sistema de lavado automático para coches.

[![tunellavado.png](https://libros.catedu.es/uploads/images/gallery/2022-11/scaled-1680-/tunellavado.png)](https://libros.catedu.es/uploads/images/gallery/2022-11/tunellavado.png)

<table border="1" id="bkmrk-componentes-arduino-" style="border-collapse: collapse; width: 100%; height: 119.188px;"><tbody><tr style="height: 29.7969px;"><td style="width: 50.0618%; height: 29.7969px;"><p class="callout info">COMPONENTES</p>

</td><td style="width: 50.0618%; height: 29.7969px;"><p class="callout info">Arduino UNO</p>

<p class="callout info">[![image-1668252879858.jpg](https://libros.catedu.es/uploads/images/gallery/2022-11/scaled-1680-/image-1668252879858.jpg)](https://libros.catedu.es/uploads/images/gallery/2022-11/image-1668252879858.jpg)</p>

</td></tr><tr style="height: 29.7969px;"><td style="width: 50.0618%; height: 29.7969px;">  
</td><td style="width: 50.0618%; height: 29.7969px;"><p class="callout info">Sensor de Ultrasonidos</p>

<p class="callout info">[![ultrasonido.png](https://libros.catedu.es/uploads/images/gallery/2022-11/scaled-1680-/ultrasonido.png)](https://libros.catedu.es/uploads/images/gallery/2022-11/ultrasonido.png)</p>

</td></tr><tr style="height: 29.7969px;"><td style="width: 50.0618%; height: 29.7969px;">  
</td><td style="width: 50.0618%; height: 29.7969px;"><p class="callout info">Tira leds NeoPixel</p>

<p class="callout info">[![zoomNeopixel.jpg](https://libros.catedu.es/uploads/images/gallery/2022-11/scaled-1680-/zoomneopixel.jpg)](https://libros.catedu.es/uploads/images/gallery/2022-11/zoomneopixel.jpg)</p>

</td></tr><tr style="height: 29.7969px;"><td style="width: 50.0618%; height: 29.7969px;">  
</td><td style="width: 50.0618%; height: 29.7969px;"><p class="callout info">ServoMotor</p>

<p class="callout info">[![servocurso.jpg](https://libros.catedu.es/uploads/images/gallery/2022-11/scaled-1680-/servocurso.jpg)](https://libros.catedu.es/uploads/images/gallery/2022-11/servocurso.jpg)</p>

</td></tr></tbody></table>

El acceso al túnel estará regulado por un semáforo (2 leds de la tira Neopixel) que permanecerá en <span style="color: #2dc26b;">verde </span>hasta que el vehículo se acerque justo a la posición donde debe parar. En este instante el semáforo cambiará a <span style="color: #e03e2d;">rojo, <span style="color: #000000;">y comenzará el proceso de lavado. </span></span>

<span style="color: #e03e2d;"><span style="color: #000000;">Durante el tiempo de lavado (6 segundos), el resto de leds de la tira, se irán encendiendo en color <span style="color: #3598db;">azul, </span>uno a uno cada segundo, indicando de este modo el progreso del servicio. </span></span>

<span style="color: #e03e2d;"><span style="color: #000000;">Finalizado el proceso de limpiado y secado, la barrera de salida (un servomotor en posición 0 grados), se abrirá (posición 90 grados) para dejar salir al vehículo, y el semáforo volverá a ponerse en <span style="color: #2dc26b;">verde</span>.</span></span>

Al tratarse del ejercicio final, únicamente vamos a ver como accionar un servomotor, ya que se pretende ver como el alumnado ha adquirido los conocimientos, y el resto de componentes han sido ya tratados en las experiencias anteriores.

<details id="bkmrk-dise%C3%B1o-2d-es-conveni"><summary>Diseño 2D</summary>

Es conveniente utilizar alguna herramienta para diseñar nuestro circuito antes de proceder al montaje. De este modo evitaremos cometer errores con el cableado. Existen muchas herramientas online para este propósito y algunas de ellas como Tinkercad incluso permiten su simulación, pero tienen mayor limitación en las librerías de componentes, por lo que en este caso utilizaremos EasyEDA.

<p class="callout info">Puedes encontrar un tutorial para crear tus diseños con EasyEDA pinchando [aquí](https://libros.catedu.es/link/7618#bkmrk-page-title "EasyEda").</p>

En este caso, como indicaba al principio, vamos a implementar únicamente el diseño de las conexiones del servomotor. El resto del diseño forma parte de la tarea evaluable de este curso.

Los servomotores tienen 3 Pines. Positivo, Gnd y datos. A continuación muestro el servo que he utilizado y como quedan las conexiones.

[![EasyEDA(Standard) - A Simple and Powerful Electronic Circuit Design Tool (10).png](https://libros.catedu.es/uploads/images/gallery/2022-11/scaled-1680-/easyedastandard-a-simple-and-powerful-electronic-circuit-design-tool-10.png)](https://libros.catedu.es/uploads/images/gallery/2022-11/easyedastandard-a-simple-and-powerful-electronic-circuit-design-tool-10.png)

[![EasyEDA(Standard) - A Simple and Powerful Electronic Circuit Design Tool (11).png](https://libros.catedu.es/uploads/images/gallery/2022-11/scaled-1680-/easyedastandard-a-simple-and-powerful-electronic-circuit-design-tool-11.png)](https://libros.catedu.es/uploads/images/gallery/2022-11/easyedastandard-a-simple-and-powerful-electronic-circuit-design-tool-11.png)

</details>A continuación vemos como programar el movimiento de un servo con **ArduinoBlocks.**

<details id="bkmrk-programaci%C3%B3n---servo"><summary>Programación - Servomotor</summary>

Los servomotores pueden mover su posición de 0 a 180 grados. En ArduinoBlocks, hay un apartado de "Motores" donde podremos encontrar los servos. Lo arrastramos al campo de trabajo y asignamos su pin de datos.

[![ArduinoBlocks (20).png](https://libros.catedu.es/uploads/images/gallery/2022-11/scaled-1680-/arduinoblocks-20.png)](https://libros.catedu.es/uploads/images/gallery/2022-11/arduinoblocks-20.png)

</details>{{@5685}}