Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

FlickMote

Komponen dan persediaan

Sensor UltraSonic
× 1
Pemancar IR (generik)
× 1
Katoda Umum Difusi RGB
× 1
Arduino 101
× 1

Aplikasi dan layanan online

Arduino IDE

Tentang proyek ini

PENGANTAR

Mengontrol peralatan rumah tangga dan gadget elektronik melalui remote control infra merah sekarang sudah umum. Tetapi tugas pengendalian yang sama dapat dilakukan dengan lebih mudah. Motif utama pembuatan sistem baru kendali jarak jauh gerakan tangan adalah untuk menghilangkan kebutuhan untuk melihat ke dalam kendali jarak jauh genggam dan untuk mencari kunci khusus untuk fungsi tertentu terutama untuk yang lebih tua. Proyek ini menyajikan sistem baru untuk mengontrol peralatan rumah tangga melalui gerakan tangan sebagai perangkat remote control. Proyek ini akan disebut sebagai flickremote dalam laporan ini. Ini menggunakan pengintai ultrasonik untuk menentukan gerakan pengguna dan mengeluarkan sinyal IR, Papan Pengembang Mikrokontroler Arduino 101

KOMPONEN PERANGKAT KERAS

1. Arduino 101 atau uno

2. Modul ultrasonik HC-SR04

3. LED Inframerah

4. Resistor yang sesuai untuk LED Infra-merah Anda (220R)

5. LED RGB

6. Papan tempat memotong roti dan kabel

CARA KERJANYA :

Proyek ini menggunakan pengintai ultrasonik untuk menentukan gerakan pengguna dan mengeluarkan sinyal IR ke TV pada perintah yang diberikan.. Jarak atau inci dapat diedit dalam kode yang sesuai dengan kenyamanan Anda

- Gesek tinggi (> 10 inci) =Saluran Naik

- Gesek rendah =Saluran Turun

- Tahan tinggi (> 10in) =Volume Naik

- Tahan rendah =Volume Turun

- Sensor penutup (<3in) =Menghidupkan / Mematikan

Sirkuit  Diagram Menggunakan Fritzing :

KONSTRUKSI :

1. Hubungkan LED IR ke pin 3 melalui resistor yang sesuai, lalu hubungkan katoda ke GND.

2. Hubungkan sensor ultrasonik ke 5v dan GND di mana pin ditentukan. Hubungkan pin pemicu ke pin 8 dan pin gema ke 7. Anda dapat mengonfigurasi pin ini di program

3. Hubungkan LED RGB ke GND dan pin 11 (merah), 10 (hijau), 9 (biru). Pin ini juga dapat dikonfigurasi.

KONTROL

Kekuatan

Menggesek sensor dalam jarak 3 inci akan menyebabkan LED berkedip ungu. Ini adalah konfirmasi bahwa sinyal 'nyala/matikan' siap dikirim. Untuk mencegahnya mematikan TV secara tidak sengaja, saya telah membuat sketsa menunggu gesekan kedua dalam 5 detik dari yang pertama untuk mengonfirmasi. Pada titik ini sinyal dikirim ke TV untuk dihidupkan atau dimatikan.

Saluran

Menggesek dalam jarak 10 inci dari sensor (tetapi tidak dalam jarak 3) akan menyebabkan saluran berubah ke bawah. Menggeser antara 10 dan 20 inci akan menyebabkan saluran berubah.

Volume

Memegang tangan Anda dalam jarak 10 inci dari sensor (tetapi tidak dalam jarak 3) akan menyebabkan volume berubah. Memegang antara 10 dan 20 inci akan menyebabkan volume berubah. Volume akan terus berubah (naik atau turun) sampai tangan Anda dilepas

KEUNTUNGAN DAN PENINGKATAN :

Akan Menghilangkan kebutuhan untuk melihat ke dalam remote genggam dan untuk mencari kunci khusus untuk fungsi tertentu

Solusi untuk mengontrol gadget (TV) bagi penyandang tunanetra dan penyandang disabilitas

Proyek dapat ditingkatkan dengan menambahkan lebih banyak fungsi untuk mengontrol semua peralatan rumah tangga menggunakan metode yang sama

TERIMA KASIH   ANDA

Kode

  • Kode
