Paso 5: Uso de sensores para pintar
La forma muy más fácil pintar con sensores es el programa de ejecución la muestra 'cubierta' con los objetos alrededor del perímetro de la zona de pintura y hasta algunos objetos pesados (que son resistentes a la pintura o envuelto en papel encerado) dentro del área de pintura. Pero probablemente desea un poco más control que el, y he añadido el módulo de comando a la lista de materiales por una razón.
Si desea mantener algunas de la aleatoriedad en el robot de lo que es pintura, pero aún que trabajar dentro de parámetros que usted estableció, aquí están algunas maneras de hacerlo:
Abrir el programa de ejemplo llamado 'drive' en el cuaderno de programadores (una explicación de esto está disponible en el manual que se puede descargar desde la Web de iRobot).
En línea 156 usted encontrará:
Configurar los parámetros de vuelta y restablecer el ángulo de
Esto es lo que hace el robot cuando se activa un sensor. Esto incluye chocar contra las cosas o casi caen fuera de las cosas. Esta sección tiene algo de diversión cosas para jugar.
distancia = 0;
Puede cambiar esto a cualquier número. El número elija cuántos milímetros el robot respaldo después de golpes o encuentra el borde de algo. Así, por ejemplo, cambiar el "0" a "200", se copia de seguridad de 200 milímetros. Esto le dará largas líneas de 200 milímetros en varios ángulos de los bordes y cualquier otros objetos están en y alrededor de la superficie de la pintura.
ángulo = 0;
Esto significa que respalda derecho después de que llega algo. Hombre no desea esto. Si desea que copia de seguridad en diferentes ángulo establezca un número aquí. Cambiar a "0" a "45" hará que se copia en un arco de 45 grados. Este uno toma algunos ajuste para conseguir justo lo que quieres, pero puede causar algunos efectos frescos.
turn_angle = randomAngle();
Esto significa que la cantidad que el robot se convierte después de golpear a algo en algún lugar entre 53 y 180 grados. Si desea cambiar el rango de "azar" diríjase hacia línea 460 y cambiar ese código. Si desea establecer en un ángulo específico cambio "randomAngle()" a "15" o cualquier otro ángulo te gusta. Los números "1" y "-1" están reservados para ángulos rectos, pero parece otros positivo cualquier número, o negativo es juego justo. Me di cuenta que no he probado nada más de 360, pero ahora no puedo esperar a probar.
En las líneas 143 y 149 se encuentra "girando" seguido de un 0. Cambiar a otra cosa hace el giro del robot para siempre. Esto no es un cambio muy eficaz o divertido para hacer, no se moleste.
unidad (300, RadStraight);
Esto significa avanzar a un ritmo de 300 en dirección recta. Puede cambiar la velocidad del robot cambiando "300" a otro número. Más baja es más lento, más alto es más rápido (no hay trucos aquí). Cambiando "RadStraight" a un número se traducirá en el robot en un arco. Esto definitivamente aumentará la naturaleza 'pictórica' de lo que hace el robot. Me gusta mucho cambiar esta configuración.
La velocidad que se mueve el robot puede cambiar las líneas de pinta. Velocidades generalmente dará como resultado una aplicación más suave y más pesada de la pintura. Velocidades más rápidas le dará un efecto brushier, o a veces incluso hará su cepillo salte.
Una vez en el código podrás ajustar todo tipo de cosas. Si tienes entendimiento de problemas algo Compruebe el archivo de oi, a veces hay pistas en allí. Mucho tiempo que he tenido mejor suerte con un número de ángulo en lugar de "RadCW" o comandos similares. Supongo que esto es un golpe de suerte, pero es algo para comprobar si tienes problemas.
No soy un programador experimentado en absoluto. De hecho, este es el primero que he hecho algo con el código, con excepción de crear sitios Web. Creo que es bastante difícil de lastimar el robot, y siempre es una copia limpia de los programas de ejemplo en el CD si se daña irremediablemente el uno que se está modificando. El código se observa bien, y usted puede bastante mucho averiguar de todo qué si usted toma algún tiempo con él. Merece la pena bucear en y cambiar las cosas para ver lo que hay. He escrito bastantes cosas nuevas para agregar al programa de 'drive', pero no son listos para mostrar al mundo absolutamente todavía.