es:pibot:challenge1:softwaremac
Diferencias
Muestra las diferencias entre dos versiones de la página.
es:pibot:challenge1:softwaremac [2021/10/15 15:28] – creado jstruebel | es:pibot:challenge1:softwaremac [2022/10/20 19:53] (actual) – editor externo 127.0.0.1 | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
+ | ====== Configuración del Software ====== | ||
+ | |||
+ | - Abra el código de Visual Studio desde el directorio de Applications en la unidad flash | ||
+ | - Haga clic en el pequeño cuadrado verde en la esquina inferior izquierda de la pantalla.\\ \\ <WRAP box>{{ : | ||
+ | - Seleccione la opción " | ||
+ | - Escriba " | ||
+ | - Haga clic en el botón "Open Folder" | ||
+ | - Seleccione la carpeta " | ||
+ | - Seleccione el archivo picar-line-tracking.py en la lista de la izquierda\\ \\ <WRAP box>{{ : | ||
+ | - Seleccione File-> | ||
+ | - Use la información a continuación para cambiar el código para que PiBot resuelva el laberinto | ||
+ | - Una vez que se completen los cambios en el código, guárdelo con File-> | ||
+ | |||
+ | ===== Explicación del Software ===== | ||
+ | |||
+ | * Lea la presentación que se encuentra [[https:// | ||
+ | * Realice los cambios para manejar todas las decisiones para las intersecciones en el ciclo while al final del archivo | ||
+ | * Cree nuevas funciones para cualquier código que necesite usar varias veces y para mantener el código en el ciclo while legible | ||
+ | * Use una lista para guardar las decisiones para que PiBot pueda completar el laberinto en el camino más corto la segunda vez a través\\ \\ <WRAP round tip>Para convertir una variable en una lista, asígnele un valor entre corchetes. <code python> | ||
+ | listvar.pop(0) # Eliminar el primer elemento | ||
+ | listvar.pop(1) # Quitar el segundo elemento | ||
+ | listvar.pop(-1) # Eliminar el último elemento | ||
+ | listvar.pop(-2) # Eliminar el segundo del último elemento | ||
+ | </ | ||
+ | myval = listvar[1] # Recuperar el segundo elemento | ||
+ | lastval = listvar[-1] # Recuperar el último elemento | ||
+ | almostlastval = listvar[-2] # Recuperar del segundo al último elemento | ||
+ | </ | ||
+ | ivar2 = ivar + 3 | ||
+ | myval = listvar[ivar] # Recupera el cuarto elemento | ||
+ | myval2 = listvar[ivar2] # Recupera el séptimo elemento | ||
+ | </ | ||
+ | * La lógica para conducir el PiBot a lo largo de la línea debe tomarse lo más rápido posible, pero las decisiones que determinan si está en una intersección deben tomarse más lentamente. | ||
+ | * Use un contador de bucles en el bucle while y solo tome decisiones sobre cómo encontrar las intersecciones cada ' | ||
+ | * Puede haber casos en los que PiBot " | ||
+ | * Imprima información mientras PiBot toma decisiones para ayudar a depurar si las cosas no salen como esperaba | ||
+ | * Las ruedas PiBot se colocarán en la línea de salida, por lo que para los sensores se verá como una línea recta por delante. | ||
+ | * El PiBot debe detenerse cuando llegue a la caja al final del laberinto. | ||
+ | * El programa puede hacer una pausa cuando llega al final del laberinto y esperar a que se presione una tecla para indicarle que comience de nuevo cuando vuelva al comienzo. | ||
+ | * Utilice la función " | ||
+ | * Una forma más avanzada de manejar el reinicio es guardar la ruta a un archivo y luego salir cuando llega al final. De esa manera, puede leer el archivo al principio si existe y ejecutar el mismo laberinto incluso después de apagarlo. Consulte [[https:// | ||
+ | * Si desea ser realmente elegante, haga que el programa obtenga el nombre del archivo de un parámetro ingresado cuando se ejecuta para que se puedan guardar múltiples laberintos y volver a ejecutar cuando lo desee\\ \\ <WRAP round tip> | ||
+ | * Para un desafío adicional, escriba el programa para que el PiBot pueda retroceder por el laberinto en reversa, de un extremo a otro, en lugar de llevarlo hasta el inicio para su segunda ejecución.\\ \\ <WRAP round tip>No solo las decisiones serán en orden inverso, los giros también serán al revés.</ | ||
+ | * Puntos de bonificación si haces que el PiBot haga un "baile feliz" cuando llega al final del laberinto :-)\\ \\ <WRAP round alert> | ||
+ | |||
+ | [[: | ||
+ | |||
+ | |||
+ | |||
+ | |||