Isi kandungan:

Teknologi untuk Atuk Anda: 13 Langkah (dengan Gambar)
Teknologi untuk Atuk Anda: 13 Langkah (dengan Gambar)

Video: Teknologi untuk Atuk Anda: 13 Langkah (dengan Gambar)

Video: Teknologi untuk Atuk Anda: 13 Langkah (dengan Gambar)
Video: Tips & Trik untuk Pengguna Baru iPhone 13 & 13 Pro 2021 2024, November
Anonim
Image
Image

Berapa kali anda pergi ke rumah datuk dan nenek anda untuk membantu "masalah teknologi" yang akhirnya menjadi kabel kuasa yang tidak dicabut, bateri jauh yang mati atau tidak dapat menghidupkan sumbernya di TV mereka? Saya tahu bahawa bagi saya, ini sering berlaku. Walaupun sebahagian besar masalah mereka dapat diselesaikan dengan hanya pergi ke kedai untuk mendapatkan beberapa AA baru, kadang-kadang mereka mendapat keuntungan daripada penyelesaian yang lebih disesuaikan.

Sebagai contoh, datuk pacar saya mendapat televisyen baru dan kami cuba mengajarnya cara menukar sumber supaya dia beralih antara DVD dan TV - tetapi dia tidak dapat mengetahuinya. Dia juga berhadapan dengan penglihatan yang gagal dan tidak terlalu berminat untuk mengingat proses yang rumit, dia hanya ingin menonton rancangannya ketika dia mahu. Setelah cuba menjelaskan langkah-langkah dengan tenang semasa lawatan terakhir kami tanpa banyak kejayaan, saya memutuskan bahawa saya hanya akan menjadikannya alat kawalan jauh dua butang sendiri. Ini akan membolehkannya menukar sumber input di televisyennya tanpa rasa sakit, beralih antara DVD Matlock yang dicintainya dan Price betul dengan mudah.

Langkah 1: Bahan

  • PhidgetIR
  • PhidgetSBC4 (atau komputer papan tunggal seperti Raspberry Pi)
  • Besi pematerian
  • Pemotong Sampingan
  • Pelucut Kawat
  • Wayar Pelompat
  • Wayar USB
  • Kabel Phidget
  • Pagar
  • Tajuk melalui lubang
  • Tiub pengecutan panas

Langkah 2: Merancang

Cetakan 3D
Cetakan 3D

Untuk membuat alat kawalan jauh, saya memerlukan kemampuan untuk mengirim perintah inframerah pengguna (CIR) ke televisyen. Saya memutuskan untuk menggunakan PhigetIR untuk tugas ini. PhidgetIR adalah peranti terkawal USB yang mempunyai kemampuan untuk menghantar dan menerima perintah CIR. Saya memilih ini kerana beberapa sebab:

  • Saya mahu menyelesaikan projek ini secepat mungkin dan menggunakannya, jadi pemikiran untuk memecahkan osiloskop dan papan roti saya tidak menarik. Juga, seberapa besar kemungkinan litar pemateri tangan saya masih berfungsi dalam satu atau dua tahun?
  • PhidgetIR memiliki kemampuan untuk "belajar" perintah CIR menjadikan pengembangan sangat sederhana.
  • Anda boleh menggunakan hampir semua bahasa pengaturcaraan arus perdana dengan PhidgetIR. Ini bermaksud saya dapat menggunakan Java dan menyelesaikan semuanya dengan cepat.
  • Akhirnya, saya bekerja untuk Phidgets, jadi saya selesa dengan API, dan selalu ada alat ganti yang ada di sekitar.

Oleh kerana saya memilih untuk menggunakan PhidgetIR, saya memerlukan komputer untuk menjalankannya. Saya mahu projek ini menjadi aplikasi yang berdiri sendiri, seperti alat kawalan jauh biasa, jadi desktop atau komputer riba tidak berfungsi. Saya memilih untuk menggunakan PhidgetSBC4 (komputer papan tunggal yang menjalankan Debian Linux), kerana ia membolehkan saya berinteraksi dengan kedua-dua butang tekan tanpa perkakasan tambahan. Mereka hanya boleh dihubungkan terus ke VINT Hub terbina dalam. Catatan: anda juga boleh menggunakan Raspberry Pi untuk projek ini. Akhirnya, selain berfungsi secara fungsional, saya mahu projek ini kelihatan hebat, jadi saya memutuskan bahawa kandang cetak 3D diperlukan.

Langkah 3: Cetakan 3D

Cetakan 3D
Cetakan 3D
Cetakan 3D
Cetakan 3D

