Daftar Isi:

Interactive Touchless Light: 7 Langkah (dengan Gambar)
Interactive Touchless Light: 7 Langkah (dengan Gambar)

Video: Interactive Touchless Light: 7 Langkah (dengan Gambar)

Video: Interactive Touchless Light: 7 Langkah (dengan Gambar)
Video: 10 Most Advanced HologramS that are INSANE! 2024, November
Anonim
Cahaya Tanpa Sentuh Intera-t.webp
Cahaya Tanpa Sentuh Intera-t.webp

Halo semuanya! Saya ingin berbagi proyek yang telah saya kerjakan di sini. Saya mendapat inspirasi untuk bereksperimen dengan penginderaan sentuh kapasitif melalui sebuah proyek di universitas saya. Saya mengetahui tentang teknologi ini melalui instruksi dan menggunakan hal-hal yang saya pelajari di sini dan dari tempat lain di internet untuk membuat pengontrol tanpa sentuhan saya sendiri, yang saya gunakan untuk memadukan nilai RGB yang berbeda untuk menciptakan warna cahaya yang menarik.

Sebagai permulaan, ketika saya memulai proyek ini, saya hampir tidak tahu apa-apa tentang elektronik maupun penginderaan sentuh kapasitif.

Beberapa masalah yang saya hadapi sejak awal disebabkan oleh kesalahpahaman tentang apa yang sebenarnya terjadi. Jadi pengantar singkat dari bagaimana saya memahaminya:

Sensor kapasitif menggunakan beberapa komponen, terutama:

Sebuah kapasitor (dalam proyek ini kami menggunakan aluminium foil, tetapi juga memungkinkan untuk menggunakan cairan konduktif dll), kabel (tentu saja, elektroniknya)

dan resistor, apa pun di bawah 10 MOhm adalah resistansi yang terlalu kecil untuk lebih dari sentuhan langsung.

cara kerjanya adalah dengan mengukur perbedaan waktu antara titik A dan titik B. Dari start pin mengirimkan sinyal ke endpin, waktu yang dibutuhkan diukur dengan timer. Dengan mengurangi nilai resistansi (dengan menggerakkan kapasitor (dalam hal ini tangan Anda) lebih dekat ke kapasitor sensor (aluminium foil) kali ini lebih pendek, perbedaan waktu adalah apa yang sensor berikan kembali sebagai nilai.

Karena sensor dipengaruhi oleh permukaan kapasitif, data dapat menjadi sangat tidak menentu karena gangguan. Ini dapat diselesaikan untuk sebagian besar dengan mengisolasi kapasitor dengan benar dan juga dengan menggunakan ground (saya akan menunjukkan caranya nanti).

Jadi sekarang kita bisa mulai menginventarisasi semua barang yang kita butuhkan:

Langkah 1: Apa yang Kita Butuhkan?

Elektronik:

1. 2 x 22M Ohm + resistor (semakin besar nilai resistansi semakin jauh sensor Anda bereaksi, saya pribadi menggunakan 22M Ohm, minimum untuk mendapatkan data yang dapat digunakan yang saya alami adalah 10M Ohm)

2. Resistor 3x 330 Ohm

3. Kabel

4. Papan tempat memotong roti

5. Papan sirkuit (milik saya memiliki strip tembaga terus menerus)

6. Beberapa Led RGB Katoda umum (saya menggunakan 8, tetapi Anda dapat memiliki lebih atau kurang tergantung pada seberapa banyak cahaya yang Anda inginkan)

7. Aluminium foil

8. Cling wrap

9. Arduino Uno

10. Pita

Kasus:

1. Kayu Saya menggunakan MDF 50 x 50 x 1,8 CM (Anda dapat menggunakan apa saja. Tergantung efek yang Anda inginkan dan alat yang Anda miliki)

2. Plexiglas akrilik Saya menggunakan 50 x 50 x 0,3 CM (atau bahan transparan/tembus pandang lainnya seperti kertas nasi)

3. Amplas (amplas halus)

4. Lem kayu

5.veneer (opsional)

6. Lem akrilik

Peralatan:

penari telanjang kawat

Besi solder + timah

Pisau Stanley

mengebor

Gergaji (saya menggunakan gergaji meja)

Langkah 2: Pembuatan prototipe:

Pembuatan prototipe
Pembuatan prototipe
Pembuatan prototipe
Pembuatan prototipe

Sekarang kami memiliki segalanya dan kami dapat mulai membuat prototipe untuk melihat cara kerjanya:

Pekerjaan persiapan:

Potong 4 persegi panjang dari aluminium foil (Milik saya berukuran sekitar 10 cm kali 5 cm), bungkus dengan cling wrap untuk melindunginya dari sentuhan langsung dan tempelkan kawat ke aluminium foil. Saya hanya menempelkan ujung yang dilucuti ke foil (selama mereka tetap berhubungan).

Untuk memastikan aluminium terisolasi dengan aman, saya membungkusnya dengan cling wrap dan menyetrikanya di antara kertas (hanya beberapa detik agar tidak meleleh sepenuhnya).

Kemudian atur sirkuit seperti yang terlihat pada gambar.

Pin 4 digunakan sebagai pin kirim untuk kedua sensor, sedangkan pin penerima adalah pin 2 dan 5. Anda dapat menggunakan beberapa pin pengiriman tetapi ini menyebabkan masalah karena tidak sinkron dengan sempurna.

gunakan pengaturan ini untuk tujuan debugging sebelum menyolder semuanya bersama-sama, untuk memastikan semuanya benar-benar berfungsi sebagaimana dimaksud.

Langkah 3: Kode:

Sekarang kami memiliki segalanya dan kami dapat mulai men-debug sensor.

Untuk menggunakan kode saya, Anda harus mengunduh perpustakaan penginderaan kapasitif dari Arduino dan menginstalnya sesuai dengan petunjuk yang diberikan oleh halaman referensi: Klik saya

Kode: (Saya tidak pandai coding, jadi jika Anda tahu cara melakukannya dengan lebih baik, silakan lakukan)

#include //import code library

CapacitiveSensor cs_4_2 = CapacitiveSensor(4, 2); //Kirim pin = 4, terima adalah 2 dan 5 CapacitiveSensor cs_4_5 = CapacitiveSensor(4, 5); const int pin merah = 11; const int greenPin = 10; const int pin biru = 9; const int numIndexR = 10; // ukuran array const int numIndexG = 10; int warnaR = 0; int warnaG = 0; warna mengambangB = 0; int indeksR [angkaIndeksR]; int posIndexR = 0; panjang totalR = 0; // perlu panjang karena total array saya terlalu besar untuk sebuah integer. int rata-rataR = 0; int indeksG [angkaIndeksG]; int posIndexG = 0; panjang totalG = 0; int rata-rataG = 0; void setup() { pinMode(redPin, OUTPUT); pinMode(pin hijau, OUTPUT); pinMode(bluePin, OUTPUT); for (int thisIndexR = 0; thisIndexR < numIndexR; thisIndexR++) { //set array ke 0 indexR [thisIndexR] = 0; } for (int thisIndexG = 0; thisIndexG = 4500){ // batasi nilai sensor ke maksimum yang dapat digunakan, ini tidak sama untuk setiap nilai resistor dan juga mungkin sedikit berbeda dari lingkungan ke lingkungan yang mungkin perlu Anda atur ini kebutuhan Anda sendiri. jumlah1 = 4500; } jika (total2 >= 4500){ total2 = 4500; } totalR = totalR - indexR[posIndexR]; //ini di sini membuat larik yang terus menambahkan output sensor dan menghasilkan rata-rata. indexR[posIndexR] = total1; totalR = totalR + indeksR[posIndexR]; posIndexR = posIndexR + 1; if (posIndexR >= numIndexR){ posIndexR = 0; } rata-rataR = totalR / numIndexR; //kami menggunakan rata-rata alih-alih data mentah untuk memuluskan output, ini memperlambat proses sedikit tetapi juga menciptakan aliran halus yang sangat bagus. totalG = totalG - indeksG[posIndexG]; indeksG[posIndexG] = total2; totalG = totalG + indeksG[posIndexG]; posIndexG = posIndexG + 1; if (posIndexG >= numIndexG){ posIndexG = 0; } rata-rataG = totalG / numIndexG; if (averageR >= 2000){ // kami tidak ingin nilai led terus berubah kecuali ada masukan dari tangan Anda, jadi ini memastikan semua pembacaan lingkungan yang lebih rendah tidak diperhitungkan. colorR = peta(rata-rataR, 1000, 4500, 255, 0); analogWrite (redPin, colorR); } else if (averageR = 1000){ colorG = map(averageG, 1000, 4500, 255, 0); analogWrite (pin hijau, warnaG); } else if (rata-rataG <= 1000){ colorG = 255; analogWrite (pin hijau, warnaG); } if (colorR <= 125 && colorG <= 125){ //B bekerja sedikit berbeda karena saya hanya menggunakan 2 sensor jadi saya memetakan B pada kedua sensor colorB = map(colorR, 255, 125, 0, 127.5) + map (warnaG, 255, 125, 0, 127,5); analogWrite (bluePin, colorB); } else{ colorB = peta(colorR, 255, 125, 127.5, 0) + peta(colorG, 255, 125, 127.5, 0); if (warnaB>= 255){ warnaB = 255; } jika (warnaB <= 0){ warnaB = 0; } analogWrite (bluePin, colorB); } Serial.print(milis() - mulai); //ini untuk keperluan debugging Serial.print("\t"); Serial.print(warnaR); Serial.print("\t"); Serial.print(warnaG); Serial.print("\t"); Serial.println(warnaB); penundaan (1); }

Apa yang dilakukan kode ini adalah mengekstrak data mentah dari sensor (data ini akan selalu sedikit tidak menentu karena semua faktor berbeda yang mempengaruhi sensor) dan menempatkan data mentah secara terus menerus dalam sebuah array, ketika array mencapai nilai maksimal (dalam kasus saya 10) itu membersihkan nilai terakhir dan menambahkan yang baru. Setiap kali nilai ditambahkan, ia menghitung nilai rata-rata dan memasukkannya ke dalam variabel baru. Variabel rata-rata ini digunakan untuk memetakan nilai ke nilai dari 0 hingga 255, ini adalah nilai yang kami tulis ke pin RGB untuk meningkatkan kecerahan setiap saluran (saluran menjadi RG dan B).

Sekarang jika Anda mengunggah kode Anda ke arduino dan Anda membuka monitor serial, Anda akan melihat nilai RGB lebih rendah ketika Anda mengarahkan tangan Anda ke setiap sensor juga warna lampu led akan berubah.

Langkah 4: Sekarang untuk Kasus:

Sekarang untuk Kasus
Sekarang untuk Kasus
Sekarang untuk Kasus
Sekarang untuk Kasus
Sekarang untuk Kasus
Sekarang untuk Kasus

Kasing: Saya membuat kasing menggunakan alat yang tersedia melalui universitas saya, jadi alur kerja ini tidak berlaku untuk semua orang. Namun tidak ada yang terlalu istimewa tentang itu, perlu lubang di satu sisi untuk port USB untuk masuk tetapi selain itu hanya kotak atasnya yang terbuka.

Dimensinya adalah sebagai berikut:

15 x 15 CM untuk atasan transparan

dan

15 x 8 CM untuk alas kayu (ketebalan kayu 1,8 CM untuk saya).

Saya menggunakan gergaji meja untuk memotong pelat MDF ke dalam dimensi yang benar yang saya butuhkan (yaitu 4 panel 15 x 8 CM dan 1 panel tanah 15 x 15 CM), setelah itu saya memotong sudut-sudutnya menjadi sudut 45 derajat. Semua bagian yang saya rekatkan menggunakan lem kayu dan klem (biarkan mengering setidaknya 30 menit), saya menggunakan prosedur yang sama untuk Plexiglas tetapi dengan mata gergaji khusus.

1 dari sisi kayu harus memiliki lubang di tengah pada ketinggian colokan USB arduino untuk memungkinkan arduino dicolokkan.

Saya menyelesaikan dasar dengan veneer. Saya memotongnya menjadi beberapa bagian sedikit lebih besar dari permukaan setiap sisi.

Ini saya rekatkan, lalu dijepit selama 30 menit untuk setiap sisinya (lebih baik lakukan satu per satu agar tidak licin dan setelah kering saya potong apa saja yang mencuat.

Tutupnya saya rekatkan menggunakan lem khusus untuk Acryl yang disebut Acryfix.

Ketahuilah bahwa jika Anda menggunakan Plexiglas akrilik, lem akan sedikit melarutkan Plexiglas, jadi lakukanlah dengan tepat dan secepat mungkin (mengering dalam beberapa menit, tetapi terkena udara dalam hitungan detik).

Untuk menyelesaikan tutupnya, saya memoles kubus dengan sandblaster tetapi Anda juga dapat menggunakan amplas halus, hanya butuh lebih banyak waktu untuk membuatnya terlihat rata. Perhatikan bahwa jika Anda menggunakan amplas, itu harus berbutir halus dan juga merekatkan bagian-bagiannya setelah prosedur pembekuan (Jadi Anda tidak merusaknya secara tidak sengaja dengan memberikan banyak tekanan)

Untuk memastikan tutupnya tidak terlalu bergeser, saya menempelkan beberapa batang kayu kecil di tepi kubus kayu.

Langkah 5: Hasil Akhir Seharusnya Terlihat Seperti Ini:

Hasil Akhir Seharusnya Terlihat Seperti Ini
Hasil Akhir Seharusnya Terlihat Seperti Ini

Langkah 6: Solder

Pematerian!
Pematerian!
Pematerian!
Pematerian!

Jika Anda memiliki papan sirkuit, Anda dapat mulai menyolder semua bagian bersama-sama menggunakan pengaturan yang sama dengan papan tempat memotong roti Anda.

Papan sirkuit saya memiliki strip tembaga kontinu untuk kemudahan penggunaan.

Untuk setiap sensor saya memotong kotak kecil untuk menyolder resistor dan kabel.

Kabel pengirim (kabel yang menuju dari pin 4 ke setiap sensor) disolder secara berurutan ke kotak terpisah, dengan 1 kabel yang masuk ke pin 4.

Saya menyimpan persegi panjang panjang untuk membuat strip led improvisasi (mengukurnya sehingga pas di dalam tutup tetapi di tepi alasnya). Anda bisa menyolder led secara berurutan satu sama lain (perlu diingat pada gambar saya tidak sengaja menyolder led dan resistor di sisi yang salah dari papan sirkuit, strip tembaga harus selalu di bawah).

Ketika Anda selesai menyolder bagian-bagian individual bersama-sama, masukkan ke dalam kasing. Saya tidak menyolder kabel masing-masing sehingga saya dapat menggantinya dengan mudah jika diperlukan.

Saatnya untuk memasukkan semuanya ke dalam pangkalan: Ini adalah langkah termudah, arduino harus ditempatkan terlebih dahulu dengan port USB melalui lubang di bagian belakang kasing. Sekarang tambahkan sensor, pastikan foil sensor pas dengan kayu di kedua sisi, dengan foil ground lurus ke arahnya. Ketika semuanya cocok, colokkan led RGB ke pin kanan (9, 10, 11) dan biarkan bersandar di tepi alasnya.

Langkah 7: Kami Selesai

Jika Anda telah menindaklanjuti semua ini, Anda sekarang harus memiliki lampu kerja dengan pencampuran warna sentuh kapasitif. Selamat bersenang-senang!

Direkomendasikan: