Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Donnez une Seconde Vie à vos Télécommandes : Créez des Objets Connectés DIY avec Arduino

Composants et Fournitures

Arduino Nano R3 ×1
LED 5 mm Rouge (1 pour LED d'état, les autres pour identifier les sorties actives) ×3
LED 5 mm Verte ×1
LED 5 mm Jaune ×1
LED Bleue ×2
Plaque d'Essai (Breadboard) Taille Complète ×1
Fils de Raccordement (génériques) ×1
Interrupteur à Bascule (Off)-On (SPST) ×1
Alimentation Breadboard 5V/3.3V (SparkFun) (Optionnel si alimentation 5V externe ou via USB) ×1
Récepteur IR (générique) (ex: KY-022 37.9 kHz) ×1

À Propos du Projet

Ce projet permet de réutiliser les télécommandes inutilisées d'anciens magnétoscopes, téléviseurs, lecteurs DVD, etc.

Donnez une Seconde Vie à vos Télécommandes : Créez des Objets Connectés DIY avec Arduino

Vous pouvez les utiliser pour allumer des lampes, radiateurs, etc. via des relais, transistors de puissance ou tout dispositif pilotable par un signal 5V. Ici, la démo fait basculer 6 LED. L'idée est de fournir le code et le câblage pour que les signaux vers les LED puissent être redirigés vers n'importe quel dispositif imaginé par l'utilisateur.

Donnez une Seconde Vie à vos Télécommandes : Créez des Objets Connectés DIY avec Arduino

Fonctionnement

Le système « apprend » 6 codes IR depuis n'importe quelle télécommande et les mémorise dans l'EEPROM de l'Arduino (Nano ou UNO). J'utilise les touches 1 à 6, mais n'importe quelles 6 touches fonctionnent. Toute autre touche non reconnue remet toutes les sorties à zéro. Chaque code (entier long sur 4 octets) est stocké en EEPROM (1024 octets disponibles), ce qui persiste après reset ou coupure d'alimentation.

Le montage tient sur une seule breadboard, sauf l'interrupteur. Pour améliorer la réception, j'ai incliné le récepteur IR à 45° et ajouté une petite boîte en carton avec une ouverture, ce qui permet une détection fiable à 1,5-2,5 mètres.

Donnez une Seconde Vie à vos Télécommandes : Créez des Objets Connectés DIY avec Arduino

Programmation (Mode Apprentissage)

Basculez l'interrupteur sur « Learn » : une LED rouge s'allume. La LED 1 clignote, appuyez sur une touche de la télécommande. Dès la reconnaissance, la LED rouge clignote rapidement (vibration visuelle) et passe à la LED suivante. Après les 6 LED, la LED rouge clignote lentement (1 Hz) pour indiquer de repasser en mode « Run ».

Erreur fréquente : oublier de changer de touche sur la télécommande, ce qui programme deux sorties avec le même code. Au démarrage, le système détecte les doublons et fait clignoter les LED concernées pour suggérer une reprogrammation (mais ne l'impose pas, car on peut vouloir plusieurs touches pour une même action).

L'état, les erreurs, etc. sont indiqués par la fréquence de clignotement de la LED rouge d'état. Tout est aussi envoyé sur le moniteur série (plus facile à suivre que les codes de clignotement).

Addendum : Test avec Relais

Testé avec 5 relais en parallèle sur les LED 1-5, pilotant des lampes 230V. Le 6e devrait fonctionner aussi. Attention : les 4 premières sorties ferment sur 0V (logique inversée), j'ai utilisé une porte NAND CD4011 pour les inverser. Le relais unique fonctionne en logique positive (5V). Prudence avec le secteur : danger de mort !

Donnez une Seconde Vie à vos Télécommandes : Créez des Objets Connectés DIY avec Arduino

Code Arduino

/* Toggle 6 LEDs using an IR remote to illustrate how to re-purpose surplus remotes...
   Paul M Dunphy VE1DX March 2020 */

#include <IRremote.h>
#include <EEPROM.h>

long unsigned int intIRCode;
long unsigned int savedIRCodes[6];
long unsigned int dupeCheck[6];

const int Recv_Pin = 2;
const int PinOne = 12, PinTwo = 11, PinThree = 10, PinFour = 9, PinFive = 8, PinSix = 7;
const int switchPin = 4;
const int statusPin = 5;
const unsigned long int repeatKeyPress = 0xFFFFFFFF;

boolean learnMode;
boolean first_iteration;
int togglestate1=0, togglestate2=0, togglestate3=0, togglestate4=0, togglestate5=0, togglestate6=0;
int current_remote_code;
int remote_code_1, remote_code_2, remote_code_3, remote_code_4, remote_code_5, remote_code_6;

IRrecv irrecv(Recv_Pin);
decode_results results;

// Fonctions EEPROM write/read long (4 octets)
void EEPROMWritelong(int address, long value) { ... }
long EEPROMReadlong(long address) { ... }

int Flip_LED(int led, int toggle_state) { ... }
void Reset() { ... }
void guessType() { ... }
int learnCodeRead(int pinCode) { ... }
void Confirm() { ... }
void learn_Mode() { ... }
void run_Mode() { ... }

void setup() {
  first_iteration = true;
  // Vérification EEPROM vierge (0xFFFFFFFF) → pré-chargement codes Sony RM-YD104
  // Configuration pins, lecture EEPROM, détection doublons, initialisation codes
}

void loop() {
  learnMode = (digitalRead(switchPin) == HIGH);
  if (learnMode) { first_iteration = true; Reset(); digitalWrite(statusPin, HIGH); learn_Mode(); Reset(); first_iteration = false; }
  else { digitalWrite(statusPin, LOW); run_Mode(); first_iteration = false; }
}

Schéma de Câblage

Donnez une Seconde Vie à vos Télécommandes : Créez des Objets Connectés DIY avec Arduino

Processus de fabrication

  1. Diodes Électroluminescentes (DEL) : De l'Inception aux Durées de Vie de 100 Ans
  2. Surveillance météo à distance avec Raspberry Pi 3 et PubNub
  3. Construire une télécommande universelle Raspberry Pi professionnelle avec LIRC
  4. Système de surveillance cardiaque à distance avec alertes AWS IoT
  5. Projet Arduino : Mélodie "Coffin Dance" — Construire et jouer le tube viral
  6. Transformer votre vieux téléphone en interrupteur à distance intelligent
  7. Light painting à LED unique : Créez des images dynamiques avec un système motorisé DIY
  8. Les 5 Critères Clés pour Sélectionner une Plateforme de Contrôle
  9. Élimination Sûre et Efficace de Machines Industrielles Obsolètes