# 3. Circuitos más complejos

# LDR y LEDs

Esta vez vamos a convertir el valor de la oscuridad en luces. Para ello necesitaremos:

- **10 LEDs** puestos consecutivamente. Vamos a colocarlos desde el pin 2 hasta el 11 (el 1 está ocupado con TX)
- El sensor LDR conectado a una entrada A0
- El programa tiene que convertir el valor de la oscuridad que detecta el LDR en las luces, es decir cuanto más oscuridad más luces encendidas.

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-lu65gi95.png)

<iframe allowfullscreen="allowfullscreen" height="314" id="bkmrk--1" src="//www.youtube.com/embed/78hqYoimEV4" width="560"></iframe>

##### <span style="color: rgb(22, 145, 121);">**Solución**</span>

La solución tiene la complejidad del valor de la entrada A0 que va desde 0 hasta 1023 por lo tanto, hay que convertir estos valores en valores del 2 al 11 correspondiente a los LEDs  
  
La forma más sencilla de reconvertir A0 es dividir A0 entre 100 y sumarle un 1 de esta manera aproximadamente los valores se convierten en 2-11

Otra opción es en mBlock 5.0 existe la función MAPEAR y por lo tanto también se puede hacer

[![mapear.png](https://libros.catedu.es/uploads/images/gallery/2023-12/scaled-1680-/mapear.png)](https://libros.catedu.es/uploads/images/gallery/2023-12/mapear.png)

En vez de

[![mapear2.png](https://libros.catedu.es/uploads/images/gallery/2023-12/scaled-1680-/mapear2.png)](https://libros.catedu.es/uploads/images/gallery/2023-12/mapear2.png)  
  
Si el LED se menor que el valor A0 ya convertido, encender el LED, en caso contrario apagarlo  
  
![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-8hptlmwo.png)

La captura es en mBlock 3 pero En mBlock5 es igual

# Condensador y LEDs

En este ejercicio proponemos que se visualice la carga y descarga de un condensador, no en una pelota que se hincha como hicimos en el M2, sino con las luces

Utilizaremos el formato de LEDs del ejercicio anterior, es decir 10 LEDs colocados consecutivamente, desde el pin 2 hasta el pin 11

La entrada será el condensador por el pin A0

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-kv8dxgck.png)

El cable verde suelto será el que manualmente tocará a una resistencia o a otra para que se cargue o descargue:

<iframe allowfullscreen="allowfullscreen" height="314" id="bkmrk--1" src="//www.youtube.com/embed/_O1GhMW3Z3U" width="560"></iframe>

##### <span style="background-color: rgb(255, 255, 255); color: rgb(22, 145, 121);">**Solución**</span>

Pero si... ¡¡¡ ES EL MISMO QUE EL EJERCICIO ANTERIOR LDR Y LEDS !!!  
  
![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-99kousez.png)

# Timbre

Proponemos que cuando se pulse el pulsador, se enciendan las luces y toque un tono

<iframe allowfullscreen="allowfullscreen" height="314" id="bkmrk--1" src="//www.youtube.com/embed/tDT2SgXXE5A" width="560"></iframe>

El pulsador con la resistencia pull-down al pin A0 y las luces como en los ejercicios anteriores del 2 al 11, el altavoz en el pin 13:

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-8uamhbl6.png)

##### Solución

Después de poner pin digital alto o bajo, se puede añadir un pequeño retraso para hacer más lento el efecto de encender consecutivamente los leds.  
![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-3yszs4sb.png)

# Piano invisible con Ultrasonidos

Podemos conectar el sensor de ultrasonidos como queramos, en estos apuntes vamos a realizar el criterio de:

- Trigger en el pin 4
- Echo en el pin 3

La conexión sería así:

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-nzsuddde.png)

la instrucción de mBlock sería la siguiente:

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-3sz559ut.png)

## <span style="color: rgb(22, 145, 121);">**Con el altavoz PC**</span>

