- Matériaux nécessaires:
- Méthodologie de travail:
- Conditions préalables:
- Fonctionnement d'une télécommande AC:
- Schéma de circuit et explication:
- Décodage de vos signaux AC à distance:
- Programme principal Arduino:
- Installation de l'application Android:
- Fonctionnement de la climatisation contrôlée par téléphone portable:
Dans le monde moderne d'aujourd'hui, où que nous allions, nous avons beaucoup d'appareils électroniques autour de nous. Mais, sur tout, il n'y a qu'un seul appareil que nous avons personnellement dans nos poches tout le temps. Oui, ce sont nos téléphones portables. Désormais, les téléphones portables sont devenus plus qu'un appareil de communication, ce sont nos caméras, ce sont nos cartes, ce sont nos karts commerciaux et que sais-je encore?
Avec cette capacité entre nos mains, c'est vraiment une idée ennuyeuse d'utiliser des télécommandes pour contrôler toutes les applications électroniques de notre maison comme la télévision, la climatisation, le cinéma maison, etc. ou un canapé. Par conséquent, dans ce projet, nous allons créer une petite configuration à l'aide de laquelle vous pouvez contrôler le climatiseur via votre téléphone intelligent en utilisant Bluetooth et Arduino. Cela semble intéressant, non! Construisons un
Matériaux nécessaires:
- Arduino Mega 2560
- TSOP (HS0038)
- Led IR
- Toute couleur LED et résistance 1K (en option)
- HC-06
- Planche à pain
- Connexion des fils
Méthodologie de travail:
Toutes les télécommandes de notre maison que nous utilisons pour contrôler la télévision, le cinéma maison, la climatisation, etc. fonctionnent à l'aide de IR Blasters. Un blaster IR n'est rien d'autre qu'une LED IR qui pourrait blaster un signal par impulsions répétitives; ce signal sera lu par le récepteur dans l'appareil électronique. Pour chaque bouton différent de la télécommande, un signal unique sera émis qui, après lecture par le récepteur, est utilisé pour effectuer une tâche prédéfinie particulière. Si nous sommes capables de lire ce signal sortant de la télécommande, nous pouvons alors imiter le même signal en utilisant une LED IR chaque fois que cela est nécessaire pour effectuer cette tâche particulière. Nous avons précédemment créé un circuit IR Blaster pour la télécommande IR universelle et pour le contrôle automatique de la température CA.
Un TSOP est un récepteur IR qui peut être utilisé pour décoder le signal provenant des télécommandes. Nous utiliserons ce TSOP pour décoder toutes les informations de notre télécommande et les stocker sur Arduino. Ensuite, en utilisant ces informations et une LED IR, nous pouvons recréer les signaux IR de notre Arduino chaque fois que nécessaire.
Conditions préalables:
Pour ce projet AC contrôlé par Bluetooth Arduino, assurez-vous d'avoir un Arduino Mega et aucune autre version d'Arduino, car la taille du code est lourde. Installez la bibliothèque à distance IR en utilisant ce lien pour travailler avec TSOP et IR Blaster.
Fonctionnement d'une télécommande AC:
Avant de commencer le projet, prenez un peu de temps et notez comment fonctionne votre télécommande AC. Les télécommandes AC fonctionnent de manière un peu différente par rapport aux télécommandes TV, DVD IR. Il se peut qu'il n'y ait que 10 à 12 boutons sur votre télécommande, mais ils pourront envoyer de nombreux types de signaux différents. Cela signifie que la télécommande n'envoie pas le même code à chaque fois pour le même bouton. Par exemple, lorsque vous diminuez la température à l'aide du bouton bas pour la rendre à 24 ° C (degrés Celsius), vous obtiendrez un signal avec un ensemble de données, mais lorsque vous appuyez à nouveau pour régler 25 ° C, vous n'obtiendrez pas le même données puisque la température est maintenant de 25 et non de 24. De même, le code pour 25 variera également en fonction de la vitesse du ventilateur, des paramètres de veille, etc. Donc, ne manipulons pas toutes les options et concentrons uniquement les valeurs de température avec une valeur constante pour les autres paramètres.
Un autre problème est la quantité de données envoyées pour chaque pression de bouton, les télécommandes normales avec envoi de 24 bits ou 48 bits, mais une télécommande CA peut envoyer jusqu'à 228 bits car chaque signal contient beaucoup d'informations telles que la température, la vitesse du ventilateur, Temps de sommeil, style Swing, etc. C'est la raison pour laquelle nous avons besoin d'un Arduino Mega pour de meilleures options de stockage.
Schéma de circuit et explication:
Heureusement, la configuration matérielle de ce climatiseur contrôlé par téléphone portable est très simple. Vous pouvez simplement utiliser une maquette et effectuer les connexions comme indiqué ci-dessous.
Le tableau suivant peut également être utilisé pour vérifier vos connexions.
S.Non: |
Broche de composant |
Broche Arduino |
1 |
TSOP - Vcc |
5V |
2 |
TSOP - Gnd |
Gnd |
3 |
TSOP - Signal |
8 |
4 |
LED IR - Cathode |
Gnd |
5 |
LED IR - Anode |
9 |
6 |
HC-05 - Vcc |
5V |
sept |
HC05 - Gnd |
Sol |
8 |
HC05 - Tx |
dix |
9 |
HC05 - Rx |
11 |
Une fois que vos connexions sont effectuées, cela devrait ressembler à ceci ci-dessous. J'ai utilisé une planche à pain pour ranger les choses, mais vous pouvez également utiliser des fils mâles à femelles directement pour brancher tous les composants
Décodage de vos signaux AC à distance:
La première étape pour contrôler votre AC est d'utiliser TSOP1738 pour décoder les codes IR de la télécommande AC. Effectuez toutes les connexions comme indiqué dans le schéma de circuit et assurez-vous que vous avez installé toutes les bibliothèques mentionnées. Ouvrez maintenant le programme d'exemple « IRrecvDumpV2 » qui peut être trouvé dans Fichier -> Exemples -> IRremote -> IRrecvDumpV2 .
int recvPin = 8; IRrecv irrecv (recvPin);
Puisque notre TSOP est connecté à la broche 8, changez le numéro de ligne 9 en int recPin = 8 comme indiqué ci-dessus. Ensuite, téléchargez le programme sur votre Arduino Mega et ouvrez le moniteur série.
Pointez votre télécommande vers TSOP et appuyez sur n'importe quel bouton, pour chaque bouton sur lequel vous appuyez, son signal respectif sera lu par le TSOP1738, décodé par Arduino et affiché dans le moniteur série. Pour chaque changement de température sur votre télécommande, vous obtiendrez des données différentes. Sauvegardez ces données car nous les utiliserons dans notre programme principal. Votre moniteur série ressemblera à quelque chose comme ceci, j'ai également montré le fichier Word sur lequel j'ai enregistré les données copiées.
La capture d'écran montre le code pour régler la température à 26 ° C pour ma télécommande AC. En fonction de votre télécommande, vous obtiendrez un ensemble de codes différent. Copiez de même les codes pour tous les différents niveaux de température. Vous pouvez vérifier tous les codes IR de la télécommande du climatiseur dans le code Arduino donné à la fin de ce tutoriel.
Programme principal Arduino:
Le programme Arduino principal complet peut être au bas de cette page, mais vous ne pouvez pas utiliser le même programme. Vous devez modifier les valeurs de code Signal que nous venons d'obtenir à partir de l'exemple d'esquisse. Ouvrez le programme principal sur votre IDE Arduino et faites défiler jusqu'à cette zone ci-dessous où vous devez remplacer les valeurs du tableau par les valeurs que vous avez obtenues pour votre télécommande.
Notez que j'ai utilisé 10 tableaux dont deux nous utilisions pour allumer et éteindre le courant alternatif tandis que le reste 8 est utilisé pour régler une température différente. Par exemple, Temp23 est utilisé pour définir 23 * C sur votre CA, utilisez donc le code correspondant dans ce tableau. Une fois que cela est fait, il vous suffit de télécharger le code sur votre Arduino.
Nous devons importer deux bibliothèques pour ce projet. L'un est la bibliothèque IRremote que nous venons d'ajouter à Arduino et l'autre est la bibliothèque série logicielle intégrée qui nous aide à utiliser le module Bluetooth.
#comprendre
Ensuite, nous initialisons le module Bluetooth sur les broches 10 et 11, puis utilisons un objet appelé irsend pour accéder à toutes les fonctionnalités IR de la bibliothèque.
SoftwareSerial BT_module (10, 11); // RX, TX IRsend irsend;
Viennent ensuite les lignes de code très importantes. C'est là que les informations pour contrôler votre climatiseur sont présentes. Celui illustré ci-dessous est pour ma télécommande AC, vous devriez avoir obtenu le vôtre à l'étape précédente.
Ensuite, dans la fonction de configuration vide , nous initialisons deux communications série. L'un est Bluetooth à un débit de 9600 bauds et l'autre est un moniteur série à un débit de 57600 bauds.
void setup () {BT_module.begin (9600); // BT fonctionne sur 9600 Serial.begin (57600); // Serial Monitor work son 57600}
À l'intérieur de notre boucle vide ( boucle infinie), nous vérifions s'il y a quelque chose de reçu par le module Bluetooth. Si quelque chose est reçu, nous stockons ces informations dans la variable BluetoothData .
while (BT_module.available ()) // Si des données arrivent {BluetoothData = BT_module.read (); // lisez-le et enregistrez-le Serial.println (BluetoothData); // l'imprimer en série à des fins de test}
Les informations reçues par le Bluetooth seront basées sur le bouton enfoncé sur notre application Android que nous installerons dans notre prochaine étape. Une fois les informations reçues, nous devons simplement déclencher le code IR respectif comme ci-dessous
if (BluetoothData == '2') {irsend.sendRaw (Temp23, sizeof (Temp23) / sizeof (Temp23), khz); delay (2000); // Envoie un signal pour régler Temperatue 23C}
Ici, si le code «2» est reçu, nous devons régler la température du climatiseur à 23 ° C. De même, nous avons le code de 0 à 9 pour exécuter toutes les fonctions de contrôle de base du courant alternatif. Vous pouvez vous référer au code arduino complet à la fin de cette page.
Installation de l'application Android:
La dernière étape de la climatisation contrôlée par téléphone intelligent consiste à installer l'application Android. L'application Android pour ce projet a été créée à l'aide du mode Traitement Android. Le traitement est un excellent outil pour créer des fichiers.EXE ou des fichiers APK pour vos projets intégrés. C'est une plate-forme Open source tout comme Arduino et donc totalement gratuite à télécharger.
Si vous ne voulez pas aller trop loin, vous pouvez simplement télécharger le fichier APK à partir d'ici à l'intérieur du fichier zip et l'installer directement sur votre téléphone mobile. Ouvrez l'application et vous obtiendrez un écran comme indiqué ci-dessous, après quoi vous pourrez passer à l'étape suivante et profiter du travail avec le projet. Mais si vous souhaitez modifier le programme de l'application pour l'adapter à vos besoins, vous pouvez lire plus loin.
Le fichier de programme complet pour le code de traitement peut être téléchargé à partir d'ici. Ce Zip aura le code et la source d'image à l'aide desquels l'application fonctionne. Après avoir ouvert le code, vous pouvez modifier les lignes suivantes pour l'adapter à vos besoins.
Comme dit précédemment, le traitement est similaire à Arduino. Il a donc également une configuration vide et des fonctions de boucle vide (ici dessiner). À l'intérieur de la fonction de configuration d' annulation, nous demanderons au Bluetooth du téléphone de se connecter au Bluetooth d'Arduino. Le nom de mon appareil ici est «HC-05», donc ma ligne de code sera
bt.start (); // commence à écouter les connexions BT bt.getPairedDeviceNames (); bt.connectToDeviceByName ("HC-05"); // Connectez-vous à notre module bluetooth HC-06
Ensuite, dans les fonctions load_buttons () , vous pouvez dessiner autant de boutons que vous le souhaitez. J'ai dessiné 10 boutons comme indiqué sur l'application. Ensuite, nous avons la fonction read_buttons () qui est utilisée pour détecter quel bouton vous touchez. Chaque bouton a une couleur spécifique, donc lorsqu'un utilisateur touche l'écran, nous vérifions la couleur qu'il a touchée et déterminons le bouton qu'il a touché. Un exemple de code pour créer un bouton et le sélectionner en fonction de la couleur est présenté ci-dessous
remplissage (255, 145,3); rect (largeur / 2-largeur / 4, hauteur / 2, largeur / 4, hauteur / 12); remplir (255); texte ("25C", largeur / 2-largeur / 4, hauteur / 2); // bouton 5 if (color_val == - 13589993) {byte data = {'0'}; bt.broadcast (données);}
La ligne "byte data = {'0'};" est une ligne très importante. C'est là que nous décidons quel code doit être envoyé à l'Arduino via Bluetooth. Ici, si ce bouton est enfoncé, le caractère «0» est envoyé de Bluetooth à Arduino. De même, nous pouvons envoyer un caractère différent pour différents boutons. Ces caractères peuvent ensuite être comparés du côté Arduino et des actions respectives peuvent être prises.
Allez-y et tripotez le code, si vous avez des doutes, contactez-moi via la section des commentaires et ferons de mon mieux pour vous aider.
Fonctionnement de la climatisation contrôlée par téléphone portable:
Une fois que vous êtes prêt avec votre matériel, Arduino Code et applications Android, il est temps de profiter de la sortie. Téléchargez le code Arduino sur votre matériel et placez-le face à votre secteur. Ouvrez maintenant l'application Android sur votre téléphone mobile, si tout fonctionne comme prévu, vous devriez voir « Connecté à: nom_appareil (un code) » comme indiqué ci-dessous
Maintenant, appuyez simplement sur n'importe quel bouton de votre application Android et cela devrait déclencher une action respective sur le CA comme si vous utilisiez une télécommande. Vous pouvez ajouter autant de boutons que vous le souhaitez en modifiant le code et même automatiser votre climatisation en fonction de votre température ambiante ou de votre présence. Vérifiez le code Arduino complet et la vidéo ci-dessous.
J'espère que vous avez apprécié le projet et que vous en avez compris le concept. Comme toujours, si vous rencontrez un problème pour faire ce travail, vous pouvez utiliser les forums pour poster vos questions et les résoudre.
Le fichier APK pour installer l'application Android peut être téléchargé à partir d'ici.