IRK ! Contrôlés à distance infrarouge USB clavier sans touches (6 / 7 étapes)

Étape 6: Comment ça marche

Vue d’ensemble

L’idée de base est qu’il existe une bijection entre la pression sur un bouton de votre télécommande et une combinaison de touches envoyées à votre PC. IRK ! tout simplement enseigne votre apprentissage à distance un code qui représente une combinaison de touches particulière. Une fois que vous avez programmé ce code sur l’un de vos boutons de la télécommande, appuyer sur ce bouton transmettra le code retour à IRK ! qui sera, bien entendu, le reconnaître puis l’envoie le PC comme un raccourci de clavier USB.

Parce qu’IRC ! généré le code IR, il ne peut éventuellement pas le reconnaître - IRK donc ! n’a pas besoin d’appuyer un zillion différents modèles de télécommande IR !

Frappes au clavier USB

Frappes USB sont envoyés vers le PC à l’aide de codes définis dans la spécification USB Human Interface Device (HID) utilisation de tableaux . Que la spécification définit, par exemple, que le code 0 x 04 désigne la lettre « a ». Pour un dispositif de clavier, comme IRK!, codes supplémentaires « modificateur » peuvent être envoyées à l’ordinateur pour indiquer si GUI (aka touche Windows, touche Apple enfoncée, touche Super), contrôle, Alt et Maj enfoncées sont également « enfoncé ». Par exemple, pour envoyer une majuscule « a », IRK ! envoie 0 x 02 (sens Maj est enfoncée) et 0 x 04 (signifiant « a » est enfoncé). L’ordinateur interprète cette séquence dans le sens « A » majuscule. Immédiatement après l’envoi de cette séquence, IRK ! enverra une séquence « nulle » de 0 x 00 et 0 x 00 pour indiquer qu’aucune touche ou les touches de contrôle ne sont actuellement étant enfoncés. Cela est requis par le protocole USB sinon le PC vont penser que vous êtes maintenant enfoncée le touches Shift et « A » jusqu'à ce qu’il reçoive le prochain code de clé USB.

Ainsi, vous pouvez voir que IRK ! ne doit être en mesure de « enseigner » une télécommande suivie d’une séquence de 0 x 02 0 x 04 pour représenter la lettre « A ». Lorsque l’utilisateur appuie sur ce bouton sur la télécommande, IRK ! recevra à l’aide de son récepteur infrarouge et ensuite envoyer la séquence de 0x02 0x04 au PC qui sera interprétée comme l’utilisateur en appuyant sur Maj + A un clavier USB.

Format de commande infrarouge

IRK ! ne reconnaît que les signaux infrarouges qui sont adressées à un particulier IRK ! unité. Pour ce faire, un octet de l’adresse est également envoyé/reçu sur la voie infrarouge. Chaque commande infrarouge est une séquence de six 6 octets comme suit :

AA, AA', UX, UX', YY, YY'

Où :

AA est l’octet de l’adresse de 0 x 00 à 0xFF
AA' est l’octet de l’adresse inversée (tous ceux convertis à zéros et vice versa)
UX est la page d’utilisation (U = 0 x 0 à 0xF) et, pour l’utilisation du clavier, le modificateur nybble X (contrôle, Alt, Shift)
UX' est l’octet UX inversé
AA est l’octet de commande (pour l’utilisation du clavier, le code de clé USB)
AA ' est l’octet de commande inversé

La raison pour la transmission d’une copie inversée de chaque octet est de réduire la chance qu’interférence a causé une commande invalide à recevoir. Par exemple, vous ne voudriez pas votre demande de « jouer cet enregistrement » être interprété comme « supprimer cet enregistrement » simplement parce qu’une mouche a interrompu le trajet du signal infrarouge en cet instant !

Afin de valider chaque commande comme il est reçu, IRK ! vérifie que les AA (inversé) est égale à AA', et que UX (inversé) est égal à UX', et que YY (inversé) est égal à YY', et que soit AA est égale à cette IRK!' adresse de périphérique s ou AA équivaut à 0xFF (l’adresse de diffusion). Si tout cela est vrai, alors IRK ! peut être assez sûr que c’est une commande valide et qu’il va agir en conséquence.

Technique de Transmission infrarouge

IRK ! utilise Pulse Width Modulation (PWM) pour coder la série de 1 et 0 qui constituent chaque commande. Vous pourriez reprogrammer le microcontrôleur pour utiliser une technique différente, par exemple le Codage Manchester mais PWM fonctionne très bien. Par exemple, « 1 » USB key lors codé à l’aide de PWM ressemble à l’image ci-dessus.

Chaque fois que le signal est « faible », une rafale d’IR d’impulsions à 38 kHz est transmis. À l’inverse, lorsque le signal est « élevé », elle représente une période de silence.

