====== A06. Sensor de ultrasonidos ====== \\ El KEYBOT lleva un sensor de ultrasonidos para poder ver lo que hay delante. Son los ojos del robot. Funciona de forma similar al sistema que utilizan los murciélagos, ya que se guían por ultrasonidos. \\ {{ :es:manuals:keybot:keybot_87.png?nolink |}} \\ \\ El modo de funcionamiento de este sensor es muy sencillo. Está formado por un emisor y un receptor de ultrasonidos (no perceptibles por el oída humano). Cuando una onda ultrasónica choca con un objeto se refleja como un eco. Al devolverla es detectada por el receptor. Para saber la distancia del objeto, se calcula el tiempo que tarda la señal desde que se emite hasta que se vuelve a detectar (conociendo que la velocidad del sonido es de 340m/s). El sensor mide distancias entre 2,5cm y 3cm. El sensor está conectado en A0-D2. \\ {{ :es:manuals:keybot:keybot_88.png?nolink |}} \\ Haremos un programa que encienda el led si la distancia medida es inferior a 25cm y que se apague si la distancia es mayor. \\ {{ :es:manuals:keybot:arduinoblocks_1646135100128.png?nolink&400 |}} \\ ArduinoBlocks tiene un bloque específico por la medida de la distancia con el sensor de ultrasonidos. \\ {{ :es:manuals:keybot:keybot_89.png?nolink |}} \\ Ahora nos hará falta un nuevo bloque para decidir si ese valor de distancia es mayor o menor. Este bloque es “si x hacer x”. \\ {{ :es:manuals:keybot:keybot_90.png?nolink |}} \\ También necesitaremos establecer la condición lógica. \\ {{ :es:manuals:keybot:keybot_91.png?nolink |}} \\ Y el valor matemático de la comparación. \\ {{ :es:manuals:keybot:keybot_92.png?nolink |}} \\ Ahora empezaremos a hacer el programa. Primero montaremos la estructura del condicional. Y añadimos los bloques correspondientes al estado del led. \\ {{ :es:manuals:keybot:arduinoblocks_1646135475082.png?nolink&500 |}} \\ Con este programa no funciona del todo bien por qué el led se apaga intermitentemente. Esto se debe a que no almacenamos la distancia del sensor en ninguna variable. Por tanto, deberemos crear una variable llamada “//distancia//”. Tampoco le estamos dejando tiempo en el sensor de ultrasonidos que calcule la distancia. Le pondremos un tiempo de espera mínimo de 10ms. \\ \\ El programa que debemos hacer es el siguiente: \\ {{ :es:manuals:keybot:arduinoblocks_1646135554861.png?nolink&500 |}} \\ \\ Actividad de ampliación: modifica el programa para que encienda el led si la distancia es menor o igual a 12cm y enviará el valor del sensor a la “Consola” en cualquier caso. \\ \\ //**Solución:**// \\ {{ :es:manuals:keybot:arduinoblocks_1646135709478.png?nolink&700 |}} \\ \\ \\