Présentation du diable tv, une simple télécommande arduino prank

Cacher dans votre salon et rire comme la boîte TiVo est apparemment possédé par un démon qui exige de regarder les chaînes de magasins de fromage. Que votre but ultime est d`éteindre tous les téléviseurs dans le quartier ou construire une télécommande universelle Siri contrôlée, ce projet sert de point de départ pour apprendre les bases du contrôle IR et récepteurs.

Dans cette "farce", nous allons faire un appareil qui enregistre, puis reproduit, une série de commandes à distance IR. Il va travailler avec tout appareil qui utilise une télécommande IR, ou même un mélange de périphériques à la fois - l`enregistrement jusqu`à 10 touches.

Composants

Voici une liste des choses que vous aurez besoin pour ce projet:

  • fils Arduino et de patch
  • récepteur IR, comme TSOP382 - mais vous devriez être en mesure de trouver un compatible dans les vieux appareils électroniques. Je le mien sorti d`un contrôleur de secours d`éclairage RGB. Ils ont généralement 3 pattes et sont noires, avec un côté à la recherche comme une LED qui a été coupé en deux et collé sur. Je suis sûr qu`il ya un mot technique pour cela.
  • émetteur IR LED, comme TIL38 - encore une fois, ceux-ci sont assez communs, mais j`acheté un nouvelle haute puissance un de Maplin- ils ont l`air identique à tout autre LED, alors assurez-vous de ne pas les confondre dans votre trousse électronique!
  • résistance Convient pour votre LED IR - utilisez cette Calculateur LED compte tenu de la tension d`alimentation (5 V à partir de l`Arduino) et la tension directe et le courant de la fiche de données de LED (généralement autour de 1,2 V à 20 mA). Cela est sorti comme 220 ohms dans mon cas.
  • Pushbutton et 10k pulldown et résistances de 100 ohms.
  • Télécharger le bibliothèque à distance IR par Ken Shirriff de Github et placez dans votre Arduino / Bibliothèques dossier. Il y a aussi quelques exemples de code, nous allons utiliser qui devrait alors être accessible depuis l`Arduino Open -> Bibliothèques menu.

Composants

Câblage

Tackle ce circuit en trois parties - l`interrupteur est un peu délicat, mais tout le reste est facile. Rappelez-vous la jambe courte de la LED avec la face plane est la cathode (masse négative ou) - la branche longue est l`anode (positive).

circuit-diagramme-ir-polisson

Réception des signaux

Allez-y et ouvrir le bibliothèques / irRemote / IRrecvDemo exemple de code. Assurez-vous que le RECV_Pin est réglé correctement, compiler et télécharger, puis ouvrez la console série à 9600 bauds. Prenez toute télécommande que vous avez à la main, le diriger vers votre récepteur et commencer à appuyer sur les boutons. Différents boutons produiront différents codes- certains vont indiquer une longue presse avec le code initial puis FFFFFF, tandis que différentes télécommandes peuvent simplement répéter à nouveau le code.

irrecv

Pour une vue plus détaillée des données en cours de réception, jetez un oeil à la IRrecvDump par exemple à la place, qui indiquera à la fois le type de signal reçu (32-bit NEC dans ce cas), et les valeurs brutes. Bon à savoir, mais dans la plupart des cas, vous voulez juste les valeurs décodées.

irdump

Répétition d`un signal

Nous ne serons pas écrire notre blague aujourd`hui à partir de zéro, alors allez-y et vérifier la irrecord Exemple. La complexité du code augmente fortement ici, mais il est la plupart du temps tout à faire face à traiter différents types de codes IR - fondamentalement, voici ce qui se passe à l`intérieur de la boucle:

  • Vérifiez le bouton est pressé, rejouer le signal actuellement enregistré si elle est et répéter toutes les 50 ms jusqu`à ce que déprimé.
  • Si étant pas pressé et un signal est détecté, notez que.

La plus grande limitation de cet exemple est que cela fonctionne uniquement avec un code à la fois, donc si vous appuyez sur un autre bouton de la télécommande, il va écraser le dernier. Le bouton rejoue simplement le dernier signal qu`il a reçu. Compiler et exécuter le code de sorte que vous pouvez avoir un aller avec ce répéteur de signal de base. Pour la lecture d`un seul signal, il fonctionne très bien, mais qui est de peu d`utilité pratique dans une farce ou autrement.

Le Prank!

Modifions légèrement pour enregistrer 10 ou plus malicieux signaux. Vous pouvez trouver le plein code modifié ici, mais voici un aperçu des changements que je fis au cas où vous souhaitez avoir un aller programmation par vous-même:

  • Définir 3 nouveaux tableaux de taille 10 pour stocker un ensemble de signaux à chaque fois que l`un est détecté, et un entier pour stocker la taille de ces tableaux.
  • Stockez un indice de l`endroit où nous sommes actuellement dans ce tableau. Augmenter l`index à chaque fois qu`un signal est détecté - mais ne pas augmenter si le signal est un code de répétition.
  • Une valeur booléenne qui cesse de plus enregistré une fois que nous avons atteint le maximum.
  • Un booléen pour indiquer si nous sommes en mode de lecture ou non, plutôt que d`avoir à maintenir le button- également modifié la logique de bouton pour activer ce.

Notez que l`indicateur LED sur le Arduino (broche 13) sera activée une fois que la mémoire est pleine. En ce moment, vous devez enregistrer 10 pression de bouton - pas moins - et le mode replay attendrez 1 seconde entre chaque bouton replay. Ici, il est en action:

Vous pouvez jouer avec faire plus de farces IR, ou considérer ce un bon départ sur une plus épique projet domotique- et ne pas oublier de vérifier tous les autres projets Arduino. Partagez vos créations (ou problèmes) dans les commentaires, et s`il vous plaît montrer votre appréciation pour cet article en partageant sur vos réseaux sociaux favoris!

» » Présentation du diable tv, une simple télécommande arduino prank