Daftar Isi:

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

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

Video: Teknologi untuk Kakek Anda: 13 Langkah (dengan Gambar)
Video: Perhatikan tangannya, makanan terakhir 2024, Desember
Anonim
Image
Image

Berapa kali Anda pergi ke rumah kakek-nenek Anda untuk membantu "masalah teknologi" yang berakhir dengan kabel listrik yang dicabut, baterai remote yang mati atau tidak dapat mengganti sumber di TV mereka? Saya tahu bahwa bagi saya, ini cukup sering terjadi. Sementara sebagian besar masalah mereka dapat diselesaikan dengan hanya menjalankan ke toko untuk beberapa AA baru, terkadang mereka dapat mengambil manfaat dari solusi yang lebih disesuaikan.

Misalnya, kakek pacar saya mendapatkan televisi baru dan kami mencoba mengajarinya cara mengubah sumber sehingga dia dapat beralih antara DVD dan TV - tetapi dia tidak dapat memahaminya. Dia juga berurusan dengan penglihatan yang gagal dan tidak terlalu tertarik untuk mencoba mengingat proses yang rumit, dia hanya ingin menonton acaranya ketika dia mau. Setelah mencoba menjelaskan langkah-langkah dengan tenang selama kunjungan terakhir kami tanpa banyak keberhasilan, saya memutuskan untuk menjadikannya remote control dua tombol sederhana miliknya sendiri. Ini akan memungkinkan dia untuk mengubah sumber input di televisinya tanpa rasa sakit, beralih antara DVD Matlock kesayangannya dan Price is Right dengan mudah.

Langkah 1: Bahan

  • PhidgetIR
  • PhidgetSBC4 (atau komputer papan tunggal seperti Raspberry Pi)
  • Solder Besi
  • Pemotong Samping
  • Penari telanjang kawat
  • Kabel Jumper
  • Kabel USB
  • Kabel Phidget
  • Lampiran
  • Header lubang tembus
  • Tabung panas-menyusut

Langkah 2: Perencanaan

Cetak 3D
Cetak 3D

Untuk membuat remote, saya membutuhkan kemampuan untuk mengirim perintah consumer infrared (CIR) ke televisi. Saya memutuskan untuk menggunakan PhigetIR untuk tugas ini. PhidgetIR adalah perangkat yang dikendalikan USB yang memiliki kemampuan untuk mengirim dan menerima perintah CIR. Saya memilih ini karena beberapa alasan:

  • Saya ingin menyelesaikan proyek ini sesegera mungkin dan menggunakannya, jadi pikiran untuk memecahkan osiloskop dan papan tempat memotong roti saya tidak menarik. Juga, seberapa besar kemungkinan sirkuit yang disolder tangan saya masih akan berfungsi dalam satu atau dua tahun?
  • PhidgetIR memiliki kemampuan untuk "mempelajari" perintah CIR yang membuat pengembangan menjadi sangat sederhana.
  • Anda dapat menggunakan hampir semua bahasa pemrograman utama dengan PhidgetIR. Ini berarti saya bisa menggunakan Java dan menyelesaikan semuanya dengan cepat.
  • Akhirnya, saya bekerja untuk Phidget, jadi saya merasa nyaman dengan API, dan selalu ada perangkat cadangan yang bertebaran.

Karena saya memilih untuk menggunakan PhidgetIR, saya membutuhkan komputer untuk menjalankannya. Saya ingin proyek ini menjadi aplikasi yang berdiri sendiri, seperti remote biasa, jadi desktop atau laptop tidak tersedia. Saya memilih untuk menggunakan PhidgetSBC4 (komputer papan tunggal yang menjalankan Debian Linux), karena memungkinkan saya untuk berinteraksi dengan kedua tombol tekan tanpa perangkat keras tambahan. Mereka dapat dengan mudah disambungkan langsung ke VINT Hub bawaan. Catatan: Anda juga dapat menggunakan Raspberry Pi untuk proyek ini. Akhirnya, selain berfungsi secara fungsional, saya ingin proyek ini terlihat bagus, jadi saya memutuskan bahwa enklosur cetak 3D akan diperlukan.