No vamos a hacer un arpa láser estilo Jean Michel Jarre, pero con ultrasonidos, se puede hacer algo parecido. ¿Te atreves? El programa tiene que convertir la distancia en notas musicales.

Las notas musicales están en formato americano (en vez de do-re-mi-..) van desde la nota 48 a la nota 72 por lo tanto hay que convertir la distancia en esas notas musicales *(pon la voz a tope, que se oye bajo)*

<iframe allowfullscreen="allowfullscreen" height="314" id="bkmrk--3" src="//www.youtube.com/embed/pfbXZOVQubA" width="560"></iframe>

##### <span style="color: rgb(22, 145, 121);">**Solución**</span>

- Ponemos un tope de 100 cm para que empiece a tocar, de lo contrario nos vuelve un poco locos, pues no pararía.
- Recomendamos utilizar la notación musical es americana, en forma de números, pues la conversión es muy fácil

Solución con mBlock5.0

Lo tienes aquí [https://planet.mblock.cc/project/3267795](https://planet.mblock.cc/project/3267795)

En el dispositivo ARDUINO

[![arduino-piano1.png](https://libros.catedu.es/uploads/images/gallery/2023-12/scaled-1680-/arduino-piano1.png)](https://libros.catedu.es/uploads/images/gallery/2023-12/arduino-piano1.png)

En el objeto (que hemos cambiado el oso panda por un músico). Hemos añadido la extensión MUSICA

[![arduino-piano3.png](https://libros.catedu.es/uploads/images/gallery/2023-12/scaled-1680-/arduino-piano3.png)](https://libros.catedu.es/uploads/images/gallery/2023-12/arduino-piano3.png)

Y tenemos ya una instrucción de tocar la nota en formato americano que es numérico

[![arduino-piano4.png](https://libros.catedu.es/uploads/images/gallery/2023-12/scaled-1680-/arduino-piano4.png)](https://libros.catedu.es/uploads/images/gallery/2023-12/arduino-piano4.png)

El programa queda en el objeto :

[![arduino-piano2.png](https://libros.catedu.es/uploads/images/gallery/2023-12/scaled-1680-/arduino-piano2.png)](https://libros.catedu.es/uploads/images/gallery/2023-12/arduino-piano2.png)

Solución con mBlock3.0  
  
![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-0mshd2vm.png)

## <span style="color: rgb(22, 145, 121);">**Con el altavoz Arduino**</span>

Bueno y ahora ¿por qué no repetimos el ejercicio anterior pero nos independizamos del ordenador? conectamos un altavoz en el pin 13 por ejemplo y que suene la música:

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-miymdlm9.png)

No suena de maravilla, porque no es el altavoz del PC, ni tampoco tiene potencia, pero algo es algo...

<iframe allowfullscreen="allowfullscreen" height="314" id="bkmrk--8" src="//www.youtube.com/embed/jgHBIZCJGu0" width="560"></iframe>

##### <span style="color: rgb(22, 145, 121);">**Solución**</span>

La solución es muy parecida al ejercicio anterior, simplemente hay que cambiar la instrucción de tocar nota por reproducir tono  
  
El programa queda así: (la captura es en mBlock3.0 pero en mBlock5.0 es igual)  
  
![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-om9ugjyl.png)

# Ampliación: Juegos de luces

##### <span style="color: rgb(22, 145, 121);">**Construcción**</span>

En este caso pondremos 8 LEDs uno a continuación del otro, los ANODOS (+)(pata más larga) conectados al pin 13 - 12 -11 -10 -9 -8 -7 -6 y los CATODOS (-) (pata corta) todos al GND

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-7rgepd96.png)

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-dnkkldkk.png)

### <span style="color: rgb(22, 145, 121); background-color: rgb(194, 224, 244);">**Juego luces - 1** </span>

Se van encendiendo y apagando los 8 leds secuencialmente como en el vídeo:

<iframe allowfullscreen="allowfullscreen" height="314" id="bkmrk--13" src="//www.youtube.com/embed/Ov_jvJmqTX8" width="560"></iframe>

##### <span style="color: rgb(22, 145, 121);">**Solución**</span>

<span style="color: rgb(22, 145, 121);"><span style="color: rgb(0, 0, 0);">La captura está realizada en mBlock 3.0 pero en mBlock 5.0 es igual</span></span>

### ![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-78t1f1n4.png)  
  
<span style="color: rgb(22, 145, 121); background-color: rgb(194, 224, 244);">**Juego de luces -2** </span>

En este caso da la sensación que es una luz la que se desplaza:

<iframe allowfullscreen="allowfullscreen" height="314" id="bkmrk--14" src="//www.youtube.com/embed/rFRS73GW5Y0" width="560"></iframe>

##### <span style="color: rgb(22, 145, 121);">**Solución**</span>

<span style="color: rgb(22, 145, 121);"><span style="color: rgb(0, 0, 0);">La captura está realizada en mBlock 3.0 pero en mBlock 5.0 es igual</span></span>

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-h82rdvqu.png)  
  
Se ha optado por utilizar una variable que controle el tiempo T por comodidad

### <span style="color: rgb(22, 145, 121); background-color: rgb(194, 224, 244);">**Coche fantástico** </span>

¿Conoces las luces del coche fantástico? si la respuesta es afirmativa, tienes la edad perfecta para este curso 😁 sino, tendrás que ver este vídeo para ver el coche fantástico

<iframe allowfullscreen="allowfullscreen" height="314" id="bkmrk--15" src="//www.youtube.com/embed/oNeQi8-PXAU" width="560"></iframe>

Al grano. Nuestro reto es que hagas es lo siguiente:

<iframe allowfullscreen="allowfullscreen" height="314" id="bkmrk--16" src="//www.youtube.com/embed/B9odWhGeLnE" width="560"></iframe>

##### <span style="color: rgb(22, 145, 121);">**Solución**</span>

<span style="color: rgb(22, 145, 121);"><span style="color: rgb(0, 0, 0);">La captura está realizada en mBlock 3.0 pero en mBlock 5.0 es igual. </span></span>

Hemos puesto un tiempo T pequeño para que dar una sensación de movimiento.

###   
![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-kjunvj1q.png)  
  
  
<span style="color: rgb(22, 145, 121); background-color: rgb(194, 224, 244);">**Coche fantástico plus** </span>

Bueno, y si pedimos que tenga alguna interacción con elementos de Scratch:

<iframe allowfullscreen="allowfullscreen" height="314" id="bkmrk--17" src="//www.youtube.com/embed/23RnW9e2gD8" width="560"></iframe>

##### <span style="color: rgb(22, 145, 121);">**Solución**</span>

Con mBlock 5.0 la cosa se complica pues con mBlock 3 podemos intercambiar instrucciones de objeto con dispositivo pero aquí no, luego el programa lo tienes aquí [https://planet.mblock.cc/project/3267890](https://planet.mblock.cc/project/3267890)

El objeto oso panda es el que lleva la batuta de T y n

Estamos utilizando la técnica de VARIABLES GLOBALES de [https://libros.catedu.es/books/programa-arduino-con-mblock-scratch/page/programacion-mblock](https://libros.catedu.es/books/programa-arduino-con-mblock-scratch/page/dos-formas-de-programar-con-mblock)

[![arduino-cochefantasticoplus1.png](https://libros.catedu.es/uploads/images/gallery/2023-12/scaled-1680-/arduino-cochefantasticoplus1.png)](https://libros.catedu.es/uploads/images/gallery/2023-12/arduino-cochefantasticoplus1.png)

Cada objeto bombilla, tiene un programa, por ejemplo el objeto 6 es (la captura es de mBlock3 pero mBlock 5 es igual)  
![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-69mxm4nj.png)

El dispositivo ARDUINO tiene este programa

[![arduino-cochefantasticoplus2.png](https://libros.catedu.es/uploads/images/gallery/2023-12/scaled-1680-/arduino-cochefantasticoplus2.png)](https://libros.catedu.es/uploads/images/gallery/2023-12/arduino-cochefantasticoplus2.png)

Hace un barrido y si es el pin que hay que encender, se enciende, sino se apaga

<p class="callout warning">Si T es menor de 0.5 empieza a descoordinarse el Arduino y los objetos del ordenador, pues hay retraso en la comunicación seria. Si queremos bajar tiempos, habría que trabajar con CARGA no en VIVO y habría que utililizar la técnica de BROADCAST</p>

En mBlock 3. El programa te lo puedes [descargar aquí](https://libros.catedu.es/attachments/16) y es como el anterior  
![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-kjunvj1q.png)

Pero con 8 objetos bombillas, con su programa correspondiente, por ejemplo el 6

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-69mxm4nj.png)

### <span style="color: rgb(22, 145, 121);">**Otra propuesta de coche fantástico**</span>

Esto lo mostramos como ejemplo de hacer el coche fantástico con un potenciómetro, OJO la solución está realizada en código, no en mBlock, pero los vídeos explican muy bien cómo hay que conectar todo:

<iframe allowfullscreen="allowfullscreen" height="314" id="bkmrk--18" src="//www.youtube.com/embed/ucQRrE1j32g" width="560"></iframe>

##### <span style="color: rgb(22, 145, 121);">**Solución**</span>

<p class="callout success"><span style="color: rgb(0, 0, 0);">La solución está con capturas de mBlock3. A estas alturas ya sabes las modificaciones a realizar en mBlock5  
Si lo realizas en mBlock5 y lo publicas, please, pásanos el link y lo ponemos aquí</span></p>

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

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

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

## **<span style="color: rgb(22, 145, 121);">Semáforo</span>**

Realizar un semáforo de luces para coches y peatones:

[Fuente: Con permiso del autor David López Morte (IES Los Albares)](https://davidlopezmorte.wordpress.com/)la propuesta del semáforo [aquí](http://www.ieslosalbares.es/tecnologia/programacionArduinoMBlock/semforo.html).

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-482s3etu.jpeg)

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-j6fqcis2.png)

##### Solución

<p class="callout success"><span style="color: rgb(0, 0, 0);">La solución está con capturas de mBlock3. A estas alturas ya sabes las modificaciones a realizar en mBlock5  
Si lo realizas en mBlock5 y lo publicas, please, pásanos el link y lo ponemos aquí  
</span></p>

  
![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-23m95t4q.jpeg)

### Propuesta 2 con código

##### Solución

<p class="callout success"><span style="color: rgb(0, 0, 0);">La solución está con capturas de mBlock3. A estas alturas ya sabes las modificaciones a realizar en mBlock5  
Si lo realizas en mBlock5 y lo publicas, please, pásanos el link y lo ponemos aquí  
</span></p>

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

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

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

## <span style="color: rgb(22, 145, 121);">**Otras propuestas**</span>

Pues ahora que sean dos luces las que se muevan, los dos en sentidos opuestos:

<iframe allowfullscreen="allowfullscreen" height="314" id="bkmrk--22" src="//www.youtube.com/embed/GOSBe0IfFQw" width="560"></iframe>

##### <span style="color: rgb(22, 145, 121);">**Solución**</span>

<p class="callout success"><span style="color: rgb(0, 0, 0);">La solución está con capturas de mBlock3. A estas alturas ya sabes las modificaciones a realizar en mBlock5  
Si lo realizas en mBlock5 y lo publicas, please, pásanos el link y lo ponemos aquí  
</span></p>

  
![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-0bo0uyfx.png)  
  
Puedes descargarte[ el programa aquí](https://libros.catedu.es/attachments/17).