Paso 9: programación
OK lo admito, no soy mucho de un programador. Me lio con Arduino y soy bastante bueno en mezclar y combinar otros códigos de la gente en algo que funciona, pero que está sobre él. Huella de THR Arduino de la Edison me engañar pensando que sería sencillo obtener un bosquejo básico funcionando. La puesta en marcha de la junta fue mucho más allá de lo estaba acostumbrado. Yo estaba perdido, pero tenía una línea de vida - mi amigo Chris es un programador y programar el robot para mi. Todo lo que tenía que hacer era construir el hardware.
Esto no significa que no trato. Miré a proyectos y busqué otras personas todas las cosas que no entiendo, pero en poco tiempo, tuve 10 pestañas abiertas y mi cerebro comenzó a empañarse más. Decidí trabajar en el código utilizando un Arduino. Usé un esbozo de música algorítmica y había añadido mis propia patrones. He modificado el código para los botones usados para afectar cambios en el patrón de reproducción. Yo planeaba usar el sensor Hall, fotocelda y sensor de distancia infrarrojo para controlar las variables en el modelo. También utilizo la brújula digital para cambiar entre cuatro diferentes variaciones en el algoritmo. También encontré bosquejo de seguidor de línea que trabaja con el escudo del motor de Seeed Studio.
Una conversación con mi amigo programador conducen a la decisión de utilizar Javascript en vez de los bocetos de Arduino. JS sería más fácil integrar el control del robot, síntesis de audio y 'conectividad'. También decidimos utilizar wifi en lugar de bluetooth, por lo que podemos transmitir la salida.
Bueno, una cosa lleva a otra y tendemos a hacer cosas en el último minuto. El viernes antes de los rollos de plazo alrededor y conseguir junto para finalizar lo que pensábamos sería un simple proyecto. Decidí Conecte los cables de puente a los cables de los sensores y utiliza un escudo de proto con un protoboard de 17 x 10 para conectar a la Edison. Mientras tanto, Chris había actualizado el tablero y configurarlo como un servidor web. Por el momento tenemos todo lo que juego que hasta me di cuenta de que había olvidado la batería motor. Decidimos juntarnos el sábado después del trabajo para terminar.
Que es cuando empezaron los problemas. No pudimos conseguir los motores para moverse. Había probado con la batería a los cables pelados y funcionaba bien, solo no estaban recibiendo energía a través del escudo. Yo estaba fuera de mi profundidad en este punto y Chris ajustar los puentes de pin PWM y otros trucos en vano. Finalmente concedió y había quitado el escudo de Seeed y había instalado la tarjeta de conductor que venía con el kit, a pesar de no encajaba tan bien. Hemos probado hacia fuera en una obra soporte con el Edison accionado de la verruga de la pared incluido y trabajado multa. El hecho de que la Edison podría programarse de forma inalámbrica fue impresionante, como equipo de dormitorio de Chris tenía todos el software adecuado, mientras que la cocina era un banco de trabajo mejor. Recibió las ruedas de trabajo, ajustar su poder y un rudimentario regulador basado en la web utilizando las teclas de flecha de mi ordenador portátil. En este punto ya era tarde y decidimos quedar el domingo por la tarde para terminar.
En este punto hemos tenido la Edison comunicarse con los motores, el siguiente paso fue a la línea que sigue la función del programa. Puesto que los motores estaban trabajando bien en el paquete de baterías de 12v, planifiqué conectar una batería de 9v para ejecutar al Edison, que es sceced de 7-18v. Probamos el robot en esta configuración. Comenzaría en la dirección que lo envió, pero sólo continuó así hasta que corrió en algo. Hemos tenido la típica conversación 'chico hardware culpa a las mercancías suaves / guy software culpa el hardware' como nos poked alrededor sin resultados. El culpable final parece ser la energía. El 9v no era suficiente para alimentar la placa. El conductor del motor Grove tenía una característica interesante-con el fin de ahorrar recursos utiliza la última entrada hasta que se introdujo una nueva. La Junta sería puesta en marcha y conectar, pero en cuanto nos envía una señal al motor, el bot comenzaría a mover, la Edison morir y reiniciar y el bot ir volando en una pared con ninguna entrada nueva. Hemos tratado, cambiando con 9v a los motores y 12v para la Edison, pero que no funcionaba bien - los motores trabajaban, pero la Junta murió. Tiene un montón de características impresionantes en un paquete pequeño, pero el Edison es un poder poco hambre para proyectos de robótica en pequeña escala. Voy a tener que evaluar el diseño y encontrar una solución de batería con más amperaje para conducir la Junta. Con Arduino siempre es al revés!
Así poder fue nuestro talón de Aquiles. Eso y ser un nerd engreído que piensa que él puede lograr cualquier cosa en el último minuto. Terminamos enganchando el conductor del motor hasta la batería de 12v, tapando la verruga de la pared en un acorde de corta extensión y ejecutando al Edison de la pared. Fue muy divertido y aprendimos algunas cosas para la siguiente fase del proyecto.