Untuk projek ini, Geomagic digunakan untuk memodelkan kandang. Terdapat fail langkah 3D yang tersedia untuk PhidgetIR dan PhidgetSBC4 yang memudahkan prosesnya. Beberapa keputusan dibuat selama langkah ini mengenai ukuran dan fungsi kandang:

  • PhidgetIR mempunyai dua LED IR yang harus menunjuk ke arah TV untuk menghantar arahan. Daripada merancang kandang di sekitar papan PhidgetIR, LED IR dapat disolder dan terpaku pada lubang di sisi kandang. Papan PhidgetIR kemudian dapat dipasang jauh dari LED, menggunakan ruang kosong.
  • Penyambung Hub VINT pada PhidgetSBC4 dapat dibengkokkan ke atas, yang masih membenarkan akses untuk sambungan butang tekan, dan juga akan mencegah untuk membuat penutup yang lebih besar.

Saya juga memutuskan untuk menambahkan label untuk butang dan label yang menunjukkan arah yang harus dihadapinya sehingga LED IR menunjuk ke arah yang betul. Saya mencetak penutup dari plastik ABS hitam.

Langkah 4: Pemasangan - Tanggalkan LED

Pemasangan - Tanggalkan LED
Pemasangan - Tanggalkan LED
Pemasangan - Tanggalkan LED
Pemasangan - Tanggalkan LED
Pemasangan - Tanggalkan LED
Pemasangan - Tanggalkan LED

LED IR akhirnya akan terpaku pada lubang di sisi kandang. Ini bererti mereka perlu dipatahkan terlebih dahulu.

Langkah 5: Perhimpunan - Tambah Melalui Header Lubang

Perhimpunan - Tambah Melalui Header Lubang
Perhimpunan - Tambah Melalui Header Lubang
Perhimpunan - Tambah Melalui Header Lubang
Perhimpunan - Tambah Melalui Header Lubang

Seterusnya, header melalui lubang ditambahkan di mana LED dulu, yang menjadikannya mudah disambungkan dengan menggunakan wayar jumper 4-pin. Gunakan tiub pengecutan panas untuk mengelakkan sentuhan tidak sengaja.

Langkah 6: Pemasangan - Pasang LED

Pemasangan - Pasang LED
Pemasangan - Pasang LED
Pemasangan - Pasang LED
Pemasangan - Pasang LED

Lekatkan LED ke sisi kandang.

Langkah 7: Perhimpunan - Pasang PhidgetIR

Perhimpunan - Lampirkan PhidgetIR
Perhimpunan - Lampirkan PhidgetIR
Perhimpunan - Lampirkan PhidgetIR
Perhimpunan - Lampirkan PhidgetIR
Perhimpunan - Lampirkan PhidgetIR
Perhimpunan - Lampirkan PhidgetIR

Pasang PhidgetIR ke kandang, dan sambungkan LED.

Langkah 8: Perhimpunan - Menambah Butang

Perhimpunan - Menambah Butang
Perhimpunan - Menambah Butang
Perhimpunan - Menambah Butang
Perhimpunan - Menambah Butang
Perhimpunan - Menambah Butang
Perhimpunan - Menambah Butang

Butang tekan perlu disambungkan ke VINT Hub terpasang di PhidgetSBC, jadi saya memotong Kabel Phidget pada separuh dan menyisipkan hujung ke butang. Perhatikan bahawa hanya wayar putih (isyarat) dan hitam (tanah) yang diperlukan.

Langkah 9: Perhimpunan - Menggabungkan Semuanya

Perhimpunan - Menyatukan Segalanya
Perhimpunan - Menyatukan Segalanya
Perhimpunan - Menyatukan Segalanya
Perhimpunan - Menyatukan Segalanya

Sebilangan pengurusan kabel diperlukan untuk menyatukan semuanya, namun, kandangnya berfungsi dengan baik.

Langkah 10: Perisian - Kod

Hanya ada satu fail Java yang diperlukan untuk projek ini yang boleh anda temukan di sini. Program ini menggunakan satu objek PhidgetIR, dan dua objek DigitalInput. Anda boleh membuat objek seperti ini:

PhidgetIR ir = PhidgetIR baru ();

DigitalInput tvButton = DigitalInput baru (); DigitalInput otherButton = DigitalInput baru ();

Objek Input Digital dipetakan ke butang tekan fizikal di VINT Hub. Lampirkan, lepaskan, ralat, dan acara perubahan keadaan juga dilanggan:

tv.setIsHubPortDevice (benar);

tvButton.setHubPort (4); tvButton.addAttachListener (onAttachListener); tvButton.addDetachListener (onDetachListener); tvButton.addErrorListener (onErrorListener); tvButton.addStateChangeListener (onStateChangeListener); tvButton.open (); otherButton.setIsHubPortDevice (benar); otherButton.setHubPort (5); lainButton.addAttachListener (onAttachListener); lainButton.addDetachListener (onDetachListener); otherButton.addErrorListener (onErrorListener); otherButton.addStateChangeListener (onStateChangeListener); lainButton.open ();