KodeC/C++
/* Gesek Remote Control Sketsa ini menggunakan pengintai ultrasonik untuk menentukan gerakan pengguna dan mengeluarkan sinyal IR ke TV sony berdasarkan perintah yang diberikan.- Gesek tinggi (> 10in) =Saluran Atas- Gesek rendah =Saluran Bawah- Tahan tinggi (> 10in) =Volume Naik- Tahan rendah =Volume Turun- Sensor penutup (<3in) =Hidupkan / MatikanDibuat oleh Vignesh JaishankarKode ini menggunakan perpustakaan IRremote (https://github.com/shirriff/Arduino-IRremote) */#include // Mendefinisikan untuk fungsi kontrol#define CONTROL_CH 1 // Perubahan saluran#define CONTROL_VOL 2 // Volume#define CONTROL_POW 3 // Power#define CONTROL_UP 1#define CONTROL_DOWN -1#define DIST_MAX 20 // Jarak maksimum dalam inci, apa pun di atas diabaikan.#define DIST_DOWN 10 // Ambang batas untuk perintah naik/turun. Jika lebih tinggi, perintahnya adalah "naik". Jika lebih rendah, "turun".#define DIST_POW 3 // Ambang batas untuk perintah daya, lebih rendah dari =daya hidup/mati// PIN IRconst int irPin =3; // ini didefinisikan di perpustakaan, var ini hanya pengingat. MENGUBAH INI TIDAK AKAN MENGUBAH PIN DI PERPUSTAKAAN// 2 Pin Ping Sensorconst int pingPin =8;const int echoPin =7;// Konfirmasi LED Pinsconst int led =13; // LED internal untuk debugging atas/bawahconst int ledR =11;const int ledG =10;const int ledB =9;// LED pada timer lama bertanda waktu;// Objek pemancar IRIRsend irsend;// Bendera konfirmasi daya (perlu dua gesekan untuk mengirim sinyal)boolean powerConfirmed =false;void setup() { // menginisialisasi komunikasi serial dan menyetel pin Serial.begin(9600); pinMode (dipimpin, OUTPUT); pinMode(ledR, OUTPUT); pinMode(ledG, OUTPUT); pinMode(ledB, OUTPUT); pinMode(pingPin, OUTPUT); pinMode(echoPin, INPUT); timer =milis();}void loop(){ // Serial.println(millis()); durasi panjang, inci; nilai int; // Periksa durasi membaca =doPing(); // Timer untuk mengkonfirmasi tindakan (saat ini hanya daya) if (timer &&timer <(millis() - 5000) &&(millis()> 5000)) { Serial.println("timer reset"); pengatur waktu =salah; } digitalWrite (dipimpin, RENDAH); setWarna(0, 0, 0); // mati // ubah waktu menjadi jarak inci =microsecondsToInches(durasi); // Jika jaraknya kurang dari maksimum inci, bertindak if (inci  DIST_MAX) { doIR(CONTROL_CH, nilai); // geser } else { // volume int d =500; // penundaan pertama lebih lama untuk perubahan volume tunggal // ulangi sampai jarum dilepas while (inci  DIST_DOWN) { digitalWrite(led, TINGGI); kembali CONTROL_UP; } else { digitalWrite(led, RENDAH); kembali CONTROL_DOWN; }}/** Matikan kode IR yang benar*/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); // penundaan kode daya TV Sony(40); } merusak; kasus CONTROL_CH:setColor(0, 255, 0); // output 'saluran atas / bawah' tergantung pada val if (val ==CONTROL_UP) { digitalWrite(led, HIGH); for (int i =0; i <3; i++) { irsend.sendSony(0x90, 12); penundaan (40); } Serial.println("salurkan 0xD00A"); } else // bawah { for (int i =0; i <3; i++) { irsend.sendSony(0x890, 12); penundaan (40); } Serial.println("saluran ke bawah 0x3002"); } merusak; kasus CONTROL_VOL:setColor(0, 0, 255); // output 'volume atas / bawah' tergantung pada val if (val ==CONTROL_UP) { digitalWrite(led, HIGH); for (int i =0; i <3; i++) { irsend.sendSony(0x490, 12); penundaan (40); } Serial.println("Volume naik 0x490"); } else //bawah { for (int i =0; i <3; i++) { irsend.sendSony(0xC90, 12); penundaan (40); } Serial.println("volume turun 0xC90"); } merusak; }}void setColor(int red, int green, int blue){ analogWrite(ledR, red); analogWrite(ledG, hijau); analogWrite(ledB, biru);}doPing panjang(){ digitalWrite(pingPin, RENDAH); delayMicroseconds(2); digitalWrite(pingPin, TINGGI); delayMicroseconds(5); digitalWrite(pingPin, RENDAH); return pulseIn(echoPin, HIGH);}microsecondsToInches panjang(long microseconds){ return microseconds / 74/2;}long microsecondsToCentimeters(long microseconds){ return microseconds / 29/2;}

Skema

flickmote_9Gx3XNFHEp.fzz

Proses manufaktur

  1. Mesin ULTRASONIC LEVITATION Menggunakan ARDUINO
  2. Arduino Spybot
  3. TV Buatan Sendiri B-Gone
  4. Jam Master
  5. Temukan Saya
  6. Arduino Power
  7. Tech-TicTacToe
  8. Arduino Quadruped
  9. Arduino Joystick
  10. Radar Mini dengan Arduino