Paso 7: Firmware y Software
Decidimos que tener control inalámbrico del aerodeslizador era un rasgo absolutamente esencial, por lo que hemos adquirido dos módulos inalámbricos XBEE. Hemos creado dos circuitos, el circuito de host y el circuito a bordo. Usando la habilidad de las fotos para enviar y recibir señales, hemos creado el host PIC enviar una especificación de anchura de pulso para el PIC a bordo. Una vez que hemos sido capaces de enviar señales desde el host PIC para el PIC a bordo, agregamos los módulos XBEE. Los módulos XBEE no necesaria ninguna modificación de código adicional; podemos enviar y recibir señales como si las fotos fueron conectadas por hilos invisibles.
Recepción de señales de
Queríamos ser capaces de recibir datos de sensores montados en el aerodeslizador. Decidimos utilizar PORTA para las entradas de sensor análogo y salidas PORTB para el ancho de pulso digital. Esta decisión fue motivada por el hecho de que sólo los puertos PORTA podrían actuar como entradas analógicas. Establecer cinco salidas de anchura de impulsos y controla con los 5 cursores en la computadora. Una vez que éste estaba trabajando, hemos añadido una entrada analógica que puede enviar su señal del PIC a bordo al host PIC y finalmente a la computadora. Cuando hemos añadido entradas analógicas adicionales, sin embargo, nos topamos con problemas. El primer problema fue que simplemente tomaron mucho tiempo para leer todas las entradas y envía las señales al host PIC PIC. El retraso fue tiempo suficiente como para afectar los resultados de ancho de pulso. Hemos arreglado este problema limitando cuánto quedaría el PIC de las entradas analógicas. El segundo problema fue que las entradas analógicas parecían estar leyendo y enviando las señales equivocadas. Nos dimos cuenta que teníamos que esperar más tiempo entre leyendo diferentes entradas analógicas. Después de implementar este retraso, todavía luchábamos por leer con eficacia múltiples entradas analógicas. Nos acomodamos para que la habilidad de leer solamente de un medidor a la vez.
Para los sensores, experimentamos con un acelerómetro y un sensor de sonar. Encontramos que podíamos sentir la inclinación con un acelerómetro, pero no podríamos sentir suficiente inclinación para el acelerómetro para ser útil para nuestros propósitos. Se encontró que el sensor del sonar fue eficaz para la medición de distancias superiores a 6 pulgadas y fue preciso para dentro de unas tres pulgadas. Calibrado el sensor sonar y configurar el ordenador para su lectura en pulgadas de salida.
Interfaz de usuario
Hasta la última semana, la interfaz de usuario consistió en cinco deslizadores, uno para cada salida de ancho de pulso. En la última semana, hemos pensado más sobre cómo el usuario puede controlar el aerodeslizador. Nos acomodamos para que un control deslizante para controlar la velocidad del ventilador de elevación, deslizadores para controlar la velocidad de cada ventilador de propulsión y deslizadores para controlar el pitch de cada ventilador de propulsión. Para el usuario, control de todos estos cursores fue una experiencia difícil, por lo que hemos añadido las combinaciones de teclas. G y H controlaron la velocidad del ventilador de elevación 1 y 2 controla la velocidad del ventilador de propulsión izquierda y 9 y 0 controlaron la velocidad del ventilador de propulsión adecuado. Arriba y abajo mueve los controles de tono en la misma dirección (para copia de seguridad y seguir adelante) y a la izquierda y derecha mueve los controles de tono en direcciones opuestas (para manejo).
Aquí es cómo usted puede conseguir este en marcha y funcionando a ti mismo. En primer lugar, usted necesita libusb instalado en su computadora, para que el host PIC y el ordenador se pueden comunicar. No entraré en cómo instalar libusb, ya que varía entre diferentes sistemas operativos. También, usted necesitará una manera de las fotos del flash con el firmware proporcionado. Pickit 2 del microchip es lo que utilizamos, junto con su software MPLAB.