Comment concevoir un système domotique basé sur Arduino à l'aide de la télécommande TV?

Comment concevoir un système domotique basé sur Arduino à l'aide de la télécommande TV?

Le système domotique est le concept qui connaît la croissance la plus rapide du monde moderne. La domotique intelligente est un concept dans lequel un seul appareil est utilisé pour contrôler divers paramètres électroniques d'une maison, par exemple, la commutation d'appareils électroménagers, la surveillance des alarmes de sécurité, l'automatisation des portes de garage, etc.

Système d'automatisation utilisant une télécommande TV



Dans ce projet, nous utiliserons une simple télécommande de télévision pour créer un système domotique simple. Cette télécommande TV contrôlera tous les appareils connectés à la carte microcontrôleur.



Comment utiliser une télécommande TV pour créer un système domotique?

Les systèmes domotiques déjà disponibles sur le marché sont très coûteux. Nous pouvons utiliser une carte Arduino pour connecter différents appareils ménagers et les contrôler à l'aide d'une télécommande TV. Ce sera très peu coûteux et un moyen efficace d'automatiser la maison. Maintenant, faisons un pas en avant et commençons à collecter des informations pour démarrer le projet.

Étape 1: Collecte des composants

La meilleure approche pour démarrer un projet est de faire une liste de composants et de passer par une brève étude de ces composants car personne ne voudra rester au milieu d'un projet simplement à cause d'un composant manquant. Une liste des composants que nous allons utiliser dans ce projet est donnée ci-dessous:



  • Récepteur IR TSOP 1738
  • Télécommande
  • Planche à pain
  • Fils de cavalier

Étape 2: étude des composants

Maintenant que nous savons quels composants nous allons utiliser, étudions-les brièvement pour mieux comprendre le fonctionnement de notre circuit.

Arduino Nano est une carte microcontrôleur qui effectue diverses opérations dans différents circuits. Cela nécessite un Code C cela indique au conseil les tâches à effectuer et comment. Il dispose de 13 broches d'E / S numériques, ce qui signifie que nous pouvons faire fonctionner 13 appareils différents. Si vous souhaitez contrôler plus de 13 appareils, utilisez Arduino Mega.

Arduino Nano



TSOP 1738 est un module IR pour les télécommandes. Il a une fréquence porteuse de 38 kHz. Il se compose d'un photodétecteur qui détecte le signal puis le démodule. Sa sortie est directement utilisée par Arduino ou toute autre carte microcontrôleur.

Capteur TSOP

Un module de relais est un appareil de commutation. Cela fonctionne selon deux modes, Normalement ouvert (NON) et Normalement Fermé (NC) . En mode NON, le circuit est toujours interrompu sauf si vous envoyez un signal HIGH au relais via Arduino. Le mode NC se détériore dans l'autre sens, le circuit est toujours complet sauf si vous allumez le module de relais. Assurez-vous de connecter le fil positif de votre appareil électrique au module de relais de la manière indiquée ci-dessous.

Module de relais

Une télécommande de téléviseur standard a un bouton d'alimentation et toutes les touches numériques. Ces touches numériques seront utilisées pour la commutation des appareils électriques.

Étape 3: Création du circuit

Maintenant que nous savons comment fonctionnent tous les composants, avançons et commençons à faire le circuit.

  1. Prenez une maquette et insérez-y votre Arduino Nano et TSOP 1738.
  2. Mettez sous tension le module TSOP 1738 et le module relais via Arduino. Connectez le EN DEHORS broche de TSOP1738 à la broche 11 d'Arduino et connectez également le DANS broches du module de relais à Arduino. Je ne contrôle que deux appareils électriques, donc je n’utilise que des modules de relais ici. Si vous souhaitez contrôler plus d'appareils, connectez de la même manière plus de modules de relais.

    Schéma

Étape 4: Premiers pas avec Arduino

