Ce projet a été conçu comme un cadeau pour mon ami Chris Lasher pour commémorer son déplacement et commencer un programme d’études supérieures en bio-informatique. Chris sera fait beaucoup de programmation et est un adepte de la pragmatique / Agile programmation, l’un des directeurs qui est tests unitaires. Alors que les tests unitaires d’un programme sont en cours d’exécution, il est bon de savoir si ils sont succédant ou, à défaut, et qui est prédominant. Certains programmeurs pragmatiques fait merveille, un système de rétroaction pleines lampes de lave provenant d’une unité framework de tests par enfichage de certains appareils domotiques sur étagère (ça leur coûter plus de 60 $). Les lampes leur a permis de voir si des tests étaient en passant ou à défaut, et l’échauffement progressif sur un feu leur a permis de voir quels événements sont prédominants. Il s’agit d’une bonne idée, mais je voulais faire quelque chose de Chris qui :
1) contrôlerait les deux lampes de petits lave alimenté par USB,
2) pourrait être mis hors tension de Chris fantaisie nouvel ordinateur portable et l’interface via le port USB (sans ports hérités sur les ordinateurs récents, en particulier des ordinateurs portables),
3) serait un peu plus maison et facile à hacker,
4) serait être attribuer moins cher.
Relais en venant un USB convertisseur de port série semble être une solution simple. Il existe plusieurs circuits disponibles en ligne pour les projets de contrôle de port série. Un excellent projet qui je me suis adapté était à http://www.windmeadow.com/node/4. Malheureusement, presque tous les USB pour périphériques série ne permettent pas de claquement de bas niveau bit (le manuellement tête basculante de lignes de contrôle) qui est requise pour utiliser ces circuits. Une autre approche consisterait à acheter un circuit d’interface USB, ou construire un d’un microcontrôleur. Quoi qu’il en soit, le projet nécessiterait une bonne partie du code de microcontrôleur et pilotes (même en utilisant les pilotes d’interface humaine préexistante ou un contrôleur pré-faites).
J’ai choisi de résoudre ce problème avec un clavier USB récupéré, puisqu’ils sont relativement bon marchés et contiennent tout ce qui est nécessaire pour trois simple sur/off sorties, sous forme de nombre, casquettes et Arrêt défil LEDs. Sous Linux, il y a un certain nombre de mécanismes pour basculer vos LEDs d’un programme ou une ligne de commande (l’un est même référencé dans Cryptonomicon). Setled est le plus simple et est pré-installée sur presque toutes les machines, DADP repose sur un modèle client-serveur, et il y a même un module dans le langage de programmation Ruby . Windows et systèmes d’exploitation Mac et autres langages de programmation, devraient avoir des mécanismes comparables - poster dans les commentaires si vous savez comment activer/désactiver les voyants dans d’autres OSs ou langages de programmation du clavier !
J’ai donné Chris son présent, et maintenant il peut ne pas voir si ses tests unitaires sont en passant, tous les programmeurs dans son nouveau département peuvent savoir quel un cool DIY maker il est.