Bienvenidos a esta clase.
Empezamos con el LUV.
Aquí me gustaría hacer un un detalle.
Si bien bueno ya tenemos cierta experiencia ya le hemos sacado esas rueditas de ayuda a la bicicleta.
Creo que podemos ir bastante solos por eso es que este código lo estamos describiendo a manera de inspiración.
Ya a este nivel que tenemos hoy en día de poco sirve que nos pongamos a desarrollar y Kiyoshi explicándoles
como razones para que ustedes razonan.
Ustedes ya saben razonar y seguro mejor que yo cómo estructurar este código pero para él lo bueno para
despuntar el vicio razonemos juntos o como habremos visto lo que hace Alan es hacer un barrido hacia
la derecha con el sensor ultrasónico midiendo midiendo y una vez y una vez que llega a la derecha rápidamente
vuelve a la izquierda y vuelve a repetir la operación.
Entonces veamos cómo podemos hacer ese efecto y como ya se imaginarán lo haremos con un favor entonces
miren aquí me valgo de Atom pero no vale la pena escribirlo a mano for con una variable que nacerá aquí.
Yo le voy a poner de momento esto va a ser una especie de pseudocódigo para que entendamos ya.
Después lo implementamos en serio entre comillas con un foro que va a arrancar en cero
y se va ejecutar mientras ahí sea menor a 180 ya se dan cuenta por dónde vienen los tiros y el incremento
que vamos a hacer es y más más el foro clásico entonces entonces no serán las llaves.
Ahora sí aquí adentro del foro lo primero que yo puedo hacer es por ejemplo esto es pseudocódigo no
se hace así yo espero hacerlo rápido para que sea didáctico.
Llamaré a alguna función que mueva el serbo y le pasaré.
Y como oposición entonces analicemos lo que va a hacer esto cada vez que inicie el foro.
Ahí vale cero arranca en cero.
Entonces la primera vuelta del foro estará diciéndole al serbo ponete en cero grados la segunda en 1
2 3 y así girará todo hacia la derecha cuando llegue a 180 que es la apertura máxima del serbo.
Qué va a suceder otra vez le estoy diciendo El forcé reinicia por qué.
Por qué se reinicia el foro porque el foro encima está dentro de un loop The Loop.
Así que una vez que se termine de ejecutar este foro empezar otra vez de cero y volver a repetir dice
con esto generó ese efecto de izquierda derecha bueno la izquierda a la derecha.
Bueno la izquierda a la derecha.
Entonces como ven estoy usando el valor de i como el valor del ángulo que le estoy pidiendo que ponga
el cero entonces en una línea posterior yo aprovecho.
Muevo el ser un grado y digo distancia supongamos que esto de la distancia lo guardo en la variable
de incito pseudocódigo esto no existe.
Es un esquema 2 entonces yo en la tercera línea podré llamar a una función que es enviar por m QTTF
y podré mandar tanto el ángulo como la distancia.
Porque a esto se lo tengo que mandar al panel a donde tenemos el radar para que vaya dibujando el ángulo
y que va encontrando como obstáculos adelante el robot tengan en cuenta que esto está muy bueno porque
si vamos a ver de manera sincronizada en la realidad el sensor ultrasónico totalmente digo sincronizado
con esta barra del radar aquí.
A esto me refiero si en un instante veo que el censor de Alan está apuntando en esta dirección.
Serían 45 grados.
Voy a ver que aquí en tiempo real se está dibujando esto o sea todo lo que va a suceder va a ser en
tiempo real y voy a ver los barridos en tiempo real con la gráfica de los o por lo menos intentaremos
generar una gráfica con los relieves que vayamos encontrando por eso necesito enviar esos dos datos
entonces miren que lo que pongo adentro del foro me sirve no solamente para mover Cervo sino para calcular
la distancia después de cada movimiento de cero y para hacer un envío de datos en cada movimiento de
cero podrían haber otras técnicas que ustedes podrían ensayar.
Qué pasa si yo voy midiendo y moviendo el serbo y con eso armo un mapa y envío todo el mapa junto al
servidor.
De momento no está implementado de este lado así habría que modificar bastante el código para que funcione
pero estaría bueno para brókers que no admiten mucho envío de mensaje aparte.
La contra es que perderíamos ese tiempo real entre comillas porque primero barrería el robot y después
tendría en la gráfica todas juntas de un solo golpe.
De este lado
miren qué otras cosas útiles puedo hacer acá.
Mientras INTT y arranca en cero pero no con una que arranca en ceros mientras sea menor a 180.
Entonces esto puede ser en vez de cero.
Puede ser el ángulo mínimo que yo permito que es la variable que yo tenía arriba.
Ya sabemos que para este ejemplo no hay mucha diferencia que el ángulo mínimo es cero y el máximo 180.
Pero si yo quisiera modificar fácilmente los valores en vez de venir a tocar acá en el formato con los
valores arriba y es mucho más fácil entonces aquí pondré la variable Max sólo vamos a hacer en serio
entre comillas bueno esto se vuelve mucho más dinámico porque ahora es mucho más fácil alterar estos
valores estos valores y este es el incremento.
Ahora estamos moviendo el servo grado por grado midiendo grado a grado la distancia que tenemos con
el sensor ultrasónico yo también podría medir acá cada dos grados cada tres cada cinco.
Entonces bueno daría saltos el serbo y eso también es interesante.
Entonces teníamos una variable que nos indicaba eso el step el paso que le dábamos.
Entonces aquí podríamos tranquilamente decir y mientras y igual y más Steck el paso.
Entonces qué quiero hacer con esto.
Darles una idea de cómo razoné lo que vemos a continuación el verdadero loop
veamos en la próxima clase cómo encaramos y resolvemos lo que hay acá adentro con las ideas que fuimos
plasmando hace nada más que un rato.
Gracias.