Paso 16: programación
principal:
readadc 0, b0
goto principal de depuración
Ahora toma tu mano delante de la cabeza de robot´s y observe cómo la variable b0 cambia de valor. Puede utilizar los conocimientos adquiridos para decidir lo que debería suceder y cuándo (cómo cerrar cosas deben obtener antes de..) Usted puede notar cómo cosas comienzo a ir "mal" si el material es demasiado cerca de los "ojos"; El sostenido se hace para trabajar con objetos de 10-80 cm de distancia. Cosas que están más cercanas de 10 cm (4 pulgadas) parecen ser de otra manera, que puede ser todo un reto para el programa. Usted puede obtener muchos otros sensores de distancia que no tienen este problema. Sin embargo la Sharp es el más barato y más fácil de programa, por lo que he hecho una "mala" elección para usted, lo siento ;) Mirar y ver lo que todo el mundo utiliza, antes de decidir en una actualización. Ahora te aconsejo poner tu robot para arriba en una caja de cerillas o similares, como las ruedas comenzarán a girar.
Introduzca este código en tu editor y presione F5 mientras el robot está conectado:
alto 4
5 bajo
Una de las ruedas debe girar en una dirección. ¿Se vuelve hacia delante de las ruedas? Si es así, esto es la instrucción para que la rueda a girar hacia adelante.
Si la rueda gira hacia atrás, usted puede intentar esto:
4 bajo
5 alta
Para activar la otra rueda, es necesario introducir
6 alta
7 bajo
(o al revés para la dirección opuesta.) Lo que pasa aquí es que usando sólo las opciones disponibles para el microcontrolador; poder activar o desactivar (alta / baja) en los pernos, está al mando del regulador del motor para ajustar motor A o B en el modo de avanzar o retroceder.
4 bajo
5 bajo
6 bajo
7 bajo
detiene todos los motores
El servo que ya han probado.
Hacia un lado es:
servo 0, 75
esperar 2
-el otro lado es:
servo 0, 225
esperar 2
- Centro:
servo 0, 150
esperar 2
Aquí es un pequeño programa que será (si, si todo va bien, y si ha introducido los parámetros correctos para alta y baja para el cableado de los motores) hacer el robot conducir alrededor, parada frente a las cosas, mire a cada lado, para decidir cual es el mejor, ponga eso y conduce hacia nuevas aventuras. En el código que hice llamado observaciones: explicando lo que está sucediendo. Puede escribir estos comentarios u observaciones en el código, es una buena idea para mantener la pista. Están escritos con un apóstrofo (o comilla simple) signo. Sin embargo, copiar este texto de aquí podría alterar a otra cosa, y tienes que corregir esto manualmente, lo siento. Su editor de programación tiene códigos de color, que te ayudará a mostrarte como comentarios y lo que reconoce como código.
Símbolo dangerlevel = 70' ¿a qué distancia lo deben, antes de reaccionar? símbolo de giro = 300' Esto establece cuánto debe girarse símbolo servo_turn = 700' Esto establece por cuánto tiempo debemos esperar para que el servo de vuelta (dependiendo de la velocidad de it´s) antes de medir distancia
principal: 'el bucle principal readadc 0, b1' Lee cómo mucho si a distancia b1 < peligros dangerlevel entonces gosub 'si nada adelante, drive gosub más adelante whichway' si obstáculo adelante decide qué manera es mejor final si goto principal ' Esto termina el bucle, el resto son solo sub rutinas
peligros:' esto debe ser tu combinación para hacer el robot hacia adelante, estos probablemente necesitará ajustar para adaptarse a la forma ha cableado sus motores robots 5 alta: alta 6: baja 4: baja 7 vuelta
whichway: totalhalt gosub ' primera parada!
' Buscar una manera de: esperar el servo que se terminó convirtiendo readadc 0, b1 gosub totalhalt gosub lturn 'mirada a servo_turn pausa de un lado'
«Miran para otro lado: gosub rturn 'mirada a otro lado pausa servo_turn' esperar a que el servo que se terminó convirtiendo readadc 0, totalhalt gosub de b2
' Decidir cual es la mejor manera: si b1
body_lturn: alta 6: baja 5: baja 7: alta 4' esto debería ser la combinación que convierte al robot una manera pausa gire: totalhalt gosub retorno
body_rturn: alto 5: baja 6: baja 4: alto 7' debe ser la combinación que el robot gire la pausa de otra manera: totalhalt gosub retorno
rturn: servo 0, 100' mirar a un lado de retorno
lturn: servo 0, 200' mirar para el lado de retorno
totalhalt: baja 4: baja 5: baja 6: baja 7' baja en todos los 4 detiene el robot! Cara 0,150' Servo delantero espera 1' congelar todo por un segundo volver
Con algunos inteligente de programación y ajuste, puede hacer el robot, gira su cabeza, tomar decisiones, hacer pequeños ajustes, gire hacia agujeros"interesantes" como las puertas, todos trabajando al mismo tiempo, mientras se conduce. Se ve muy bien si haces el giro del robot mientras la cabeza gira ;)
Tiempo divertido
También puede colocar una lámpara o un LED al pin 2 y tierra y escribir (recuerda necesidad de LEDs a la manera correcta)
2 alta
para encender la lámpara, y
Baja 2
para apagarlo ;) - ¿por qué una láser-pluma, montada sobre un servo adicional? Entonces podría hacer el robot gire el láser alrededor y encender y apagar, señalando lugares... Usted puede hacer cualquier cosa ahora :) Pulsando "Ayuda" en los editores de programación saca todo tipo de información y tutoriales interesantes!
Tal vez intente lo siguiente: Saque el servo y toman el chip amarillo. Inserte el Darlington que sacó anteriormente. Conectar el altavoz a los 2 pines arriba donde estaba el servo, tat es la salida 1. Y en el LED, o lo que fue lo que encontró en la salida 2. Luego programar algo como esto:
sonido 1, (100, 30) alto 2 esperar 1 sonido 2 bajos 1 (105, 60)
Debe hacer un sonido encender algo, hacer un nuevo sonido y desactivar de nuevo.
O la más interesante, asegúrese de que el Sharp está todavía en un altavoz hasta el pin 1 del gancho y luego este programa:
ruido: sonido de readadc 0, b0 1, (b0, 2) goto ruido.
Por favor voten por mí.
(nombre-Aria
Age-13)
BUENA suerte