Si je voulais créer un appareil simple qui communique avec mon ordinateur, disons peut-être un interrupteur qui pourrait couper mon ordinateur lorsqu'il est allumé et éteint et le brancher via USB, quelle serait la manière la moins chère et la plus simple d'accomplir cela?
microcontroller
usb
Sean
la source
la source
Réponses:
Le plus simple? Prenez un Arduino et écrivez quelques lignes de Python. Les Arduino sont incroyablement faciles à programmer, ne nécessitent aucun matériel supplémentaire pour fonctionner et sont très populaires . Python a une bibliothèque série très simple et est un jeu d'enfant à écrire.
Exemple de code
Python: exécutez ce script en tant que service. J'utilise Ubuntu, donc ce script affichera une notification vous indiquant quand un bouton a été pressé sur l'Arduino.
Arduino:
la source
Construisez un périphérique USB Human Interface Device Class. Il s'agit de la même classe utilisée par les claviers, les souris, les joysticks, les manettes de jeu, etc. Votre PC prend déjà en charge le pilote de périphérique complet pour les périphériques HID, donc l'accès au logiciel est facile. Vous trouverez de nombreux pointeurs et même des exemples de code sur la page HID de Jan Axelson . Parcourez son site pour de nombreuses bonnes informations liées au développement de périphériques USB.
Beaucoup de petites familles de microprocesseurs peuvent faire des DHI. Je l'ai même vu faire à faible vitesse USB avec un AVR 8 broches ATtiny entièrement dans le logiciel.
Choisissez votre puce préférée, puis recherchez dans ses "ressources habituelles" des échantillons HID.
Une autre approche consiste à fabriquer un dispositif de communication série. Il existe plusieurs solutions monopuce de FTDI . Le FT232R est un choix populaire. Les pilotes sont requis, mais les pilotes certifiés Windows sont connus de l'assistant Nouveau matériel détecté, donc l'installation n'est pas difficile. Une fois installé, vous disposez d'un appareil qui ressemble à un port COM. D'autres pilotes sont disponibles qui vous permettront d'accéder à ses broches GPIO et de l'utiliser dans des modes plus avancés.
Mise à jour, 2015: il y avait un lien vers http://www.lvr.com/hidpage.htm , qui semble avoir pourri le lien et le nouvel emplacement découvert grâce à El Marce . Jan's Lakeview Research est toujours une excellente source d'informations sur l'utilisation pratique de l'USB.
la source
Voici un article de blog très détaillé http://msdn.microsoft.com/en-us/devlabs/dd491992 avec un logiciel pour utiliser un PIC18F4550 de moins de 5 $ pour interfacer via USB en tant que périphérique HID standard. Le logiciel fourni peut être utilisé pour s'interfacer avec n'importe quel appareil HID, donc si vous voulez une autre puce, le logiciel fonctionnera toujours.
Un autre avantage supplémentaire est que le billet de blog vous montre comment effectuer une communication bidirectionnelle afin que vous puissiez non seulement interfacer un commutateur, mais également allumer et éteindre une LED.
la source
Voici un projet simple à moi utilisant un PIC18F2455, basé sur le logiciel USB de Brad Minch. Les PCB sont disponibles auprès d'Olimex.
la source
Si cela ne vous dérange pas le microcontrôleur basé sur Cortex-M3, jetez un œil au LPC1343 de NXP . C'est seulement 6,30 $ chez Digikey (1 pièce). Il y a une fonctionnalité très cool - firmware pour le stockage et les périphériques HID dans la ROM de la puce!
Par rapport à une solution avec puce FTDI + microcontrôleur, il y a une puce de moins :)
la source