Langkah 3: Cetak 3D

Cetak 3D
Cetak 3D
Cetak 3D
Cetak 3D

Untuk proyek ini, Geomagic digunakan untuk memodelkan enklosur. Ada file langkah 3D yang tersedia untuk PhidgetIR dan PhidgetSBC4 yang menyederhanakan prosesnya. Beberapa keputusan dibuat selama langkah ini mengenai ukuran dan fungsionalitas enklosur:

  • PhidgetIR memiliki dua LED IR yang harus diarahkan ke TV untuk mengirim perintah. Alih-alih mendesain enklosur di sekitar papan PhidgetIR, LED IR dapat disolder dan direkatkan ke dalam lubang di sisi enklosur. Papan PhidgetIR kemudian dapat dipasang jauh dari LED, memanfaatkan ruang kosong.
  • Konektor VINT Hub pada PhidgetSBC4 dapat ditekuk ke atas, yang masih memungkinkan akses untuk koneksi tombol tekan, dan juga akan mencegah keharusan membuat enklosur yang lebih besar.

Saya juga memutuskan untuk menambahkan label untuk tombol dan label yang menunjukkan arah yang harus dihadapi sehingga LED IR diarahkan ke arah yang benar. Saya mencetak enklosur secara lokal dari plastik ABS hitam.

Langkah 4: Perakitan - Lepaskan LED

Perakitan - Lepaskan LED
Perakitan - Lepaskan LED
Perakitan - Lepaskan LED
Perakitan - Lepaskan LED
Perakitan - Lepaskan LED
Perakitan - Lepaskan LED

LED IR pada akhirnya akan direkatkan ke dalam lubang di sisi enklosur. Ini berarti mereka harus disolder terlebih dahulu.

Langkah 5: Perakitan - Tambahkan Melalui Header Lubang

Perakitan - Tambahkan Header Lubang
Perakitan - Tambahkan Header Lubang
Perakitan - Tambahkan Header Lubang
Perakitan - Tambahkan Header Lubang

Selanjutnya, header melalui lubang ditambahkan di tempat LED dulu, yang membuatnya mudah untuk terhubung menggunakan kabel jumper 4-pin. Gunakan tabung heat-shrink untuk mencegah kontak yang tidak disengaja.

Langkah 6: Perakitan - Pasang LED

Perakitan - Pasang LED
Perakitan - Pasang LED
Perakitan - Pasang LED
Perakitan - Pasang LED

Rekatkan LED ke sisi enklosur.

Langkah 7: Perakitan - Pasang PhidgetIR

Perakitan - Pasang PhidgetIR
Perakitan - Pasang PhidgetIR
Perakitan - Pasang PhidgetIR
Perakitan - Pasang PhidgetIR
Perakitan - Pasang PhidgetIR
Perakitan - Pasang PhidgetIR

Pasang PhidgetIR ke enklosur, dan sambungkan LED.

Langkah 8: Perakitan - Menambahkan Tombol

Perakitan - Menambahkan Tombol
Perakitan - Menambahkan Tombol
Perakitan - Menambahkan Tombol
Perakitan - Menambahkan Tombol
Perakitan - Menambahkan Tombol
Perakitan - Menambahkan Tombol

Tombol tekan harus dihubungkan ke Hub VINT bawaan di PhidgetSBC, jadi saya memotong Kabel Phidget menjadi dua dan menyolder ujungnya ke tombol. Perhatikan bahwa hanya kabel putih (sinyal) dan hitam (arde) yang diperlukan.

Langkah 9: Perakitan - Menyatukan Semuanya

Perakitan - Menyatukan Semuanya
Perakitan - Menyatukan Semuanya
Perakitan - Menyatukan Semuanya
Perakitan - Menyatukan Semuanya

Beberapa manajemen kabel diperlukan untuk menyatukan semuanya, namun enklosurnya bekerja dengan baik.

Langkah 10: Perangkat Lunak - Kode

Hanya ada satu file Java yang diperlukan untuk proyek ini yang dapat Anda temukan di sini. Program ini menggunakan satu objek PhidgetIR, dan dua objek DigitalInput. Anda dapat membuat objek-objek ini seperti ini:

PhidgetIR ir =PhidgetIR baru();

DigitalInput tvButton =Input Digital baru(); DigitalInput otherButton=New DigitalInput();

Objek Input Digital dipetakan ke tombol tekan fisik di Hub VINT. Lampirkan, lepaskan, kesalahan, dan peristiwa perubahan status juga berlangganan:

tv.setIsHubPortDevice(benar);

tvButton.setHubPort(4); tvButton.addAttachListener(onAttachListener); tvButton.addDetachListener(onDetachListener); tvButton.addErrorListener(onErrorListener); tvButton.addStateChangeListener(onStateChangeListener); tvButton.buka(); otherButton.setIsHubPortDevice(true); otherButton.setHubPort(5); otherButton.addAttachListener(onAttachListener); otherButton.addDetachListener(onDetachListener); otherButton.addErrorListener(onErrorListener); otherButton.addStateChangeListener(onStateChangeListener); tombol lain.buka();

Pendengar perubahan status yang dirujuk di atas terlihat seperti ini:

privatestatic DigitalInputStateChangeListener onStateChangeListener =New DigitalInputStateChangeListener(){@OverridepublicvoidonStateChange(Disc DigitalInputStateChangeEvent){

DigitalInput ch =(DigitalInput) disce.getSource();try{if(ch.getHubPort()==4&& disce.getState()==true){ tvButtonActivated =true;}if(ch.getHubPort()==5&& disc.getState()==true){ otherButtonActivated =true;}}catch(PhidgetException ex){ System.out.println("Error: "+ ex.getDescription());}}};

Ketika sebuah tombol diaktifkan, kode acara akan dijalankan dan menetapkan bendera. Bendera ini akan direferensikan dan disetel ulang di loop utama. Loop utama hanya menunggu perubahan status tombol, dan kemudian mengirimkan perintah IR menggunakan fungsi transmisi yang tersedia dari API PhidgetIR.

while(benar){if(tvButtonActivated){

tvButtonActivated =salah; Log.log(LogLevel. INFO, "MENGANTI SUMBER - TV"); ir.transmit(sourceButtonString, codeInfo); Thread.sleep(500); ir.transmit(rightButtonString, codeInfo); Thread.sleep(500); ir.transmit(enterButtonString, codeInfo);}if(otherButtonActivated){ otherButtonActivated =false; Log.log(LogLevel. INFO, "MENGANTI 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: Perangkat Lunak - Perintah CIR

Perangkat Lunak - Perintah CIR
Perangkat Lunak - Perintah CIR

Berikut adalah contoh cara membuat perintah (dalam hal ini perintah volume naik):

//Kode IR

IRCodeInfo sourceButtonCI =baru IRCodeInfo(); String volumeUp ="77e1d0f0";//Mengatur tombol sumber sourceButtonCI.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 informasi untuk perintah ini, saya cukup menggunakan contoh PhidgetIR yang disertakan dengan perpustakaan Phidget. Setelah mengarahkan remote ke PhidgetIR dan menahan tombol volume atas, IR "mempelajari" kode, dan mengisi contoh. Informasi ini kemudian dapat dengan mudah disalin ke dalam kode.

Langkah 12: Menjalankan Program

File Java dapat ditulis dan dikompilasi di komputer eksternal. Tempatkan PhidgetRemote.java dan phidget22.jar di folder yang sama dan jalankan perintah berikut:

Windowsjavac -classpath.;phidget22.jar PhidgetRemote.java

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

Setelah kompilasi, salin file kelas yang dihasilkan ke PhidgetSBC4, dan konfigurasikan untuk dijalankan saat boot.

Langkah 13: Hasil

Ketika saya memberikan remote kepada kakek pacar saya dan menunjukkan kepadanya cara menggunakannya, dia kagum dengan betapa sederhananya itu. Lihat video untuk melihatnya beraksi!

Kontes Kontrol Jarak Jauh 2017
Kontes Kontrol Jarak Jauh 2017
Kontes Kontrol Jarak Jauh 2017
Kontes Kontrol Jarak Jauh 2017

Hadiah Ketiga dalam Kontes Remote Control 2017

Direkomendasikan: