Isi kandungan:
- Langkah 1: Prasyarat
- Langkah 2: Membina Dewan
- Langkah 3: Skematik
- Langkah 4: Tambahkan Perpustakaan Irremote ke Perisian Arduino
- Langkah 5: Catat Kod Dari Alat Kawalan Jauh Anda
- Langkah 6: Buat Halaman Web untuk Alat Kawalan Jauh Anda
- Langkah 7: Muat naik Kod Kawalan Jauh ke Arduino Anda
- Langkah 8: Sambungkan ke Pelayan Web Dari Komputer Anda
- Langkah 9: Langkah Pilihan: Edit Fail Host anda agar Lebih Mudah Digunakan
Video: Alat Kawalan Jauh Berasaskan Penyemak Imbas Arduino (linux): 9 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:07
Kami mempunyai anak. Saya suka mereka sedikit, tetapi mereka terus menyembunyikan alat kawalan jauh untuk satelit dan TV ketika mereka memasang saluran kanak-kanak. Setelah ini berlaku setiap hari selama beberapa tahun, dan setelah isteri sayang saya membenarkan saya mengadakan Arduino untuk Krismas, saya memutuskan bahawa sudah waktunya untuk membuat sesuatu yang berguna (di matanya!) Dengan Arduino. Jadi di sini kita mempunyai puncaknya: antara muka berasaskan web ke Arduino yang menggantikan alat kawalan jauh saya dan dapat diakses dari rangkaian dalaman saya. Apabila saya mengetahui mengapa perisai ethernet saya tidak membenarkan arduino saya menyimpan sketsa, saya akan menulis lakaran baru yang menggunakan pelindung ethernet sebagai pelayan web, yang bermaksud saya tidak perlu memasang apache pada komputer saya. Nantikan, saya akan sampai di sana!
Langkah 1: Prasyarat
Perkakasan: Bahagian Arduino: Arduino - Saya menggunakan Arduino Uno R2 Breadboard - kedai elektronik tempatan anda, atau dapur jika anda mahukan penutup pemasangan papan roti yang sahih - Saya menggunakan bekas plastik lama dengan penutup lutsinar Komponen: LED inframerah - Saya disolder satu dari alat kawalan jauh yang rosak (terima kasih anak-anak!) Penerima Inframerah - Saya mendapatkannya dari alat pemancar jarak jauh mata ajaib - Saya menggunakan Resistor BC547 - Saya menggunakan perintang pemboleh ubah 1.5k ohm yang ditetapkan kepada 1k ohm Kabel jumper papan roti - saya mendapat tambang dari kekili kabel RJ45 teras padat Bahagian komputer: Komputer untuk digunakan sebagai pelayan USB membawa kepada Perisian Arduino: Perisian Arduino - dari perpustakaan irduote arduino.cc - dari https://www.arcfn.com/2009/08/multi-protocol- infrared-remote-library.html (terima kasih Ken, kerja hebat!) Pelayan web Apache dengan PHP dipasang - apache.org Alamat IP dalaman - saya adalah 192.168.0.9 Gambar alat kawalan jauh anda - google atau gambar yang diambil pada kamera anda. Saya menyimpan tambang pada resolusi 200x600
Langkah 2: Membina Dewan
Sangat digalakkan menggunakan papan roti untuk arduino. Saya memasang Arduino dan papan roti di kandang yang sama dan memasang semua pin yang selalu saya gunakan terus ke papan roti secara kekal. Pin Arduino digunakan untuk projek ini: 5v, pin Digital ground 3, 11 (pin 3 mengawal LED IR, pin 11 menyambung ke penerima IR)
Langkah 3: Skematik
Skema ini sangat mudah, 4 komponen dan 6 wayar. Sambungan LED IR: Sambungkan salah satu kaki perintang ke pin digital Arduino 3 Sambungkan kaki perintang yang lain ke pin asas transistor (kaki tengah dalam kes saya) Sambungkan pemancar transistor ke tanah Sambungkan pemungut transistor ke kaki negatif LED (kaki pendek, sisi rata LED) Sambungkan kaki positif (kaki panjang, sisi melengkung) LED ke sambungan penerima IR 5v pin (anda perlu mencari pinout untuk penerima IR khas anda): Pin GND ke pin VS ground ke pin VO 5v ke pin digital Arduino 11
Langkah 4: Tambahkan Perpustakaan Irremote ke Perisian Arduino
iremote adalah perpustakaan hebat yang ditulis oleh Ken Shirriff dan boleh didapati dari blognya di https://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html Muat turun perpustakaan dari https:// arcfn.com / files / IRremote.zip dan pasangkannya seperti yang anda lakukan di perpustakaan lain untuk arduino. Blognya mempunyai banyak maklumat berguna mengenai perpustakaan dan cara memasangnya.
Langkah 5: Catat Kod Dari Alat Kawalan Jauh Anda
Inilah permulaan bahagian yang membosankan (tetapi tidak dapat dielakkan): Menekan setiap butang pada alat kawalan jauh, menyimpan rentetan output dan memetakannya ke alat kawalan jauh maya. Anda hanya perlu melakukannya sekali, jangka masa lebih kurang 20 minit. Mulakan penyunting teks untuk menyimpan output anda. Buat dokumen baru dan taipkan setiap butang pada alat kawalan jauh anda, satu per baris: Power Up Down Left Right.. et cetera Mulakan Arduino IDE dan klik pada "Files-> Contoh-> IRremote-> IRrecvDump" dan muat naik ke Arduino anda. Contoh ini akan membuang kod jauh ke port bersiri. Mulakan monitor port Serial dan tekan kekunci pada alat kawalan jauh anda. Anda akan melihat rentetan muncul di tetingkap monitor bersiri: "Decoded *: * (* bit)". Salin baris ini dan simpan ke dalam dokumen anda pada baris yang sesuai. Ulangi sehingga anda menyimpan semua kunci anda dalam fail teks. Saya tahu betapa seronoknya bit ini, saya telah melakukannya dua kali sejauh ini: P Kita sekarang perlu melakukan sedikit pencarian dan mengganti dalam fail teks: cari "Decoded" ganti dengan "" search ": 0x" ganti dengan "," cari untuk "(" ganti dengan "," cari "bit)" ganti dengan "" Jadi untuk garis seperti: Noded NEC: 0x000110 (15 bit) kita sekarang harus mempunyai garis yang mengatakan: NEC, 000110, 15
Langkah 6: Buat Halaman Web untuk Alat Kawalan Jauh Anda
Kita sekarang perlu memetakan butang pada gambar alat kawalan jauh anda.
Saya menggunakan https://www.maschek.hu/imagemap/imgmap untuk memetakan butang dan mengubah kod yang diberikan oleh laman web untuk menjadikannya berfungsi.
Klik "Gunakan gambar di komputer anda: [pilih file]", pilih gambar anda, klik [muat naik], klik [terima] Jatuhkan segi empat tepat, bulatan dll ke setiap butang. Untuk HREF letakkan /remote.php?command= dan garis untuk butang itu dari dokumen teks misalnya /remote.php?command=NEC, 000110, 15 Adalah lebih bijak (dan sangat membantu dalam debugging) jika anda juga mengisi Alt: dengan nama butang tetapi itu terpulang kepada anda.
Ulangi untuk setiap butang.
Semua selesai? Kemudian kita akan teruskan. Di bahagian bawah halaman itu adalah "Kod", klik pada itu dan kotak akan terbuka yang menunjukkan kod untuk peta gambar. Salin itu dan tampal ke dalam dokumen teks baru. Ini adalah bahagian utama laman web kami.
Inilah laman web saya yang lengkap, ganti saja…
dengan kod anda sendiri di atas dan simpan sebagai remote.php di direktori web anda (/ var / www di linux) bersama dengan gambar kawalan jauh anda. Tukar garis untuk gambar anda sendiri:
"https://www.w3.org/TR/html4/loose.dtd">
Kawalan LED Arduino
Langkah 7: Muat naik Kod Kawalan Jauh ke Arduino Anda
Buat lakaran baru dan tempelkan kod berikut ke dalamnya: / * * WebRemote * LED IR mesti disambungkan ke pin Arduino PWM 3. * Versi 0.1 Julai 2009 * Hak cipta kod ini Gregory Fenton, https://labby.co. uk / 2012/02 / iremote-arduino-eksperimen / * Hak cipta Perpustakaan IRremote 2009 Ken Shirriff, https://arcfn.com * / #masuk templat sebaris Cetak & pengendali << (Cetak & obj, T arg) {obj.print (arg); kembali obj; } boolean berakhir = salah; char inData [64]; // Saiz mengikut indeks bait yang sesuai = 0; #definisikan EOP "\ n" IRsend irsend; batal persediaan () {Serial.begin (9600); Serial << "Port bersiri dimulakan" << EOP; } gelung void () {String pch, sType, sTemp; char inChar, sTest, k; int sBits; sHex panjang; int i, j; while (1) {while (Serial.available ()> 0) {inChar = Serial.read (); jika (indeks == 0) {pch = ""; } if (inChar == '\ r' || inChar == '\ n' || inChar == '/') // EOP {berakhir = benar; indeks = 0; rehat; } lain {if (indeks <64) // Saiz array {pch + = inChar; indeks ++; }}} jika (berakhir) {// Uraikan data dalam inData di sini… pch.toUpperCase (); i = pch.indexOf ('')! = -1? pch.indexOf (''): pch.indexOf (','); sType = pch.substring (0, i); saya ++; // langkau ',' atau '' // saya sekarang menunjukkan permulaan hex j = pch.lastIndexOf ('')! = -1? pch.lastIndexOf (''): pch.lastIndexOf (','); // j sekarang menunjukkan ',' atau '' selepas hex sHex = 0; sTemp = pch.substring (i, j); jika (sTemp.substring (0, 2) == String ("0X")) sTemp = sTemp.substring (2); untuk (i = 0; i <sTemp.length (); i ++) {k = sTemp ; jika (! ((k> = '0' && k = 'A' && k <= 'F'))) pecah; sHex * = 16; jika (k> = '0' && k <= '9') sHex + = (k - '0'); lain jika (k> = 'A' && k <= 'F') sHex + = ((k - 'A') + 10); jika (! ((k> = '0' && k = 'A' && k <= 'F'))) pecah; } sTemp = pch.substring (j + 1); sBits = 0; untuk (i = 0; i <sTemp.length (); i ++) {k = sTemp ; sBits * = 10; jika (k> = '0' && k <= '9') sBits + = (k - '0'); } if (sType.length ()> 0) {Serial << pch << EOP << "Jenis kod:" << sType << "Hex:"; Serial.print (sHex, HEX); Serial << "Bits:" << sBits; } sendIt (sType, sHex, sBits); pch = ""; berakhir = 0; }}} batal sendIt (String sType, long sHex, int sBits) {untuk (int i = 0; i <2; i ++) {if (sType.equals (String ("RC6"))) {irsend.sendRC6 (sHex, sBits); } lain jika (sType.equals (String ("RC5"))) {irsend.sendRC5 (sHex, sBits); } lain jika (sType.equals (String ("SONY"))) {irsend.sendSony (sHex, sBits); } lain jika (sType.equals (String ("NEC"))) {if (! i) irsend.sendNEC (sHex, sBits); } lain jika (sType.equals (String (""))) {Serial << "Delaying" << EOP; kelewatan (450); } kelewatan (30); }}
Langkah 8: Sambungkan ke Pelayan Web Dari Komputer Anda
.. atau telefon atau android atau ipad atau apa sahaja: pergi ke https:// alamat IP pelayan web / remote.php dalam penyemak imbas anda. Bagi saya alamatnya adalah https://192.168.0.9/remote.php tetapi anda pasti akan berbeza. Sekiranya semuanya berfungsi, anda akan melihat gambar alat kawalan jauh anda dengan butang yang boleh anda klik.
Langkah 9: Langkah Pilihan: Edit Fail Host anda agar Lebih Mudah Digunakan
Langkah yang saya lakukan adalah mengedit fail host saya (/ etc / host di linux, C: / Windows / System32 / Drivers / etc / host di windows). Perhatikan bahawa fail ini hanya dapat diedit dalam arahan arahan pentadbiran (windows) atau dengan su (linux) Tambahkan baris ip.add.re.ss ganti jarak jauh ip.add.re.ss dengan alamat IP pelayan dan simpan fail. Anda perlu melakukan ini pada setiap peranti yang anda inginkan untuk mengakses laman web dengan nama pendek. Sekarang anda boleh mengakses alat kawalan jauh dengan https://remote/remote.php Ini adalah arahan pertama saya yang betul, bersikap lembut dan beritahu saya jika ada masalah sehingga saya dapat memperbaikinya.
Disyorkan:
PCB Berasaskan Penyemak Imbas: 7 Langkah
PCB Berasaskan Penyemak Imbas: Semasa anda mengambil atau membuat projek, beberapa akan menjadi mudah dan ada yang sukar. Sebilangan akan dibuat sekali dan yang lain perlu dibuat mengikut skala. Dalam penulisan ini, kita akan meneroka projek terbesar saya setakat ini, Distribusi Symphony, dan bagaimana mikrofon
Kit Alat Kawalan Jauh Biasa Diubah menjadi Alat Kawalan Jauh Mainan RC Empat saluran: 4 Langkah
Kit Alat Kawalan Jauh Biasa Diubah menjadi Alat Kawalan Jauh Mainan RC Empat saluran: 如何 将 通用 遥控 器 套件 转换 为 玩具 模型 中 使用 的 四 通道 遥控 器。 遥控 器 套件 非常 便宜。 采用 62 2262 和 2272 芯片 和 433 个 模块 构建 构建。改造 方法 非常 简单。 只需 准备 一些 瓦楞纸 板 , 然后 按照 视频 教程 完成 这个 电子 项目 并 为 您 服务。 玩具 车船 提供 远程 无线 控制。
Bermula dengan Pengekodan Berasaskan Penyemak Imbas MBlock untuk HyperDuino: 3 Langkah
Bermula dengan Pengekodan Berasaskan Penyemak Imbas MBlock untuk HyperDuino: Selamat datang ke tutorial berasaskan web mBlock dengan HyperDuino. Ini akan menunjukkan kepada anda cara mengatur mBlock dan memuat naik kod anda ke HyperDuino anda. Ini juga akan menunjukkan cara membuat kod asas untuk kereta pintar juga. Untuk memulakan, mari melompat ke kanan
Alat kawalan jauh berasaskan Arduino untuk Eskate atau Hydrofoil: 5 Langkah (dengan Gambar)
Alat Kawalan Jauh Berasaskan Arduino untuk Eskate atau Hydrofoil: Instruksional ini akan menunjukkan kepada anda bagaimana membina alat kawalan jauh fizikal untuk digunakan dengan eskate atau hidrofil elektrik termasuk semua kod dan perkakasan yang anda perlukan. Terdapat banyak pematerian yang terlibat, tetapi juga senang dibuat. Apa yang boleh dilakukan oleh alat kawalan jauh? Bersama
Kereta RasbperryPi Dengan Kamera FPV. Kawal dengan Penyemak Imbas Web: 31 Langkah (dengan Gambar)
Kereta RasbperryPi Dengan Kamera FPV. Kawalan dengan Penyemak Imbas Web: Kami akan membina kereta 4wd - stereng akan serupa seperti di tangki - untuk memutar satu sisi roda akan berputar dengan kelajuan yang berbeza daripada yang lain. Di kereta akan diletakkan kamera pada pemegang khas di mana kita dapat mengubah kedudukan kamera. Robot itu akan