Étape 11 : logiciel
Le logiciel est où l’objectif principal de ce projet est vraiment. Il a été développé par l’unité de développement de logiciel K-Labs (m’en d’autres termes). J’ai probablement passé plus de temps d’écriture et de perfectionner le programme contrôleur que j’ai fait en train de travailler sur la conception et de la quincaillerie pour le bâtiment. Étant donné que ce projet a été lancé un peu tard (c’est pourquoi vous ne devriez pas travailler sur un projet seulement quelques jours avant la date limite), j’ai seulement commencé programmation le 21 décembre, seulement 3 jours avant Noël. Il m’a fallu deux jours entiers de programmation et une demi-journée de débogage et de raffinage du code, mais il pourrait y avoir encore un bug qui a échappé à mon détection (arrive quand vous êtes le programmeur et l’alpha et bêta testeur). Aussi, malheureusement pour beaucoup d'entre vous, ce programme a été conçu pour fonctionner pour Ubuntu Linux. J’ai n’a pas vraiment passer du temps sur ce programme pour d’autres plateformes de travail car tous les ordinateurs que j’utilise Ubuntu sur eux, mais en théorie, il ne prendrait que quelques modifications mineures pour qu’il puisse travailler sur d’autres plateformes. En outre, ce programme visait un peu d’avoir une interface semblable à l’audace, jeu de couleurs similaires et la chose de séquence de synchronisation.
Pour obtenir ce programme fonctionne, vous devez avoir python installé, très probablement python 2.7 parce que c’est ce que j’ai utilisé quand j’ai programmé ce. Vous devez également deux paquets python supplémentaires, un pour l’interface graphique et l’autre pour la communication série avec l’arduino. Pour installer ces paquets, vous juste ouvrez terminal et tapez « sudo apt-get install python-serial pygame -y » mais sans les guillemets. Alors ce programme devrait fonctionner après que ces deux packages sont installés. Pour l’exécuter, vous ne peut pas simplement double-cliquez dessus parce qu’il s’ouvre sans les privilèges root et la communication sérielle a besoin d’autorisations racine. Donc il suffit d’ouvrir le terminal, naviguez jusqu’au répertoire en utilisant la commande cd, et de type « sudo python xmascontr.py » et le programme va ouvrir. Mais n’oubliez pas que l’arduino est connecté avant d’ouvrir le programme sinon que cela ne fonctionnera pas car le programme vérifie uniquement l’arduino au démarrage.
Pour savoir si il est prêt à être utilisé, il suffit de regarder vers le coin supérieur droit et dans ma photo, vous verrez un petit cercle vert. Il s’agit du témoin lumineux, vert moyen bon d’aller. Si vous obtenez un cercle rouge au lieu de cela, cela signifie qu’il ne peut pas trouver le bon port ou l’arduino est déconnecté. Si vous obtenez un cercle rouge et l’arduino est connecté, alors vous avez besoin d’ouvrir le programme dans un éditeur de texte et modifiez la variable après tout les lignes commentées sur le chemin de votre arduino, dans mon cas n’importe quel ordinateur Ubuntu que j’ai essayé toujours affecte mon arduino /dev/ttyACM0 donc j’ai laissé que comme port. Pour trouver quel port votre arduino est sur, soit trouver avec l’arduino IDE ou branchez-la et tapez "dmesg | tail"dans la borne et essayer de trouver le chemin d’accès. Maintenant, si vous obtenez un cercle jaune lorsque vous ouvrez le programme, cela signifie qu’il détecte l’arduino, mais il n’a pas les autorisations nécessaires pour communiquer avec lui, c’est pourquoi nous avons dû ouvrir avec la commande sudo, alors vous devez connaître le mot de passe admin.
Une fois que vous obtenez le programme démarre avec un cercle vert, il est temps de générer des séquences. Je l’ai fait aussi facile que possible, tout ce que vous avez à faire est de maintenir enfoncé le bouton gauche de la souris où vous voulez la lumière pour allumer et faites-la glisser vers l’emplacement où vous la lumière s’éteigne. Les carrés bleuâtre dans l’image sont où les sections les sont. Pour supprimer une des sections bleues, juste un clic droit et il disparaîtra. Défilement se déplacera la séquence horizontalement pour ajouter plus de choses, ou si vous frappez le bord droit tout en faisant glisser un article, il sera le défilement automatique pour vous. Avec les touches home et fin vous sautera soit au début ou la fin de la séquence entière. Le curseur de votre souris sera suivi d’un dialogue peu qui dit vous à quel moment la souris pointe sur mais seulement quand il est dans l’une des 5 pistes, pas la partie du menu du haut.
Le bouton de lecture commence la lecture de votre piste, mais si le cercle n’est pas vert, rien ne sera écrit. Le bouton de pause ne fait rien... encore. Le bouton stop s’arrête une piste de lecture. L’enregistrer bouton permettra d’économiser votre séquence dans un fichier dans le répertoire actif courant sous le nom de « xmaslite.xmas » mais sachez qu’il va écraser un fichier xmaslite.xmas qui est déjà là. Le bouton Ouvrir ouvrira un fichier xmaslite.xmas qu’il trouve, mais si vous essayez d’ouvrir un fichier corrompu ou faux xmaslite.xmas, il va effacer la séquence en cours et imprimer « xmaslite.xmas Bad file ». Le bouton reset réinitialise juste votre séquence pour être vide, alors vous pouvez recommencer. Le bouton de débogage n’est pas vraiment important mais il affiche la séquence dans le terminal, si vous cliquez dessus, il est juste là parce que j’ai utilisé pour fixer ce glitch vraiment bizarre, mais pourrait s’avérer utile si vous avez des problèmes aussi.
Je joins un fichier de test xmaslite.xmas donc vous pouvez tester le programme, juste l’ajouter dans le même répertoire, appuyez sur Ouvrir et vous devriez voir quelques carrés bleus apparaissent sur l’écran.
J’ai ajouté un fichier xmaslights.ino au mélange. Il s’agit d’un fichier de l’arduino, vous devez le télécharger à votre arduino si vous voulez l’arduino pour exécuter les commandes émises par le programme séquentiel. Ce fichier est programmé pour faire votre arduino sortie des signaux de marche à goupilles 40, 41, 42, 43, 44, comme les 5 broches pour chaque canal.
Dans l’ensemble, pas mal pour moins de 200 total des lignes de code écrit en 2,5 jours. Comme d’habitude, je suis laisser quelqu'un utiliser et modifier ce logiciel, mais le crédit doit être donnée à moi pour le programme original si c’est pour être redistribuées.