Il y a un sursaut de premier plan pour 1000 μs puis le silence pour 600 μs (dans les versions de IRK! avant 2.04, il atteignait 9400 μs et 4500 μs respectivement). Cette explosion leader obligeait anciens modules récepteur infrarouge à « former » leurs circuits de contrôle automatique de Gain (AGC) pour qu’ils pouvaient déterminer quel un niveau de signal normal a été. Récepteurs IR d’aujourd'hui n’ont généralement pas cette exigence, mais votre apprentissage à distance peut être vieux donc contrarier ! supporte encore.

Par la suite, un « 1 » est codée sous forme d’une courte rafale suivie d’un long silence, et un « 0 » est codé par une courte rafale suivie d’un court silence.

Adresse de diffusion

Un octet de l’adresse de 0xFF est reconnu par tous les IRK ! dispositifs que vous mai ont construit. Il est donc possible pour une seule télécommande envoyer une commande de contrarier tous ! appareils simultanément.

Commandes de contrôle de système

IRK ! soutient également le « System Control » définie par l’USB commandes appelées « Sleep », « Wake » et « Power Off ». Certains claviers USB sont clés pour ces fonctions, mais ils ne sont pas intrinsèquement des fonctions du clavier. N’importe quel périphérique USB opportunément programmée, comme IRK!, peuvent envoyer des commandes de contrôle système USB à votre PC à la demande pour passer en mode "Sleep", par exemple. Ce qui suit est un résumé des résultats des commandes système contrôle sur mon PC (votre kilométrage peut varier) :

Power Off = CPU éteint, disque éteint, écran large, USB off
Dormir = CPU sur, disque éteint, écran large, USB sur
Se réveiller = ne fonctionne pas !
Alimenter l’interrupteur enfoncé = CPU éteint, disque éteint, écran large, USB sur

Commandes de périphériques consommateurs

IRK ! prend en charge le définie par l’USB « Consumer Device » commandes telles que "Mute", "Vol +", "Vol-", "Calculatrice", "Navigateur Home", vous pouvez utiliser ces commandes pour contrôler votre lecteur multimédia (lecture/pause, stop, reculer, sauter en avant etc) ou démarrer des applications (calculatrice, navigateur, Media Player, etc.).

Pour une liste complète des commandes appareil consommateur que vous pouvez utiliser, il suffit de télécharger le document USB Human Interface Device Usage Tables . Que les sons compliqué, mais la spécification n'est pas si difficile à lire. Plus précisément, Regardez le tableau 17 « Page utilisation des consommateurs ». Il n’importe pas que IRK ! n’affiche pas les noms de toutes ces commandes comme vous faites défiler à travers eux, vous pouvez toujours demander à IRK ! pour nous les transmettre à votre port USB hôte (Linux, Windows, MythTV etc.) - et la prise USB doivent exécuter la fonction correspondante.

Interrupteur d’alimentation et interrupteur Reset commandes (expérimental)

Les lecteurs astucieux auront remarqué qu’il y a un problème avec essayant d’obtenir IRK ! « Power on » votre PC - parce que pas tous les PC sous tension les périphériques USB tout le temps lorsque l’alimentation du système est désactivé et IRK ! dépend de la puissance fournie par l’interface USB du il est raccordé à un système.

Un moyen de contourner cela est d’alimenter l’IRK ! fournir des circuits de la tension « Standby » (Vsb) de la puissance du PC. VSB sur les anciens ordinateurs fournit + 5V vers 10 mA même si vous avez éteint votre PC. Blocs d’alimentation ATX plus récents peuvent fournir Vsb à 2 a. Cela signifie que, si hors de Vsb, IRK ! peut rester éveillé à l’écoute pour les commandes IR tant que le PC est branché sur la prise de courant murale. L’IRK ! circuit s’adresse pour presser les boutons Power et Reset sur votre PC, mais vous devrez percer en quelque sorte la sortie Vsb de faire fonctionner l’alimentation électrique de votre PC. Je ne sais pas du tout cartes mères disposant d’une broche d’en-tête facilement accessible pour Vsb. Cela signifie que si vous souhaitez que cette fonction, puis vous devrez briser physiquement le fil Vsb provenant de l’alimentation du PC. Le fil de Vsb doit être le fil violet .

Notez qu’alimenter IRK ! de Vsb, n’a pas été testé pour le moment, mais devrait fonctionner en principe. Les fonctions de l’interrupteur d’alimentation et interrupteur de réinitialisation fonctionnent tant que IRK ! est alimenté par USB, cependant.

Articles Liés

Étendre le Signal RF USB - clavier sans fil

Étendre le Signal RF USB - clavier sans fil

donc j'ai acheté ce combo clavier/souris de geeks.com ya environ un an.  Il a été d'environ 25 $.  Mais la gamme de l'appareil a été environ un pied à court d'utiliser depuis le canapé.  Il saute et sauter.  Alors j'ai décidé de casser... Fixez-la.Ét
Le clavier sans clé

Le clavier sans clé