Pendengar perubahan keadaan yang disebut di atas kelihatan seperti ini:

privatestatic DigitalInputStateChangeListener onStateChangeListener = DigitalInputStateChangeListener baru () {@ OverridepublicvoidonStateChange (DigitalInputStateChangeEvent disce) {

DigitalInput ch = (DigitalInput) disce.getSource (); cuba {if (ch.getHubPort () == 4 && disce.getState () == true) {tvButtonActivated = true;} jika (ch.getHubPort () == 5 && disce.getState () == true) {otherButtonActivated = true;}} tangkapan (PhidgetException ex) {System.out.println ("Ralat:" + ex.getDescription ());}}};

Apabila butang diaktifkan, kod acara akan dijalankan dan menetapkan bendera. Bendera ini akan dirujuk dan diset semula dalam gelung utama. Gelung utama hanya menunggu perubahan dalam keadaan butang, dan kemudian menghantar perintah IR menggunakan fungsi transmisi yang tersedia dari PhidgetIR API.

sementara (benar) {if (tvButtonActivated) {

tvButtonActivated = false; Log.log (LogLevel. INFO, "MENGUBAH SUMBER - TV"); ir.transmit (sourceButtonString, codeInfo); Thread.sleep (500); ir.transmit (rightButtonString, codeInfo); Thread.sleep (500); ir.transmit (enterButtonString, codeInfo);} jika (otherButtonActivated) {otherButtonActivated = false; Log.log (LogLevel. INFO, "MENGUBAH SUMBER - DVD"); ir.transmit (sourceButtonString, codeInfo); Thread.sleep (500); ir.transmit (leftButtonString, codeInfo); Thread.sleep (500); ir.transmit (enterButtonString, codeInfo);} Thread.sleep (250);}

Langkah 11: Perisian - Perintah CIR

Perisian - Perintah CIR
Perisian - Perintah CIR

Berikut adalah contoh cara membuat perintah (perintah naikkan volume dalam kes ini):

// Kod IR

IRCodeInfo sourceButtonCI = IRCodeInfo baru (); String volumeUp = "77e1d0f0"; // Sediakan sumber butang sumberButtonCI.bitCount = 32; sourceButtonCI.encoding = IRCodeEncoding. SPACE; sourceButtonCI.gap = 108921; sourceButtonCI.trail = 549; sourceButtonCI.zero = newint [2]; sourceButtonCI.zero [0] = 549; sourceButtonCI.zero [1] = 627; sourceButtonCI.one = newint [2]; sourceButtonCI.one [0] = 549; sourceButtonCI.one [1] = 1755; sourceButtonCI.header = newint [2]; sourceButtonCI.header [0] = 9084; sourceButtonCI.header [1] = 4600; sourceButtonCI.repeat = newint [3]; sourceButtonCI.repeat [0] = 9084; sourceButtonCI.repeat [1] = 2308; sourceButtonCI.repeat [2] = 549; sourceButtonCI.length = IRCodeLength. CONSTANT;

Untuk mendapatkan maklumat untuk arahan ini, saya hanya menggunakan contoh PhidgetIR yang disertakan dengan perpustakaan Phidget. Setelah mengarahkan alat kawalan jauh ke arah PhidgetIR dan menahan butang naikkan volume, IR "mempelajari" kod tersebut, dan mengisi contohnya. Maklumat ini kemudian dapat disalin ke dalam kod.

Langkah 12: Menjalankan Program

Fail Java boleh ditulis dan disusun pada komputer luaran. Letakkan PhidgetRemote.java dan phidget22.jar dalam folder yang sama dan jalankan arahan berikut:

Windowsjavac -classpath.; Phidget22.jar PhidgetRemote.java

macOS / Linuxjavac -classpath.: phidget22.jar PhidgetRemote.java

Setelah menyusun, salin fail kelas yang dihasilkan ke PhidgetSBC4, dan konfigurasikan untuk berjalan pada boot.

Langkah 13: Hasilnya

Semasa saya memberikan alat kawalan jauh kepada datuk teman wanita saya dan menunjukkan kepadanya cara menggunakannya, dia kagum dengan betapa mudahnya. Lihat video untuk melihatnya beraksi!

Peraduan Kawalan Jauh 2017
Peraduan Kawalan Jauh 2017
Peraduan Kawalan Jauh 2017
Peraduan Kawalan Jauh 2017

Hadiah Ketiga dalam Peraduan Kawalan Jauh 2017

Disyorkan: