Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

FlickMote

Komponenten und Verbrauchsmaterialien

Ultraschallsensor
× 1
IR-Sender (generisch)
× 1
RGB diffundierte gemeinsame Kathode
× 1
Arduino 101
× 1

Apps und Onlinedienste

Arduino-IDE

Über dieses Projekt

EINFÜHRUNG

Die Steuerung von Haushaltsgeräten und elektronischen Geräten über eine Infrarot-Fernbedienung ist heute allgemein üblich. Aber die gleiche Kontrollaufgabe kann einfacher erledigt werden. Das Hauptmotiv der Verwendung des neuen Systems der Handgesten-Fernbedienung besteht darin, die Notwendigkeit zu beseitigen, in die Handfernbedienung zu schauen und nach einem bestimmten Schlüssel für eine bestimmte Funktion zu suchen, hauptsächlich für ältere. Dieses Projekt präsentiert ein neuartiges System zur Steuerung von Haushaltsgeräten durch Handgesten als Fernbedienung. Das Projekt wird in diesem Bericht als flickremote bezeichnet. Es verwendet einen Ultraschall-Entfernungsmesser, um die Geste des Benutzers zu bestimmen und gibt ein IR-Signal aus, Microcontroller Developer Board Arduino 101

HARDWARE-KOMPONENTEN

1. Ein Arduino 101 oder uno

2. Ein Ultraschallmodul HC-SR04

3. Eine Infrarot-LED

4. Ein geeigneter Widerstand für Ihre Infrarot-LED (220R)

5. Eine RGB-LED

6. Ein Steckbrett und Drähte

WIE ES FUNKTIONIERT:

Dieses Projekt verwendet einen Ultraschall-Entfernungsmesser, um die Geste des Benutzers zu bestimmen und gibt auf den gegebenen Befehl ein IR-Signal an einen Fernseher aus. Die Entfernung oder Zoll können im Code bearbeitet werden, der Ihren Wünschen entspricht

- Hohes Wischen (> 10 Zoll) =Kanal aufwärts

- Niedriges Wischen =Kanal runter

- Hohes Halten (> 10 Zoll) =Lautstärke erhöhen

- Niedriges Halten =Lautstärke verringern

- Abdeckungssensor (<3in) =Ein-/Ausschalten

Schaltungsdiagramm mit Fritzing:

BAU :

1. Verbinden Sie die IR-LED über einen geeigneten Widerstand mit Pin 3 und verbinden Sie dann die Kathode mit GND.

2. Verbinden Sie den Ultraschallsensor mit 5V und GND, wo die Pins angeben. Verbinden Sie den Trigger-Pin mit Pin 8 und den Echo-Pin mit 7. Sie können diese Pins im Programm konfigurieren

3. Verbinden Sie die RGB-LED mit GND und den Pins 11 (rot), 10 (grün), 9 (blau). Diese Pins sind auch konfigurierbar.

KONTROLLE

Kraft

Wenn Sie innerhalb von 3 Zoll über den Sensor wischen, blinkt die LED violett. Dies ist die Bestätigung, dass ein 'Ein/Aus'-Signal zum Senden bereit ist. Um zu verhindern, dass der Fernseher versehentlich ausgeschaltet wird, habe ich die Skizze auf einen zweiten Wisch innerhalb von 5 Sekunden nach dem ersten zur Bestätigung warten lassen. An diesem Punkt wird das Signal zum Ein- oder Ausschalten an den Fernseher gesendet.

Kanal

Wenn Sie innerhalb von 10 Zoll (aber nicht innerhalb von 3) um den Sensor wischen, wird der Kanal nach unten geändert. Wenn Sie zwischen 10 und 20 Zoll wischen, ändert sich der Kanal nach oben.

Volumen

Wenn Sie Ihre Hand innerhalb von 10 Zoll (aber nicht innerhalb von 3) vom Sensor halten, wird die Lautstärke verringert. Wenn Sie zwischen 10 und 20 Zoll halten, ändert sich die Lautstärke. Die Lautstärke ändert sich weiter (nach oben oder unten), bis Ihre Hand entfernt wird

VORTEILE UND VERBESSERUNG:

Beseitigt die Notwendigkeit, in die Handfernbedienung zu schauen und nach einer bestimmten Taste für eine bestimmte Funktion zu suchen

Eine Lösung zur Steuerung des Gadgets (TV) für Jalousien und körperlich behinderte Personen

Das Projekt kann verbessert werden, indem mehr Funktionen hinzugefügt werden, um alle Haushaltsgeräte mit derselben Methode zu steuern

DANKE  

Code

  • Code
CodeC/C++
/* Swipe Remote ControlDiese Skizze verwendet einen Ultraschall-Entfernungsmesser, um die Geste des Benutzers zu bestimmen und gibt basierend auf dem gegebenen Befehl ein IR-Signal an einen Sony-Fernseher aus.- Hohes Wischen (> 10 Zoll) =Kanal hoch- Niedriges Wischen =Kanal runter- Hoch halten (> 10 Zoll) =Lautstärke erhöhen - Niedrig halten =Lautstärke verringern - Abdeckungssensor (<3 Zoll) =Ein- / AusschaltenErstellt von Vignesh Jaishankar Dieser Code verwendet die IRremote-Bibliothek (https://github.com/shirriff/Arduino-IRremote) */#include // Definiert für Steuerfunktionen#define CONTROL_CH 1 // Kanalwechsel#define CONTROL_VOL 2 // Lautstärke#define CONTROL_POW 3 // Power#define CONTROL_UP 1#define CONTROL_DOWN -1#define DIST_MAX 20 // Maximaler Abstand in Zoll, alles darüber wird ignoriert.#define DIST_DOWN 10 // Schwellenwert für Auf-/Ab-Befehle. Wenn höher, ist der Befehl "up". Wenn niedriger, "down".#define DIST_POW 3 // Schwellenwert für Power-Befehl, niedriger als =Power on/off// IR PINconst int irPin =3; // dies ist in der Bibliothek definiert, diese var ist nur eine Erinnerung. ÄNDERN WIRD DIE PIN IN DER BIBLIOTHEK NICHT ÄNDERT // 2 Pin Ping Sensorconst int pingPin =8;const int echoPin =7;// Bestätigungs-LED Pinsconst int led =13; // interne LED für Up/Down-Debuggingconst int ledR =11;const int ledG =10;const int ledB =9;// LED auf langem Timer mit Timer;// IR-SenderobjektIRsend irsend;// Leistungsbestätigungsflag (benötigt zwei Wischvorgänge um ein Signal zu senden) boolean powerConfirmed =false;void setup () {// die serielle Kommunikation initialisieren und die Pins setzen Serial.begin (9600); pinMode (led, AUSGANG); pinMode (ledR, AUSGANG); pinMode (ledG, AUSGANG); pinMode (ledB, AUSGANG); pinMode (pingPin, AUSGANG); pinMode (echoPin, EINGANG); Timer =millis ();} ungültige Schleife () {// Serial.println (millis (); lange Dauer, Zoll; int-Wert; // Auf Lesedauer prüfen =doPing(); // Timer zum Bestätigen von Aktionen (derzeit nur Strom) if (timer &&timer <(millis() - 5000) &&(millis()> 5000)) { Serial.println("timer reset"); Timer =falsch; } digitalWrite (led, LOW); setColor (0, 0, 0); // aus // die Zeit in eine Entfernung umwandeln Zoll =microsecondsToInches(duration); // Wenn weniger als max. Zoll entfernt, handeln Sie, wenn (Zoll  DIST_MAX) { doIR(CONTROL_CH, Wert); // wischen} else {// Volumen int d =500; // erste Verzögerung ist länger für einzelne Lautstärkeänderungen // Wiederholen, bis die Hand entfernt wird while (inches  DIST_DOWN) { digitalWrite(led, HOCH); CONTROL_UP zurückgeben; aufrechtzuerhalten. Sonst { DigitalWrite (led, LOW); CONTROL_DOWN zurückgeben; }}/** Korrigieren Sie den IR-Code */void doIR (int control, int val) {switch (control) { case CONTROL_POW:// power Serial.println ("power on / off 0xa90"); für (int i =0; i <3; i ++) { setColor (255, 0, 0); irsend.sendSony(0xa90, 12); // Sony TV-Netzcodeverzögerung (40); } brechen; Fall CONTROL_CH:setColor(0, 255, 0); // Ausgabe 'Kanal auf / ab' abhängig von val if (val ==CONTROL_UP) { DigitalWrite (led, HIGH); für (int i =0; i <3; i++) {irsend.sendSony (0x90, 12); Verzögerung (40); } Serial.println ( "Kanal auf 0xD00A"); aufrechtzuerhalten. Sonst // runter { for (int i =0; i <3; i++) {irsend.sendSony (0x890, 12); Verzögerung (40); } Serial.println ( "Kanal runter 0x3002"); } brechen; Fall CONTROL_VOL:setColor(0, 0, 255); // Ausgabe 'Lautstärke / Lautstärke' abhängig von val if (val ==CONTROL_UP) { DigitalWrite (led, HIGH); für (int i =0; i <3; i++) {irsend.sendSony (0x490, 12); Verzögerung (40); } Serial.println ("volume up 0x490"); aufrechtzuerhalten. Sonst //down { for (int i =0; i <3; i++) {irsend.sendSony (0xC90, 12); Verzögerung (40); } Serial.println ("Lautstärke verringern 0xC90"); } brechen; }}void setColor (int rot, int grün, int blau) {analogWrite (ledR, rot); analogWrite (ledG, grün); analogWrite (ledB, blau);} long doPing () { digitalWrite (pingPin, LOW); VerzögerungMikrosekunden(2); digitalWrite (pingPin, HIGH); VerzögerungMikrosekunden(5); digitalWrite (pingPin, LOW); Return pulseIn(echoPin, HIGH);}lange MikrosekundenToInches(lange Mikrosekunden){ Rückgabe von Mikrosekunden / 74 / 2;}lange MikrosekundenToCentimeters(lange Mikrosekunden){ Rückgabe von Mikrosekunden / 29 / 2;}

Schaltpläne

flickmote_9Gx3XNFHEp.fzz

Herstellungsprozess

  1. ULTRASCHALLLEVITATION-Maschine mit ARDUINO
  2. Arduino Spybot
  3. Selbstgemachter Fernseher B-Gone
  4. Hauptuhr
  5. Finde mich
  6. Arduino-Power
  7. Tech-TicTacToe
  8. Arduino-Vierbeiner
  9. Arduino-Joystick
  10. Mini-Radar mit Arduino