Bueno ahora sí vamos a redondear con lo último que nos falta porque ya movemos el serbo medimos distancias
enviamos esos datos al broker para que impacten en el radar nos fue poco y nada.
Solamente necesitamos que ahora el robot obedezca las órdenes que llegan desde el broker.
Entonces habíamos dicho de que esta función es llamada por la librería.
Cuando llegó un mensaje esta función recibe algunos parámetros.
El tópico recibe la carga o sea el mensaje propiamente dicho y recibe el largo entero que indica el
largo del mensaje que acaba de llegar.
Entonces cuando eso suceda miren cómo vamos a hacer las cosas preparó una variable llamada incoming
o entrante es un string para guardar ese mensaje que está por llegar.
Aprovecho y por terminal por sería el saco mensaje recibido desde imprimo el tópico para que me quede
mensaje recibido desde iba a aparecer el tópico raíz más lo que me interesa Movement
bien luego con este for lo que hago es recorrer el payload porque el payload es un array de bits que
lo puedo transformar en caracteres para decodificar entre comillas el mensaje.
Entonces recorro voy a recorrer el payload con este foro lo voy a.
Vale la pena explicarlo desde cero.
Digo for Forca arranca desde cero mientras la I sea menor que al tamaño.
Miren qué gentil la función.
Por eso me pasan el tamaño de El mensaje para utilizarlo aquí en este foro.
Mientras sea menor que el tamaño de ese Array y incremento e incremento quise decir uno a uno qué es
lo que hago en el foro.
Bueno había creado este array vacío incoming y le voy a ir concatenando letra por letra del mensaje
simple ahora voy a hacer lo siguiente Tengo miedo que antes o después del mensaje se filtre un espacio
en blanco.
A veces es normal entonces con la función o el método trim que tienen los strings lo puedo dar.
Así se dice en la jerga y es limpiarle cualquier carácter raro en los extremos más que raro espacios
en blanco.
Una vez que todo me quedó limpio aprovecho el imprimo para ver que me está llegando
ahora qué es lo que yo espero que llegue por aquí como mensaje.
Bueno las órdenes que moverán el motor
ahora yo estoy seguro de que el único mensaje que me puede llegar va a venir por el tópico movemento.
Entonces no hace falta en teoría que yo controle si el tópico que me llega es muy ment ahora si veo
que hago porque no voy a recibir cosas de otro tópico.
Pero ojo el primer problema que tengo es que yo desde acá mismo estoy enviando al bróker datos que si
no los filtro de esta manera los voy a recibir a esos mismos por acá.
No quiero contaminar la cosa además de que a futuro puedo recibir otras cosas que yo quiera mandarlas
por otros tópicos no.
Supongamos que Alan le ponemos una linterna algo que alumbre para adelante.
Bueno le llamaremos eso un LED.
Esa orden vendrá bajo el tópico el LED.
Entonces si sirve discriminar por qué tópico me está llegando la información.
Entonces digo control o chequeo.
Si el tópico miren que acá tuve que hacer un malabarismo porque quiero comparar.
En definitiva todo esto es una Extrem.
Miren con.
El tópico raíz.
Bueno uso la variable.
Podría haberlo pegado y Jarkov también directamente al Amusement.
Si lo que me llega es tópico raíz más Movement genial es porque están llegando cosas desde ese tópico.
Lo comparo con el tópico de llegada miren esta comparando las dos cosas.
Si esto se cumple es por qué bola nos están diciendo que nos movamos por algún lado entonces cuáles
son las posibilidades de los de los mensajes que me pueden llegar aquí a este tópico.
Eso lo tenemos comentado por aquí momento paciencia.
Llegado aquí está pues puede ser left izquierda raíz derecha straight derecho para adelante o Back para
atrás son strings.
Estas son las cuatro posibilidades que tengo entonces
dónde estaba el calor aquí entonces una vez que confirmo que el mensaje lo estoy recibiendo desde el
tópico Movement voy a llamar a la función Moment y lo voy a pasar el tópico perdón.
El mensaje que me llegó que puede ser adelante izquierda derecha atrás veamos la función moment días
la tengo por el barrio.
Ahí está ben mugen recibe un string y yo le he llamado el lado pero puede ser otra cosa creo que no
sé si describe bien lado side Action.
Podría haber sido.
No importa.
En todo caso pregunta si lo que me está llegando es derecho.
Bueno lo que hago es miren
al PIN en EEUU N1 lo pongo bajo el N° en alto.
Esto hace que por ejemplo que la rueda izquierda gire en este sentido y esto hace que la rueda izquierda
gire también en el mismo sentido consecuentemente voy decodificando qué es lo que tengo que hacer con
cada par de ENES N1 y N2 es una rueda N3 N4 es la otra rueda.
Aprovecho para que quede claro vamos a poner a cada rueda 1
rueda 2.
Entonces dijimos si los dos están en Low esta rueda no gira con esta configuración gira para un lado
y si tuviera en vez de Loja y tuviera hilo giraría para el otro.
Pero qué es lo que pasa.
Qué otra manera tengo yo de invertir el sentido de giro.
Bueno los cables que van de la placa controladora al motor si yo los invierto en motor o giro para el
otro lado entonces si ustedes respetan esto tal cual yo lo puse acá no necesariamente va a ser que les
funcione bien lo que van a tener que hacer es ver con qué configuración gira para el lado deseado.
Si esto a ustedes les queda al revés si ustedes prueban esto como esta no va para adelante y una de
las ruedas supongamos que esta rueda está girando para el otro lado bueno tienen dos opciones o corrigen
esto acá van a poner la hoja ahí o se van al robot y le dan vuelta a los cables del motor se entendió.
No lo voy explicar más porque es bastante obvio si me dicen que vamos para atrás voy a hacer algo muy
sencillo yo como hice copié este que tenía acá arriba quizás me funcionaba bien lo pedí acá abajo e
invertí todos todos los valores los que estaban laid y lo puse en lo que estaban ahí y lo puse el logo
y lo que estaba el logo lo puse en eso quería decir bueno para el lo que hago es una rueda girando por
un lado y la otra para el otro hago lo opuesto para right y esto creo que es el más importante el stop
todos en Low les cuento algo.
Miren lo voy a mostrar acá cuando eso presionó la tecla doblé y no importa si si la presione una vez
o la mantenga presionada desde el radar lo que voy a hacer es mandar una doble perdón Strait sería la
doble vez para adelante Strait.
Voy a mandar aquí entonces el robot se va a poner a marchar sin parar.
Yo no quiero que se estrelle cuando voy a mandar el mensaje Stop cuando suelte la tecla que había apretado
desde el panel desde javascript.
Entonces cada vez que yo suelto una tecla mando el mensaje Stop para que se detenga.
Entonces es poco probable pero tengamos en cuenta de que si yo lo hago andar para adelante y si cayera
la conexión nuestro querido amigo Alan seguiría funcionando eternamente para adelante.
Podría colisionar.
Es bueno ponerle paragolpes.
Bueno cosas que podremos mejorar.
Sin lugar a dudas ya tenemos completo entonces todo el código de Alan.
Cómo funciona.
En el camino podrás haber probado seguramente variantes cosas nuevas distintas.
Cualquier inconveniente lo vamos a intentar solucionar seguramente en próximas clases vamos a hablar
sobre el código JavaScript ya excede este curso pero vale la pena desmenuzar un poco avienten a tiempo
ya estaré subiendo el código JavaScript a un repositorio por si en vez de querer usarlo cinegéticos
escultor lo querés llevar para tu casa para un Jostein etc..
Muchas gracias.
Espero ver muchísimos Alan muchísimos Alán me encantaría saber no hace falta que se le pregunte saben.
En honor a quien le pusimos alas.
Bueno me encantaría ver muchos Alan recorriendo el mundo y sobre todo las fotos videos.
Esta vez anímense a compartir y sobre todo a mostrar cuan mejor salieron sus Alán al nuestro.
Gracias.