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

FlickMote

Composants et fournitures

Capteur UltraSonique
× 1
Émetteur IR (générique)
× 1
Cathode commune diffuse RVB
× 1
Arduino 101
× 1

Applications et services en ligne

Arduino IDE

À propos de ce projet

INTRODUCTION

Le contrôle de l'électroménager et des gadgets électroniques via une télécommande infrarouge est désormais généralisé. Mais la même tâche de contrôle peut être effectuée plus facilement. Le principal motif de l'objectif du nouveau système de télécommande gestuelle est de supprimer le besoin de regarder dans la télécommande à main et de rechercher une clé spécifique pour une fonction spécifique, principalement pour les plus anciennes. Ce projet présente un nouveau système pour contrôler les appareils ménagers par le geste de la main en tant que dispositif de télécommande. Le projet sera appelé flickremote dans ce rapport. Il utilise un télémètre à ultrasons pour déterminer le geste de l'utilisateur et émet un signal IR, Microcontrôleur Developer Board Arduino 101

COMPOSANTS MATÉRIELS

1. Un Arduino 101 ou uno

2. Un module à ultrasons HC-SR04

3. Une LED infrarouge

4. Une résistance appropriée pour votre LED infrarouge (220R)

5. Une LED RVB

6. Une planche à pain et des fils

COMMENT ÇA FONCTIONNE :

Ce projet utilise un télémètre à ultrasons pour déterminer le geste de l'utilisateur et émet un signal IR vers un téléviseur sur la commande donnée. La distance ou les pouces peuvent être modifiés dans le code qui correspond à votre convenance

- Balayage haut (> 10 pouces) =Canal vers le haut

- Balayage bas =Canal vers le bas

- Maintien élevé (> 10 pouces) =Augmenter le volume

- Maintien bas =Baisser le volume

- Capteur de couverture (<3in) =Activer / Désactiver

Schéma de circuit utilisant Fritzing :

CONSTRUCTION :

1. Connectez la LED IR à la broche 3 via une résistance appropriée, puis connectez la cathode à GND.

2. Connectez le capteur à ultrasons à 5v et GND où les broches le spécifient. Connectez la broche de déclenchement à la broche 8 et la broche d'écho à 7. Vous pouvez configurer ces broches dans le programme

3. Connectez la LED RVB à GND et aux broches 11 (rouge), 10 (vert), 9 (bleu). Ces broches sont également configurables.

CONTROLES

Puissance

En glissant sur le capteur à moins de 3 pouces, la LED clignotera en violet. C'est la confirmation qu'un signal « allumer/éteindre » est prêt à être envoyé. Pour éviter qu'il n'éteigne accidentellement le téléviseur, j'ai fait attendre le croquis un deuxième balayage dans les 5 secondes suivant le premier pour confirmer. À ce stade, le signal est envoyé au téléviseur pour s'allumer ou s'éteindre.

Chaîne

Un balayage à moins de 10 pouces du capteur (mais pas à moins de 3) entraînera un changement de canal vers le bas. Un balayage entre 10 et 20 pouces entraînera un changement de chaîne vers le haut.

Volume

Tenir votre main à moins de 10 pouces du capteur (mais pas à moins de 3) entraînera une baisse du volume. Tenir entre 10 et 20 pouces fera augmenter le volume. Le volume continuera à changer (vers le haut ou vers le bas) jusqu'à ce que votre main soit retirée

AVANTAGES ET AMÉLIORATION :

Supprime le besoin de regarder dans la télécommande portable et de rechercher une touche spécifique pour une fonction spécifique

Une solution pour contrôler le gadget (TV) pour les aveugles et les personnes à mobilité réduite

Le projet peut être amélioré en ajoutant plus de fonctionnalités pour contrôler tous les appareils ménagers en utilisant la même méthode

MERCI   VOUS

Code

  • Code
CodeC/C++
/* Swipe Remote ControlCe croquis utilise un télémètre à ultrasons pour déterminer le geste de l'utilisateur et émet un signal IR vers un téléviseur Sony en fonction de la commande donnée. Maintien élevé (> 10 pouces) =Volume haut - Maintien bas =Volume bas - Capteur de couverture (<3 pouces) =Activer / DésactiverCréé par Vignesh JaishankarCe code utilise la bibliothèque IRremote (https://github.com/shirriff/Arduino-IRremote) */#include // Définit pour les fonctions de contrôle#define CONTROL_CH 1 // Changement de canal#define CONTROL_VOL 2 // Volume#define CONTROL_POW 3 // Alimentation#define CONTROL_UP 1#define CONTROL_DOWN -1#define DIST_MAX 20 // Distance maximale en pouces, tout ce qui précède est ignoré.#define DIST_DOWN 10 // Seuil pour les commandes haut/bas. S'il est supérieur, la commande est "up". Si inférieur, "down".#define DIST_POW 3 // Seuil pour la commande d'alimentation, inférieur à =mise sous/hors tension// IR PINconst int irPin =3; // ceci est défini dans la bibliothèque, cette var est juste un rappel. MODIFIER CELA NE CHANGERA PAS LE PIN DANS LA BIBLIOTHÈQUE // 2 Pin Ping Sensorconst int pingPin =8; const int echoPin =7; // LED de confirmation Pinsconst int led =13; //LED interne pour le débogage haut/basconst int ledR =11;const int ledG =10;const int ledB =9;// LED on timerunsigned long timer;// Objet émetteur IRIRsend irsend;// Drapeau de confirmation d'alimentation (nécessite deux balayages pour envoyer le signal)boolean powerConfirmed =false;void setup() { // initialise la communication série et définit les broches Serial.begin(9600); pinMode (led, SORTIE); pinMode(ledR, SORTIE); pinMode(ledG, SORTIE); pinMode(ledB, SORTIE); pinMode(pingPin, SORTIE); pinMode(echoPin, INPUT); timer =millis();}void loop(){ // Serial.println(millis()); longue durée, pouces; valeur entière ; // Vérifier une durée de lecture =doPing(); // Minuteur pour confirmer les actions (actuellement uniquement l'alimentation) if (timer &&timer <(millis() - 5000) &&(millis()> 5000)) { Serial.println("timer reset"); minuteur =faux ; } digitalWrite(led, LOW); setColor(0, 0, 0); // off // convertit le temps en une distance inch =microsecondsToInches(duration); // Si moins de pouces maximum, agissez if (pouces  DIST_MAX) { doIR(CONTROL_CH, value); // glisser } else { // volume int d =500; // le premier délai est plus long pour un seul changement de volume // répéter jusqu'à ce que la main soit retirée while (inches  DIST_DOWN) { digitalWrite(led, HAUT); renvoie CONTROL_UP ; } else { digitalWrite(led, LOW); renvoie CONTROL_DOWN ; }}/** Déclencher le code IR correct*/void doIR(int control, int val){ switch(control) { case CONTROL_POW:// power Serial.println("power on/off 0xa90"); for (int i =0; i <3; i++) { setColor(255, 0, 0); irsend.sendSony (0xa90, 12); // Retard du code d'alimentation du téléviseur Sony (40); } Pause; case CONTROL_CH :setColor (0, 255, 0); // sortie 'canal haut/bas' en fonction de val if (val ==CONTROL_UP) { digitalWrite(led, HIGH); for (int i =0; i <3; i++) { irsend.sendSony (0x90, 12); retard (40); } Serial.println("channel up 0xD00A"); } else // down { for (int i =0; i <3; i++) { irsend.sendSony(0x890, 12); retard (40); } Serial.println("canal vers le bas 0x3002"); } Pause; case CONTROL_VOL:setColor(0, 0, 255); // sortie 'volume haut/bas' en fonction de val if (val ==CONTROL_UP) { digitalWrite(led, HIGH); for (int i =0; i <3; i++) { irsend.sendSony (0x490, 12); retard (40); } Serial.println("volume jusqu'à 0x490"); } else //down { for (int i =0; i <3; i++) { irsend.sendSony(0xC90, 12); retard (40); } Serial.println("volume bas 0xC90"); } Pause; }}void setColor(int rouge, int vert, int bleu){ analogWrite(ledR, rouge); analogWrite(ledG, vert); analogWrite(ledB, bleu);}long doPing(){ digitalWrite(pingPin, LOW); délaiMicrosecondes(2) ; digitalWrite(pingPin, HAUT); délaiMicrosecondes(5) ; digitalWrite(pingPin, LOW); return pulseIn(echoPin, HIGH);}long microsecondsToInches(long microseconds){ return microseconds / 74/2;}long microsecondsToCentimeters(long microseconds){ return microseconds / 29/2;}

Schémas

flickmote_9Gx3XNFHEp.fzz

Processus de fabrication

  1. Machine à LÉVITATION ULTRASONIQUE utilisant ARDUINO
  2. Arduino Spybot
  3. Téléviseur maison B-Gone
  4. horloge maîtresse
  5. Trouvez-moi
  6. Puissance Arduino
  7. Tech-TicTacToe
  8. Arduino quadrupède
  9. Joystick Arduino