es:pibot:challenge1:softwarewin
Diferencias
Muestra las diferencias entre dos versiones de la página.
| es:pibot:challenge1:softwarewin [2021/10/15 15:36] – creado jstruebel | es:pibot:challenge1:softwarewin [2022/10/20 19:53] (actual) – editor externo 127.0.0.1 | ||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| + | ====== Configuración del Software ====== | ||
| + | - Abra VSCode 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 " | ||
| + | - Escribe " | ||
| + | - 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> | ||
| + | |||
| + | [[: | ||
