# 1. Preparando el terreno

# Conoce Arduino

{{@2936}}

# Hardware del Arduino

{{@2937}}

# Software del Arduino

{{@7552}}

# Instalando mBlock

**mBlock** es un programa especializado en el manejo de los robots de Makeblock ([ver cursos de mBot en Aularagon](https://libros.catedu.es/books/robotica/page/hardware)), pero permiten muchas arquitecturas de placas pues los mismos robots de Makeblock estan basados en placas de hardware libre Arduino, ESP32...

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

<p class="callout info">Hay dos versiones, **online y offline**, las dos son buenas, no obstante   
- Si tienes Windows o Mac preferimos la **versión** **offline** para no saturar la red en los centros, rapidez y comodidad.   
- Si utilizas **Linux** o **Chromebook** tienes que usar la **versión online** obligatoriamente pues no hay versión instalable.  
Tanto una opción como la otra, permite tener los proyectos en la nube de Makeblock, compartir, embeberlos, etc...</p>

#### <span style="text-decoration: underline;"><span style="color: rgb(22, 145, 121); text-decoration: underline;">**Versión online** </span></span>

Para la versión web **primero hay que instalar mLink driver** nos vamos a [https://mblock.cc/pages/downloads](https://mblock.cc/pages/downloads) y abajo nos encontramos mLink para descargar, <span style="color: rgb(224, 62, 45);">**descarga el mLink correspondiente a tu sistema operativo**</span> :

[![mlink-1.png](https://libros.catedu.es/uploads/images/gallery/2025-03/scaled-1680-/mlink-1.png)](https://libros.catedu.es/uploads/images/gallery/2025-03/mlink-1.png)  
*Licencia CC-BY -SA [https://docs.arduino.cc/tutorials/alvik/getting-started-mblock/](https://docs.arduino.cc/tutorials/alvik/getting-started-mblock/)*

Lo instalamos, y entonces pedirá instalar los **drivers** que son pequeños programas que comunican el PC con el harware del robot

[![mlink-drivers.png](https://libros.catedu.es/uploads/images/gallery/2025-03/scaled-1680-/mlink-drivers.png)](https://libros.catedu.es/uploads/images/gallery/2025-03/mlink-drivers.png)  
*Licencia CC-BY -SA [https://docs.arduino.cc/tutorials/alvik/getting-started-mblock/](https://docs.arduino.cc/tutorials/alvik/getting-started-mblock/)*

<p class="callout success">Si utilizas **Chromebook** lee la siguiente [guía ](https://support.makeblock.com/hc/en-us/articles/19412317319191-Device-Connection-Guide-for-Chromebook-Latest-Version)para conectar el robot</p>

Una vez instalado **ya podemos entrar en la web [https://ide.mblock.cc/](https://ide.mblock.cc/)** para programar en bloques nuestro robot

<p class="callout info">Nota: La página [https://ide.mblock.cc/](https://ide.mblock.cc/) no suele estar bien situada en los buscadores si ponemos *mBlock*, la página que suele salir es esta [https://www.mblock.cc/en/ y](https://www.mblock.cc/en/) nos da dos opciones, trabajar con bloque, o con Python, elegimos bloques[![2024-05-16 23_50_10-mBlock - One-Stop Coding Platform for Teaching and Learning.png](https://libros.catedu.es/uploads/images/gallery/2024-05/scaled-1680-/2024-05-16-23-50-10-mblock-one-stop-coding-platform-for-teaching-and-learning.png)](https://libros.catedu.es/uploads/images/gallery/2024-05/2024-05-16-23-50-10-mblock-one-stop-coding-platform-for-teaching-and-learning.png)  
Si has entrado sin querer en la URL [https://ide.makeblock.com/](https://ide.makeblock.com/) no permite el logueo en Europa  
En resumen, la URL correcta es  **[https://ide.mblock.cc/](https://ide.mblock.cc/)**   
  
</p>

En este editor **tenemos que loguearnos** podemos crear un nuevo usuario, utilizando una cuenta de Google/Apple o registrarnos con un correo electrónico

[![2024-05-16 23_53_10-mBlock Block-Based IDE- Coding for Beginners.png](https://libros.catedu.es/uploads/images/gallery/2024-05/scaled-1680-/2024-05-16-23-53-10-mblock-block-based-ide-coding-for-beginners.png)](https://libros.catedu.es/uploads/images/gallery/2024-05/2024-05-16-23-53-10-mblock-block-based-ide-coding-for-beginners.png)

#### <span style="text-decoration: underline;"><span style="color: rgb(22, 145, 121); text-decoration: underline;">**Versión offline Windows o Mac** </span></span>

<span style="color: rgb(0, 0, 0);">Vamos a [https://mblock.cc/pages/downloads](https://mblock.cc/pages/downloads) y descargamos la versión correcta a nuestro sistema operativo.</span>

<span style="color: rgb(0, 0, 0);">[![download-version.png](https://libros.catedu.es/uploads/images/gallery/2025-03/scaled-1680-/download-version.png)](https://libros.catedu.es/uploads/images/gallery/2025-03/download-version.png)  
*Licencia CC-BY -SA [https://docs.arduino.cc/tutorials/alvik/getting-started-mblock/](https://docs.arduino.cc/tutorials/alvik/getting-started-mblock/)*</span>

<span style="color: rgb(0, 0, 0);">En windows hacemos doble click en el archivo ejecutable descargado</span>

<span style="color: rgb(0, 0, 0);">[![installing-download.png](https://libros.catedu.es/uploads/images/gallery/2025-03/scaled-1680-/installing-download.png)](https://libros.catedu.es/uploads/images/gallery/2025-03/installing-download.png)  
*Licencia CC-BY -SA [https://docs.arduino.cc/tutorials/alvik/getting-started-mblock/](https://docs.arduino.cc/tutorials/alvik/getting-started-mblock/)*</span>

Lo instalamos, y entonces pedirá instalar los **drivers** que son pequeños programas que comunican el PC con el hardware del robot

[![install-drivers.png](https://libros.catedu.es/uploads/images/gallery/2025-03/scaled-1680-/install-drivers.png)](https://libros.catedu.es/uploads/images/gallery/2025-03/install-drivers.png)  
<span style="color: rgb(0, 0, 0);">*Licencia CC-BY -SA [https://docs.arduino.cc/tutorials/alvik/getting-started-mblock/](https://docs.arduino.cc/tutorials/alvik/getting-started-mblock/)*</span>

<span style="color: rgb(0, 0, 0);">Algunas veces la ventana de driver de la figura anterior esta escondida en el fondo, hay que minimizar ventanas para acceder a ella.</span>

<span style="color: rgb(0, 0, 0);">En MAC el archivo será un fichero mount con la extensión .dmg, por lo tanto hay que arrastar el icono a la carpeta de aplicaciones</span>

<span style="color: rgb(0, 0, 0);">[![install-mac.png](https://libros.catedu.es/uploads/images/gallery/2025-03/scaled-1680-/install-mac.png)](https://libros.catedu.es/uploads/images/gallery/2025-03/install-mac.png)  
*Licencia CC-BY -SA [https://docs.arduino.cc/tutorials/alvik/getting-started-mblock/](https://docs.arduino.cc/tutorials/alvik/getting-started-mblock/)*</span>

# Dos formas de programar con mBlock

{{@2986}}

# Preparando mBlock y el Arduino

Hay que hacer dos cosas

- Cuando te descargas **mBlock** por defecto está preparado para utilizarlo con los robots (mBot), hay que decirle que no vamos a conectar un robot, que la placa será **Arduino UNO**
- Nuestro **ARDUINO** no pueden entender mBlock por lo que hay que grabarle un software dentro (un software que se graba en una placa hardware se llama **FIRMWARE**, no se borra cuando se apaga) y este firmware entiende lo que le manda mBlock, es decir, si conectamos otro Arduino y no le hemos grabado el firmware, no entenderá a mBlock.

Lo mejor un tutorial muy breve:

<iframe allowfullscreen="allowfullscreen" frameborder="0" height="569" id="bkmrk--0" src="https://docs.google.com/presentation/d/e/2PACX-1vRLqEoJCT355xMCeCXsd0Wc7JcJRk9JkwLCyzEPb_h1S2IbYKK7OdUf33yWRIXq216Zgh9Da7-gIOq1/embed?start=false&loop=false&delayms=3000" width="100%"></iframe>

# Sensores

{{@7009}}

# Actuadores y otras salidas

{{@11506}}

# Kit de préstamo de CATEDU Arduino

El presente curso parte de que el alumno tiene el kit de préstamo que facilita CATEDU:

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

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

Se trata de una placa con un microcontrolador **(un micro ordenador**) y puertos digitales y analógicos de entrada y salida. ¿Por qué es tan famoso?

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

- Se trata de una placa de **hardware libre**
- Los programas para controlarlo son de **código abierto**
    - **Conexión por puerto USB** de esta manera, el Arduino obedece al programa del ordenador, pero si queremos: el programa lo grabamos dentro del Arduino y gracias a un conector, puede funcionar con pilas e independiente del ordenador

##### **Puertos:**

- **14 pines digitales** numerados del **0 al 13** y se pueden ser: 
    - De **salida** (sólo tiene dos estados LOW/HIGH)
    - De **entrada** (valores: mínimo 0V y máximo 5V)
- **6 pines de salida "*analógicos*"** 3-5-6-9-10-11 (*sí, has leído bien, se repiten con los anteriores*) tipo [PWM ](https://es.wikipedia.org/wiki/Modulaci%C3%B3n_por_ancho_de_pulsos)(es decir, lo de *salida analógica es una mentirijilla*, es en formato de pulsos con duración proporcional al valor analógico que se quiera representar)
- **6 pines analógicos de entrada** numerados como **A0 hasta A5** (valores: mínimo 0V y máximo 5V) y ellos responden en formato de número entre 0 y 1023.

no está nada mal ¿no? y además barato !!!

# Resistencias

La resistencias sirven para limitar la corriente. Lo utilizaremos en dos ocasiones:

- Limitar la corriente que circula en un diodo
- Limitar la corriente de carga de un condensador

También lo utilizaremos con el pulsador, para separar los voltios y para que tenga una tensión definida cuando el interruptor esté abierto (lo veremos en el siguiente capítulo)

Los valores de las resistencias en Ω se determina mediante la siguiente tabla:

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

# Placa Protoboard

Placa protoboard o placa de pruebas es un tablero con orificios

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

Estos se encuentran conectados eléctricamente entre sí de manera interna,el patrón de conexión es de líneas según este esquema:

[![image-1648632178895.png](https://libros.catedu.es/uploads/images/gallery/2022-03/scaled-1680-/image-1648632178895.png) ](https://libros.catedu.es/uploads/images/gallery/2022-03/image-1648632178895.png)[![image-1648632186997.gif](https://libros.catedu.es/uploads/images/gallery/2022-03/image-1648632186997.gif)](https://libros.catedu.es/uploads/images/gallery/2022-03/image-1648632186997.gif)

### <span style="color: rgb(22, 145, 121);">**¿Cómo está conectado?**</span>

La línea X (pintada de rojo) está toda conectada y la línea Y (pintada de azul) también.

Las líneas verticales 1 al 47 están conectadas verticalmente separados por la línea del medio, pero no horizontalmente (he pintado de verde las 4 primeras) es decir:

- A1 SI está conectado con B1C1D1E1
- A1 NO está conectado con A2B2C2D2E2
- A1 NO está conectado con F1G1H1I1J1

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

### **<span style="color: rgb(22, 145, 121);">¿Cómo se utiliza?</span>**

La línea X (pintada de rojo) se suele utilizar para poner la alimentación (5V en nuestro caso) y la línea Y (pintada de azul) se suele conectar a 0V

Las líneas verdes es donde se conectan los componentes de tal manera que se pueda construir el circuito

# Pulsadores

[![image-1648632240664.webp](https://libros.catedu.es/uploads/images/gallery/2022-03/scaled-1680-/image-1648632240664.webp)](https://libros.catedu.es/uploads/images/gallery/2022-03/image-1648632240664.webp)

Un pulsador nos permitirá crear entradas digitales al Arduino

Los pulsadores proporcionados abren y cierran los pines que están en vertical, pero no en horizontal pues están conectados (ver figura de la izquierda)

Luego tenemos que fijarnos en los pines, si están en línea son los pines que no están conectados cuando no se pulsa, por lo tanto son estos los que tienen que ir en líneas diferentes de la placa protoboard.

Los pines que están en paralelo están conectados, por lo tanto tienen que estar en la misma línea:

[![image-1648632276077.png](https://libros.catedu.es/uploads/images/gallery/2022-03/scaled-1680-/image-1648632276077.png)](https://libros.catedu.es/uploads/images/gallery/2022-03/image-1648632276077.png) ![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-f9y5ddki.png)

Pero ¿Cómo se conecta? un poco de teoría en la página siguiente.

### <span style="color: rgb(22, 145, 121);">**Esto esta mal**</span>

[![image-1648632330132.png](https://libros.catedu.es/uploads/images/gallery/2022-03/scaled-1680-/image-1648632330132.png)*Fuente Luis Llamas* ](https://libros.catedu.es/uploads/images/gallery/2022-03/image-1648632330132.png)*[https://www.luisllamas.es/leer-un-pulsador-con-arduino/](https://www.luisllamas.es/leer-un-pulsador-con-arduino/)*

La sencilla razón es la siguiente ¿cuando el interruptor o pulsador esté abierto qué tensión tendrá "Pin digital"?

En vista de protoboard sería así:

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

El primer pulsador cuando se cierra si que proporciona 5V al pin 12 por el cable azul pero... ¿y cuando no está pulsado?

El segundo pulsador cuando se cierra sí que proporciona 0V al pin 13 por el pin verde pero... ¿y cuando no está pulsado?

Ah!! y por supuesto ni se te ocurra esto, provocarías un cortocircuito:

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

*Fuente Luis Llamas [https://www.luisllamas.es/leer-un-pulsador-con-arduino/](https://www.luisllamas.es/leer-un-pulsador-con-arduino/)*

### <span style="color: rgb(22, 145, 121);">**Esto esta bien**</span>

Lo correcto es hacerlo a través de resistencias, hay dos configuraciones, pull down o pull up según si la resistencia está abajo o arriba

[![image-1648632523286.png](https://libros.catedu.es/uploads/images/gallery/2022-03/scaled-1680-/image-1648632523286.png)](https://libros.catedu.es/uploads/images/gallery/2022-03/image-1648632523286.png) ![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-noukkdmt.png)

la más utilizada y lógica es la primera pull down, pues lo lógico es que cuando se cierra el pulsador, queremos transmitir un 1 lógico

*Resumiendo: lo que tienes que hacer es una de estas dos configuraciones, la opción recomendada es PULL UP para que OFF = 0 y ON = 1*

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

*Fuente Luis Llamas [https://www.luisllamas.es/leer-un-pulsador-con-arduino/](https://www.luisllamas.es/leer-un-pulsador-con-arduino/)*

El valor de la resistencia puede ser de valores de algunos k

Visto en la placa el formato **pull down**:

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

Es decir (en la foto el cable verde del anterior dibujo es el blanco en la foto):

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

### <span style="color: rgb(22, 145, 121);">**CONEXIÓN CON ARDUINO**</span>

Dos ejemplos sencillos para utilizar el pulsador, utilizaremos la resistencia configuración pull down y lo conectaremos al Arduino por A0

Utilizaremos la configuración PULL-DOWN es decir la resistencia "abajo" y el pulsador arriba, de esta manera:

- Cuando e pulsador está **abierto**, entonces enviamos un **'0**' lógico al Arduino.
- Cuando e pulsador está **cerrado**, entonces enviamos un **'1'** lógico al Arduino.

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

La forma de conectarlo en la placa Protoboard es (en este ejemplo lo conecta al pin digital 4):

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

Si quieres saber su contraria (Pull-up) [visita esta página.](https://catedu.github.io/programa-arduino-mediante-codigo/resistencias_pullup_y_pulldown.html)

# LED

LED= light-emitting diode: es un diodo emisor de luz que tiene polaridad, es decir, que tiene + y -

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

### <span style="color: rgb(22, 145, 121);">**¿Cómo se conecta?**</span>

Pues a través de una resistencia, de valor de algunos k o centenares de Ω, cuanto más pequeña más se ilumina pero más peligro de fundir el led

En el ejemplo : conexión a la salida del pin 13 :

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

NOTA: A veces conectaremos el LED diréctamente, por simplificar, pues el ARDUINO TIENE UNA RESISTENCIAS INTERNAS DE 30k pero no es una buena práctica

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

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

<p class="callout danger">Mira el siguiente circuito **NO LO HAGAS SÓLO MÍRALO Y OBSERVA:**</p>

#### La alimentación

- La lí<span style="color: #444444;">nea</span><span style="color: #444444;"> X **en esta placa está abajo del todo (para que veas otro modelo)** y se ha conectado con los 5V del Arduino con un cable rojo</span>
- <span style="color: #444444;"> - La línea Y es la segunda empezando de abajo y se ha conectado a 0V (GND del Arduino) con un cable azúl </span>

#### El pulsador

- Se ha conectado un pin a masa a través de una resistencia y un pequeño cable azul
- Ese pin será la entrada al Arduino y con un cable negro va al pin digital 8 del Arduinio
- El otro extremo a 5V con un cable rojo

#### El LED

- Un extremo (el ánodo pata lárga) a las diferentes salidas digitales del Arduino (pines 7-6-5-4-3-2) a través de una resistencia
- El otro extremo (cátodo pata corta) a masa-Linea Y

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

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

# Condensador

## **<span style="color: rgb(22, 145, 121);">¿Qué es?</span>**

Es un elemento que consta de dos placas separadas que son capaces de cargarse eléctricamente, su capacidad se mide en Faradios. Se puede interpretar como un globo que nos permite hincharlo de aire, y la capacidad los litros. Pero también pueden **explotar** !!! luego lee con atención:

<p class="callout danger">**ATENCIÓN** Los condensadores (*normalmente a partir de 1μF son electrólíticos*) tienen **POLARIDAD QUE ES IMPORTANTE** </p>

**RESPETARLA,** es decir, tienen un pin marcado con el signo (-) normalmente con franja blanca que tiene que ir al (-) o masa (GND 0V) de lo contario, revientan, con el consecuente peligro, más peligrosos cuanto más capacidad tienen.

<p class="callout danger">***ATENCIÓN** Los condensadores tienen una tensión máxima de trabajo, marcado en el propio condensador, en nuestro caso los condensadores marcan 25V, luego se pueden utilizar sin problemas con el Arduino que la tensión máxima es 5V. Como si fuera la máxima presión que aguanta el globo antes de explotar.*</p>

<span style="color: rgb(0, 0, 0);">¿No te lo crees? pues mira..</span>

<iframe allowfullscreen="allowfullscreen" height="314" src="https://www.youtube.com/embed/sfAbv-0hQsU" width="560"></iframe>

### **<span style="color: rgb(22, 145, 121);">Carga y descarga</span>**

Si lo hacemos a través de una resistencia, tarda un tiempo a cargarse y también a descargarse (como si en el globo lo deshincháramos pero estrechando la boca)

El circuito de carga sería

[![image-1648632777199.png](https://libros.catedu.es/uploads/images/gallery/2022-03/scaled-1680-/image-1648632777199.png) ](https://libros.catedu.es/uploads/images/gallery/2022-03/image-1648632777199.png)![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-o4heu7jo.png)

Fíjate que el lado (-) (la banda blanca) está conectado a GND

El **circuito de descarga** sería

[![image-1648632819763.png](https://libros.catedu.es/uploads/images/gallery/2022-03/scaled-1680-/image-1648632819763.png)](https://libros.catedu.es/uploads/images/gallery/2022-03/image-1648632819763.png) ![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-bmhxihhf.png)

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

El tiempo de carga y de descarga se calcula con la fórmula :

T = 5 R C

En el caso de los circuitos de arriba T = 5 \* 100k \* 10μ = 5 \* 100 000 \* 0.00001 = 5 segundos

Igual que un globo, la carga evoluciona muy rápidamente al principio, pero a medida de que se va llenando, cuesta más, la gráfica de carga de un condensador es la siguiente:

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

Y para la descarga es la siguiente

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

# LDR

LDR= Light Depended Resistor es una resistencia que disminuye su valor cuando aumenta la luz.

Si se coloca en serie con una resistencia de un valor parecido, el punto de unión (cable verde) tiene una tensión variable con la luz que lo puede leer Arduino, en este esquema lo lee por la entrada A0

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

Si hay luz, el LDR disminuye su resistencia por lo tanto disminuye el valor de la tensión en A0, y viceversa.

# Sensor ultrasonidos

El sensor dispone de un emisor T que emite una señal de ultrasonidos (a veces no es ultrasonidos, pues algunos lo pueden oir) y un receptor R que capta el eco del objeto que está delante de él. Su rango de detección va desde 2cm a 450cm

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

Tiene cuatro pines, dos son la alimentación que conectaremos Vcc a 5V, GND a 0V y los otros dos son los importantes:

- Trigger que emite un pulso
- Echo que recibe el pulso

Según el tiempo entre el pulso y el eco (T), la distancia a la cual se encuentra el objeto es : distancia = T \* velocidad\_sonido/2

Podemos conectar el pin trigger y echo donde queramos de las entradas y salidas digitales del Arduino, en este curso vamos a tomar como criterio:

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

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

**No tenemos que utilizar la fórmula para calcular la distancia, mBlock ya lo hace** y la instrucción es muy sencilla, sólo hay que proporcionarle qué pin hemos conectado el trigger y qué pin hemos conectado el echo y él nos devuelve la distancia en centímetros:

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

# Métodos para interactuar los objetos y el robot (dispositivo)

{{@13349}}