Paso 11: Software
El software es donde realmente es el foco principal de este proyecto. Fue desarrollado por la unidad de desarrollo de Software de laboratorios de K (yo en otras palabras). Probablemente pasé más tiempo escribiendo y perfeccionando el programa que hice trabajando en el diseño y construcción del hardware. Desde este proyecto fue algo tarde (que es porqué usted no debería trabajar en un proyecto pocos días antes de la fecha), sólo empecé a programación el 21 de diciembre, justo 3 días antes de Nochebuena. Me llevó dos días enteros de programación y medio día de depurar y refinar el código, pero todavía puede haber un error que se ha escapado mi detección (sucede cuando usted es el programador y el probador alfa y beta). También, por desgracia para muchos de ustedes, este programa fue diseñado para trabajar para Ubuntu Linux. Realmente no pasé ningún tiempo trabajando en este programa para otras plataformas porque alguno de los ordenadores que utilizo tiene Ubuntu sobre ellos, pero en teoría sólo tomaría unos retoques menores para hacer que funcione en otras plataformas. También, este programa fue diseñado un poco para tener una interfaz similar a Audacity, esquema de color similar y la cosa de la secuencia de sincronización.
Para obtener este programa para funcionar, necesita tener python instalado, probablemente python 2.7, porque eso es lo que usé cuando programé este. También necesitas dos paquetes de python extra, uno para la interfaz gráfica y otro para la comunicación serie con el arduino. Para instalar estos paquetes, sólo abre terminal y escribe "sudo apt-get install pygame python-serial - y" pero sin las comillas. Entonces este programa debería funcionar después de instalación los dos paquetes. Para ejecutarlo, usted no puede simplemente haga doble clic porque se va a abrir sin privilegios de root y la comunicación serial necesita permisos de root. Tan solo Abrir terminal, desplácese hasta el directorio con el comando cd, y tipo "sudo python xmascontr.py" y el programa se abrirán. Pero asegúrese de que Arduino está conectado antes de abrir el programa si no no funcionará debido a que el programa sólo para el arduino en el arranque.
Para saber si está listo para usarse, basta con mirar a la esquina superior derecha y en mi foto podrás ver un pequeño círculo verde. Esta es la luz de indicador, medios verdes buenos para ir. Si tiene un círculo rojo en su lugar, eso significa que no puede encontrar el puerto correcto o se desconecta el arduino. Si usted recibe un círculo rojo y el arduino está conectado, entonces usted necesita abrir el programa en un editor de texto y cambiar la variable después de todo las líneas comentadas en la ruta de tu arduino, en mi caso cualquier ordenador Ubuntu que he intentado siempre establece mi arduino en /dev/ttyACM0 así que lo dejé el puerto. Para encontrar lo que el puerto tu arduino es, encontrar con el arduino IDE o enchufe y tipo "dmesg | la cola"en terminal y tratar de encontrar el camino allí. Ahora, si usted consigue un círculo amarillo al abrir el programa, significa que detecta el arduino pero no tiene suficiente permiso para comunicarse con ella, es por eso que tenemos que abrir con el comando sudo, por lo que necesitará saber la contraseña de administrador.
Una vez que el programa puesto en marcha con un círculo verde, es hora de generar secuencias. Hace tan fácil como sea posible, todo lo que tienes que hacer es mantener pulsado el botón izquierdo del ratón donde desea que la luz se encienda y arrástrelo hasta donde desee la luz se apague. Las plazas azuladas en la foto son donde las secciones encendidas. Para eliminar una de las secciones azul, simplemente haga clic derecho y van a desaparecer. Desplazamiento se moverá la secuencia horizontal para añadir más cosas, o si usted golpea el borde derecho mientras se arrastra una sección, que auto-scroll para usted. Con las teclas Inicio y fin se saltará al principio o final de la secuencia entera. Se seguirá el cursor del ratón un pequeño cuadro de diálogo que le indica en qué tiempo el ratón apunte pero sólo cuando está en uno de los 5 temas, no la parte superior del menú.
El botón play reproducirá la pista pero si el círculo no es verde, nada que escribir. El botón de pausa no hace nada... todavía. El botón stop dejará una pista de juego. El guardar botón salvará su secuencia a un archivo en el directorio activo actual bajo el nombre de "xmaslite.xmas" pero se le advierte que sobrescribirá un archivo xmaslite.xmas que está ya ahí. El botón abrir abrirá un archivo xmaslite.xmas que encuentra pero si se intenta abrir un archivo corrupto o falso xmaslite.xmas, borrar la secuencia actual e Imprimir "xmaslite.xmas Bad file". El botón reset restablece sólo la secuencia para ser vacía por lo que se puede volver a comenzar. El botón de depuración no es realmente importante pero muestra la secuencia en el terminal si haces clic, allí es porque he usado para arreglar este fallo muy raro pero podría ser útil si usted está teniendo problemas también.
He adjuntado un archivo de xmaslite.xmas de prueba así que usted puede probar el programa, sólo agregar en el mismo directorio, abiertos y usted debería ver unos cuadrados azules aparecen en la pantalla.
He añadido un archivo de xmaslights.ino a la mezcla. Este es un fichero de arduino, debes enviar esto a tu arduino si desea que el arduino para ejecutar los comandos emitidos por el programa de secuencia. Este archivo está programado para hacer su arduino salida las señales de encendido y apagado en los pernos 40, 41, 42, 43, 44 como los 5 pernos para cada canal.
Con todo, no está mal para menos de 200 total líneas de código escrito en 2,5 días. Como de costumbre, estoy dejando que cualquiera usar y modificar este software pero crédito ha de ser entregado a mí para el programa original para ser redistribuido.