Si vous n’avez pas travaillé sur Arduino IDE auparavant, ne vous inquiétez pas car une étape par étape pour configurer Arduino IDE est indiquée ci-dessous.

  1. Connectez votre carte Arduino au PC et ouvrez le panneau de configuration. Cliquer sur Matériel et son. Ouvert Périphériques et imprimante et recherchez le port auquel votre carte est connectée. Dans mon cas c'est COM14 mais c'est différent selon les ordinateurs.

    Trouver un port

  2. Cliquez sur le menu Outil et définissez la carte comme Arduino Nano (AT Mega 328P) .

    Conseil de réglage

  3. Cliquez à nouveau sur le menu Outil et définissez le port que vous avez précédemment observé dans le panneau de configuration.

    Réglage du port

  4. Dans le même menu Outil, définissez le processeur comme ATmega328p (ancien chargeur de démarrage) .

    Processeur de paramétrage

  5. Pour décoder les données envoyées par la télécommande, nous avons besoin d'une bibliothèque spéciale pour un code Arduino. Cette bibliothèque est jointe avec le code dans le lien ci-dessous. Pour ajouter la bibliothèque, allez Esquisse> Inclure la bibliothèque> Ajouter une bibliothèque ZIP . Une boîte apparaîtra. Recherchez le dossier ZIP sur votre ordinateur et cliquez sur OK pour inclure le dossier.

    Inclure la bibliothèque

  6. Téléchargez le code ci-dessous et cliquez sur le bouton de téléchargement pour graver le code dans votre carte Arduino Nano.

    Télécharger

Clique sur le Télécharger bouton pour obtenir le code.

Étape 5: Code

Le code est très facile à comprendre mais il est néanmoins brièvement décrit ci-dessous.

1. void setup() est une fonction dans laquelle nous initialisons les broches INPUT ou OUTPUT. Cette fonction définit également la vitesse de transmission en utilisant Serial.begin () commander. Le débit en bauds est la vitesse de communication du microcontrôleur.

2. boucle vide () est une fonction qui s'exécute à plusieurs reprises dans une boucle. Dans cette boucle, nous écrivons un code qui indique à la carte microcontrôleur quelles tâches effectuer et comment.

3. Lorsque nous envoyons des données depuis la télécommande du téléviseur, Arduino doit décoder ces données. Pour cela, nous avons inclus une bibliothèque spéciale #comprendre <IRremote.h>. Une fonction de cette bibliothèque sera utilisée pour décoder les données de chaque clé, envoyées depuis la télécommande.

#include int RECV_PIN = 11; IRrecv irrecv (RECV_PIN); résultats decode_results; void setup () {Serial.begin (9600); irrecv.enableIRIn (); } void loop () {if (irrecv.decode (& results)) {Serial.println (results.value, HEX); irrecv.resume (); } retard (100); }

Le code ci-dessus lit les valeurs envoyées par la télécommande et les décode à sa valeur HEX correspondante. Ce code est tiré des exemples de la bibliothèque IRremote dans Arduino IDE. Ce code est également joint dans le lien de téléchargement par le nom test.ino fourni ci-dessus. La sortie de cette fonction, lorsque toutes les touches numériques sont enfoncées, sera:

Décoder

4. Dans le code.ino attaché dans le lien de téléchargement ci-dessus, les broches d'Arduino qui seront utilisées sont initialisées. dans le boucle vide () fonction, lorsqu'une touche de la télécommande est enfoncée, le Faux la condition est tournée vers Vrai et le relais respectif est activé. Si le même bouton est à nouveau enfoncé, il basculera la condition booléenne et désactivera le relais. Le bouton d'alimentation active ou désactive tous les relais.

void loop () {if (irrecv.decode (& results)) {Serial.println (results.value, HEX); retard (100); if (results.value == 0x40BD00FF) {i =! i; DigitalWrite (IN1, i); } if (results.value == 0x40BD807F) {j =! j; DigitalWrite (IN2, j); // délai (200); } if (results.value == 0x40BD28D7) {m =! m; DigitalWrite (IN1, m); DigitalWrite (IN2, m); DigitalWrite (IN3, m); DigitalWrite (IN4, m); // délai (200); } irrecv.resume (); // Recevoir la valeur suivante // delay (100); }}

C'était toute la procédure pour créer un système domotique simple contrôlé par une télécommande de télévision. Désormais, vous pouvez connecter des modules de relais en fonction du nombre de vos appareils et profiter de votre propre système domotique intelligent.