Le clavier sans touches. Bien que n'est pas le plus productif, il est encore plutôt cool sur votre bureau. Ce projet devrait prendre plus de 15 minutes (l'étiquetage les clés, c'est la partie la plus longue).AVIS :Certains clavier ne sont pas admissi
Voiture contrôlée à distance de framboise PI

Voiture contrôlée à distance de framboise PI

Je suis de l'époque, lorsque le premier ordinateur personnel est né à microprocesseur Zilog Z-80. Ces jours-là, il faut écrire les codes de programme en langage d'assemblage. Écrire en EEPROM via eeprom brûleurs et programme de modifier/effacer dans
Contrôleur de Reddit, bouton USB Upvote/Downvote

Contrôleur de Reddit, bouton USB Upvote/Downvote

pas trop longtemps j'ai vu la vidéo de "Bouton Awesome" sur le podcast du Magazine faire. Dans la vidéo de Matt Richardson montre comment vous pouvez prendre une carte de développement Teensy et transformez-le en un simple clavier USB. Dans son
Contrôle de distance des mouvements robot

Contrôle de distance des mouvements robot

il s'agit de la façon dont j'ai mis en place un contrôle de distance de mouvement sur mon 3ème véhicule de robot. le fait est que nous pouvons donner une commande (port série ou bluetooth...) au robot, à se déplacer vers l'avant ou vers l'arrière une
Clavier/souris usb dongle sans fil caché & libérer un port usb

Clavier/souris usb dongle sans fil caché & libérer un port usb

c'est mon tout premier enseignement donc si j'ai raté quelque chose ou il est difficile de comprendre s'il vous plaît contactez-moi:)Logitech faire grands claviers sans fil, mais le dongle récepteur n'est pas assez fort pour travailler depuis un port
Pirater un clavier sans fil d’une caisse de résonance de la distance, grâce à TimeSquAir !

Pirater un clavier sans fil d’une caisse de résonance de la distance, grâce à TimeSquAir !

Utiliser un clavier pour lancer des sons avec TimeSquAir !Etape 1: Obtenir un clavier sans filDans ce tutoriel, c'est une Logitech K360Étape 2: Branchez votre clavier sur le TimeSquAirÉtape 3: Allez sur le noeud-rougeLe noeud rouge, prendre le nœud «
Contrôleur de adil, Arduino basé manette sans fil

Contrôleur de adil, Arduino basé manette sans fil

un nouveau projet de télécommande multifonction. Il servira à contrôler les modèles de robots différents dont un quadcopter sur mesure. Il est basé sur le microcontrôleur ArduinoMega2560. Côte-à-côte avec un module de la gamme RF 1200m pour la connec
Comment faire n’importe quel clavier sans fil Rechargeable

Comment faire n’importe quel clavier sans fil Rechargeable

Comment faire n'importe quel clavier sans fil rechargeableQuelques étapes faciles et (Banque de puissance USB bon marchée) peuvent aider à faire n'importe quel clavier sans fil rechargeable. S'il vous plaît voir la vidéo pour l'explication détaillée.
Contrôler votre monde avec votre Pi sans programmation

Contrôler votre monde avec votre Pi sans programmation

Ce Instructable vous montre comment utiliser une carte d'extension abordable simple nommée PiFace sur le dessus de la Raspberry Pi pour contrôler le monde autour de vous, sans aucune compétence technique.Etape 1: Le matérielObtenir d'abord une frambo
Imperméable à l’eau (étanche) clavier sans fil cas/sac refermable

Imperméable à l’eau (étanche) clavier sans fil cas/sac refermable

Clavier touchpad sans fil Logitech K400 a été acheté pour la salle commune, mais le fait qu'il n'était plus portable signifiait qu'elle me sale vite, affaire filthproof/imperméable à l'eau était nécessaire. Rien n'était disponible sur le marché, il a
Passez votre main au contrôle OWI bras robotique... sans attaches

Passez votre main au contrôle OWI bras robotique... sans attaches

L'IDÉE :Il y a au moins 4 autres projets sur Instructables.com (en date du 13 mai 2015) autour de modifier ou contrôler OWI bras robotisé. Il n'est pas surprenant, depuis c'est un tel grand et peu coûteux kit robotique pour jouer avec. Ce projet est
Œil infrarouge USB DIY

Œil infrarouge USB DIY

Dans ce tutoriel, je vais vous montrer comment faire un petit, pas cher (moins de 5 $) récepteur IR USB.Le microcontrôleur utilisé agit comme un clavier standard, donc il devrait fonctionner sur tous les ordinateurs.Avec ce récepteur, vous pouvez uti
Bond en mouvement contrôlé recherche à distance et élimination Robot

Bond en mouvement contrôlé recherche à distance et élimination Robot

Dans le cadre de mon entrée pour le mouvement de saut #3D confiture, j'ai été heureux de construire ce geste sans fil contrôlée Robot de recherche/sauvetage basé sur la Pi de la framboise. Ce projet illustre et fournit un exemple minimaliste de sans