1 00:00:11,380 --> 00:00:18,620 En este vídeo vamos a mostrar una pequeña práctica del manejo del sensor de ultrasonidos 2 00:00:18,620 --> 00:00:28,059 de Arduino modelo HC-SR04, que es el más habitual que podemos tener en un centro educativo. 3 00:00:28,800 --> 00:00:34,600 Para ello hemos desarrollado el programa que se muestra en la pantalla. 4 00:00:34,600 --> 00:00:46,299 Básicamente vamos a utilizar un sensor de ultrasonidos que va a detectarnos la distancia a la que se puede encontrar o a la que se encuentra un obstáculo 5 00:00:46,299 --> 00:00:58,679 Y también vamos a utilizar un zumbador para mandar una señal en el caso de que la distancia a la que se encuentra el objeto sea excesivamente pequeño 6 00:00:58,679 --> 00:01:06,879 Vamos, básicamente vamos a simular el sensor de aparcamiento del cual disponen los coches actuales. 7 00:01:06,879 --> 00:01:29,540 Para ello, el sensor de ultrasonido lleva dos señales, una de trigger y una de eco. La de trigger va a ser la señal que nos va a permitir lanzar un pulso de ultrasonido y la de eco va a ser una señal de entrada, de análisis de la señal de retorno de ese pulso que hemos mandado mediante el trigger. 8 00:01:29,540 --> 00:01:38,920 Ambas señales han de estar conectadas en dos entradas o salidas digitales que permitan PWM 9 00:01:38,920 --> 00:01:43,459 En el caso del zumbador exactamente lo mismo 10 00:01:43,459 --> 00:01:48,140 Puesto que vamos a dar una señal con una cierta frecuencia mayor o menor 11 00:01:48,140 --> 00:01:51,939 Por tanto necesitamos una señal con PWM 12 00:01:51,939 --> 00:01:57,379 También nos hemos declarado dos variables tanto de duración como de distancia 13 00:01:57,379 --> 00:02:05,680 y una señal de frecuencia que nos va a permitir cambiar la frecuencia del tono que generamos 14 00:02:05,680 --> 00:02:14,099 cuando el obstáculo esté a una distancia quizás demasiado pequeña. 15 00:02:14,520 --> 00:02:22,240 En el setup del Arduino vamos a decir que el trigger va a ser una señal de salida, 16 00:02:22,240 --> 00:02:28,759 Por tanto, con la función pinMode vamos a definir que ese trigger sea una salida. 17 00:02:29,199 --> 00:02:32,879 También mediante la misma función pinMode vamos a decir que el eco es una señal de entrada. 18 00:02:33,560 --> 00:02:38,759 Recuerdo que el trigger lo que hace es lanzar el pulso y eco lo que hace es leer ese pulso. 19 00:02:39,539 --> 00:02:42,580 Y luego el zumbador lo vamos a declarar como una salida. 20 00:02:42,819 --> 00:02:50,979 En el zumbador lo que vamos a hacer es escribir una señal con una cierta frecuencia y una cierta repetición. 21 00:02:51,900 --> 00:03:01,780 También vamos a inicializar el monitor serie para que eso nos permita ver los valores de lectura que estamos haciendo del sensor de ultrasonido. 22 00:03:02,659 --> 00:03:14,900 Y también en el setup hemos optado por incluir un pitido inicial de 500 microsegundos de duración y frecuencia 2000 Hz, simplemente como señal de inicialización. 23 00:03:14,900 --> 00:03:25,960 Una vez hecho el setup, que recordemos que solo se realiza una vez cuando se carga el programa de Arduino, se entra en el loop que se va a hacer de forma ya infinita. 24 00:03:26,879 --> 00:03:33,379 Lo primero que vamos a hacer en el loop, cada vez que lo repitamos, es hacer un digital write de trigger a low. 25 00:03:33,560 --> 00:03:41,300 Eso lo que hace es poner a low el trigger, o sea, cerciorarnos o asegurarnos de que el trigger está a nivel bajo. 26 00:03:41,300 --> 00:03:57,080 Y lo hacemos durante un tiempo pequeño, nos vale con 4 milisegundos. Luego vamos a activar el pulso durante un tiempo muy pequeñito, en concreto lo activamos durante un milisegundo. Y luego volvemos a desactivar el pulso. 27 00:03:57,080 --> 00:04:13,020 Lo que hacemos es hacer la lectura de la señal de eco y lo cargamos en duración. En duración lo que vamos a tener es cuánto tiempo tarda en ir y volver ese pulso. 28 00:04:13,020 --> 00:04:31,279 Y luego el valor de duración, que es como repetimos que es un tiempo, en milisegundos, lo pasamos a distancias a través del factor de conversión 58,8 que viene en el datasheet del fabricante del HCSR04. 29 00:04:31,279 --> 00:04:38,639 Una vez que tenemos el valor de distancia, ya sabemos a qué distancia está precisamente el obstáculo que tengamos delante 30 00:04:38,639 --> 00:04:45,120 y lo que hacemos es hacer un Serial Print Ln de la distancia, es decir, escribimos cuánto vale esa distancia 31 00:04:45,120 --> 00:04:47,519 y paramos 200 milisegundos. 32 00:04:48,199 --> 00:04:51,540 Hasta ahí, lo único que estamos haciendo, o lo único entre comillas que estamos haciendo, 33 00:04:51,720 --> 00:04:54,300 es hacer la lectura de a qué distancia se encuentra ese obstáculo. 34 00:04:54,300 --> 00:05:11,699 Y luego hemos optado por incluir la parte del zumbador, diciendo que si la distancia es menor a 100 centímetros, porque la distancia nos la va a dar en centímetros, si es menor de 100 centímetros y es mayor que 0, lo que hacemos es activar el zumbador. 35 00:05:11,699 --> 00:05:31,779 Y lo vamos a activar en el pin 3, el fumador simplemente es el pin 3, en el pin en el que tenemos conectado el fumador, con la frecuencia que habíamos definido para el pulso y lo que hacemos es que el pitido o la duración de ese pitido sea mayor o menor en función de la distancia. 36 00:05:31,779 --> 00:05:42,279 Cuando la distancia es grande, nos interesa que el pitido tenga una duración corta, mientras que cuando la distancia es pequeña, nos interesa que la duración sea larga. 37 00:05:42,339 --> 00:05:44,759 De ahí este factor de 1.000 partido distancia. 38 00:05:45,240 --> 00:05:49,180 Y hacemos también un delay, una parada, que sea también proporcional a la distancia. 39 00:05:49,639 --> 00:05:54,519 Cuanto más distancia tengo, menos problemas tengo para chocarme con ese obstáculo. 40 00:05:55,019 --> 00:05:57,040 Si está muy cerca, me interesa que el delay sea pequeño. 41 00:05:57,420 --> 00:05:58,360 Entonces se va a ir ajustando. 42 00:05:58,360 --> 00:06:07,019 En este momento lo que voy a hacer es mostrar en el propio Arduino el conexionado que hemos hecho 43 00:06:07,019 --> 00:06:12,339 Hemos conectado el sensor de ultrasonidos que lo tenemos aquí donde estoy marcando 44 00:06:12,339 --> 00:06:16,639 A VCC, el cable naranja va a la señal de 5 voltios 45 00:06:16,639 --> 00:06:25,500 A GND, este cable negro va a esta línea en la cual tenemos GND, tenemos la masa 46 00:06:25,500 --> 00:06:37,699 Y luego tenemos en el cable verde el trigger, que es una señal, como decíamos, de salida, que la llevamos al pin número 5, como se puede ver en el programa. 47 00:06:38,300 --> 00:06:40,500 Pin número 5, aquí lo tenemos. 48 00:06:41,360 --> 00:06:50,600 Y en el cable amarillo, a través de una resistencia de 300 ohmios, esto simplemente es para limitar la señal de entrada al microcontrolador y protegerlo, 49 00:06:50,600 --> 00:06:55,339 una señal de 330 ohmios que limita simplemente, como digo, la corriente, va al pin 6. 50 00:06:55,500 --> 00:07:14,680 Por otra parte, tenemos conectado en el pin 3 con el cable rojo el zumbador. El zumbador también lo hacemos pasar por una resistencia de 100 ohmios precisamente por la misma razón de que las señales del Arduino no superen los 40 miliamperios que tienen de límite. 51 00:07:14,680 --> 00:07:22,800 Y la otra pata la tenemos conectada, la voy a conectar ahora mismo a ese punto de ahí para poner el zumbador 52 00:07:22,800 --> 00:07:24,860 Lo tenía quitado para que no estuviera pitando 53 00:07:24,860 --> 00:07:27,180 Entonces lo que hacemos ahora es cargar el programa 54 00:07:27,180 --> 00:07:29,079 Vamos a cargarlo 55 00:07:29,079 --> 00:07:31,339 Ahí estamos cargándolo 56 00:07:31,339 --> 00:07:37,509 Y vamos a activar el monitor serie 57 00:07:37,509 --> 00:07:43,050 Y ahí vemos que la distancia que nos marca el monitor serie es de dos metros y pico 58 00:07:43,050 --> 00:07:48,490 Ahora mismo delante del sensor de ultrasonidos hay una pared que estará aproximadamente a 2 metros y pico. 59 00:07:49,290 --> 00:07:55,050 Voy a ir acercando mi mano, ahí está mi mano puesta, estará en torno a unos 30-40 centímetros, 60 00:07:55,490 --> 00:08:01,149 voy acercándola y conforme voy acercándola más, se oye el pitido con una frecuencia mayor. 61 00:08:01,149 --> 00:08:06,850 Estamos en 16, 18, 14, sigo acercándola, sigo acercándola, sigo acercándola, 62 00:08:06,850 --> 00:08:15,850 sigo acercándola hasta que cuando está excesivamente cerca, ahí la tenemos en 2-3 centímetros, el pitido es continuo. 63 00:08:19,470 --> 00:08:25,569 Espero que esta práctica sea de utilidad porque es la verdad que es muy agradecida con los alumnos 64 00:08:25,569 --> 00:08:32,250 para mostrar el sensor de ultrasonido sin una programación relativamente sencilla.