Pont IR Intelligent SmartThings avec Arduino UNO et ThingShield
Composants et Fournitures
| Composant | Quantité |
|---|---|
| Arduino UNO | 1 |
| Shield SmartThings pour Arduino | 1 |
| LED émettrice IR | 1 |
| Diode réceptrice IR | 1 |
| Résistance 100 Ω (optionnelle) | 1 |
À Propos du Projet
Introduction
Une simple télécommande TV devient bien plus puissante lorsqu'elle est connectée au cloud SmartThings. Avec un nombre minimal de composants et un résultat immédiat, ce projet est idéal pour découvrir la plateforme.
Contexte : Arduino et le ThingShield
Le ThingShield SmartThings facilite le prototypage d'appareils SmartThings avec Arduino. Le shield se connecte directement à l'UNO et communique avec le hub SmartThings via le protocole Zigbee. Un commutateur sur le shield permet de choisir entre les broches 0/1 ou 2/3 pour la communication série avec l'Arduino. La broche 6 est réservée par le ThingShield.
Plus d'informations pour débuter avec Arduino : arduino.cc/en/Guide/Introduction
Étape 1 : Matériel Requis
- 1x Shield SmartThings Arduino ThingShield
- 1x Arduino Uno
- 1x Récepteur IR
- 1x LED émettrice IR
- 1x Résistance 100 Ω (optionnelle)
Étape 2 : Bibliothèque IR
Le projet utilise l'excellente bibliothèque Arduino IRremote de Ken Shirriff : GitHub. Installez-la normalement (guide). Modifiez ensuite IRRemoteInt.h pour utiliser le timer sur la broche 9 (dans cet exemple, la broche 3 sert à la communication avec le ThingShield).
Étape 3 : Croquis Arduino
Téléversez le croquis sur votre Arduino (voir section Code).
Étape 4 : Montage
Le montage est simple : placez le ThingShield sur l'Arduino. Bien que le schéma ne montre que l'Arduino, le brochage reste identique avec le shield.
- Récepteur IR : broches GND et 5V, broche de données sur Arduino pin 11
- LED émettrice IR : anode sur pin 9, cathode sur GND
- La résistance 100 Ω est optionnelle car la LED clignote rapidement ; en continu, le courant maximal pourrait la griller.
Étape 5 : Création d'un Type d'Appareil SmartThings Personnalisé
Dans l'IDE SmartThings, créez un nouveau type d'appareil ("My Device Types" → "New SmartDevice"). Nommez-le "Ir Bridge". Définissez les attributs et commandes pour deux boutons programmables et un bouton d'enregistrement. Copiez la définition de l'appareil (section Code), sauvegardez et publiez.
Étape 6 : Mise à Jour du ThingShield vers le Nouveau Type
Associez votre ThingShield au hub SmartThings si ce n'est pas déjà fait (maintenez le bouton "Switch" 6 secondes, puis ajoutez via l'app). Dans l'IDE, allez dans "Devices", sélectionnez votre ThingShield, cliquez "Edit", choisissez votre nouveau type "Ir Bridge" dans le menu "Type", donnez un nom explicite et validez.
Étape 7 : Écriture de l'Application SmartThings (SmartApp)
Dans "My SmartApps", créez un "New SmartApp". Nommez-le, ajoutez une description et la catégorie "My apps". Copiez le code SmartApp (section Code). Notez la référence au type d'appareil : input "irDevice", "device.IrBridge" (les espaces sont supprimés, la première lettre et celles suivant un espace sont majuscules). Sauvegardez et publiez.
Étape 8 : Activation du SmartApp
Dans l'application smartphone SmartThings, associez le SmartApp à votre appareil IR et sélectionnez les interrupteurs à contrôler. Cliquez "Install". Pour programmer les boutons : cliquez l'icône d'engrenage sur la tuile, appuyez sur le gros bouton "Record" (devient rouge), cliquez sur la tuile à programmer (Play/Pause ou B - devient jaune), visez la télécommande vers le ThingShield et appuyez sur le bouton à apprendre. Le ThingShield envoie le code au cloud et l'associe au bouton choisi. La tuile devient verte, "Record" redevient blanc. Désormais, appuyer sur ce bouton de télécommande basculera l'interrupteur associé.
Codes Sources
- Croquis Arduino : Gère la réception/émission IR via la bibliothèque IRremote et la communication Zigbee avec le ThingShield (broches 2/3 via SoftwareSerial).
- Définition de l'appareil (Groovy) : Tuiles UI (Record, Button A, Button B), analyse des messages Zigbee, gestion modes enregistrement/lecture.
- SmartApp (Groovy) : Abonnement aux événements "button.A" et "button.B" pour basculer les interrupteurs sélectionnés.
Processus de fabrication
- Construire un robot avec Raspberry Pi et Python : Guide complet
- Construire un Segway auto‑équilibré avec Raspberry Pi
- Exploiter les données dans l'Internet de la fiabilité : stratégies pour une gestion efficace
- Photographie Haute Vitesse : Capturez les Gouttes d'Eau avec Arduino Nano
- Capteur CO2 K30 : Surveillance en temps réel de la qualité de l'air intérieur
- Faciliter la communication sourd-aveugle avec 1Sheeld et Arduino
- Construire une Tirelire Intelligente : Contrôler un Accepteur de Pièces avec Arduino Nano
- Contrôler une LED par Bluetooth avec Arduino et MIT App Inventor
- Construire la main-d'œuvre de demain : Comment l'automatisation intelligente améliore l'expérience employé