Isi kandungan:

Lampu Tanpa Sentuhan Interaktif: 7 Langkah (dengan Gambar)
Lampu Tanpa Sentuhan Interaktif: 7 Langkah (dengan Gambar)

Video: Lampu Tanpa Sentuhan Interaktif: 7 Langkah (dengan Gambar)

Video: Lampu Tanpa Sentuhan Interaktif: 7 Langkah (dengan Gambar)
Video: Tutorial cara menggunakan Wordwall - game pembelajaran interaktif dan menyenangkan 2024, Disember
Anonim
Lampu Tanpa Sentuhan Intera-t.webp
Lampu Tanpa Sentuhan Intera-t.webp

Hai semua! Saya ingin berkongsi projek yang saya jalankan di sini. Saya mendapat inspirasi untuk bereksperimen dengan sensor sentuh kapasitif melalui projek di universiti saya. Saya mendapat tahu mengenai teknologi ini melalui arahan dan menggunakan perkara yang saya pelajari di sini dan dari tempat lain di internet untuk membina alat kawalan tanpa sentuhan saya sendiri, yang saya gunakan untuk menggabungkan nilai RGB yang berbeza untuk menghasilkan warna cahaya yang menarik.

Sebagai permulaan, semasa saya memulakan projek ini, saya tidak tahu apa-apa mengenai elektronik atau penderiaan sentuhan kapasitif.

Beberapa masalah yang saya hadapi sejak awal disebabkan oleh salah faham mengenai apa yang sebenarnya berlaku. Jadi pengenalan ringkas dari bagaimana saya memahaminya:

Sensor kapasitif menggunakan pelbagai komponen, terutamanya:

Kapasitor (dalam projek ini kita menggunakan aluminium foil, tetapi juga mungkin menggunakan cecair konduktif dll), wayar (tentu saja, elektroniknya)

dan perintang, apa-apa di bawah 10 MOhm adalah rintangan yang terlalu kecil daripada sentuhan langsung.

cara kerjanya adalah dengan mengukur perbezaan masa antara titik A dan titik B. Dari pin permulaan ia menghantar isyarat ke pin akhir, masa yang diperlukan diukur dengan pemasa. Dengan mengurangkan nilai rintangan (dengan menggerakkan kapasitor (dalam hal ini tangan anda) lebih dekat ke kapasitor sensor (aluminium foil) kali ini semakin pendek, perbezaan waktu adalah apa yang diberikan oleh sensor sebagai nilai.

Oleh kerana sensor dipengaruhi oleh permukaan kapasitif data dapat menjadi sangat tidak menentu kerana gangguan. Ini dapat diselesaikan untuk sebahagian besar dengan penebat kapasitor dengan betul dan juga dengan menggunakan pembumian (saya akan menunjukkan bagaimana kemudian).

Jadi sekarang ini tidak dapat dilakukan untuk memulakan inventori semua barang yang kami perlukan:

Langkah 1: Apa Yang Kita Perlu?

Elektronik:

1. 2 x 22M Ohm + perintang (semakin besar nilai rintangan semakin jauh sensor anda bertindak balas, saya secara peribadi menggunakan 22M Ohm, minimum untuk mendapatkan data yang dapat saya alami ialah 10M Ohm)

2. Perintang 3x 330 Ohm

3. wayar

4. Papan roti

5. Papan litar (lombong saya mempunyai jalur tembaga Continouos)

6. Pelbagai Cathode RGB Leds biasa (saya menggunakan 8, tetapi anda boleh mempunyai lebih kurang bergantung pada berapa banyak cahaya yang anda mahukan)

7. Kerajang aluminium

8. Balut berpaut

9. Arduino Uno

10. Pita

Kes itu:

1. Kayu yang saya gunakan MDF 50 x 50 x 1.8 CM (anda boleh menggunakan apa sahaja. Ia bergantung pada kesan yang anda mahukan dan alat yang anda miliki)

2. Plexiglas akrilik Saya menggunakan 50 x 50 x 0.3 CM (atau bahan lutsinar / lut sinar lain seperti kertas beras)

3. Kertas pasir (kertas pasir halus)

4. Lem kayu

5. venir (pilihan)

6. Gam akrilik

Alat:

Pelucut wayar

Pateri besi + timah

Pisau Stanley

latih tubi

Saw (saya menggunakan gergaji meja)

Langkah 2: Menaip Prototaip:

Prototaip
Prototaip
Prototaip
Prototaip

Sekarang kita mempunyai segalanya dan kita boleh mula membuat prototaip untuk melihat bagaimana ia berfungsi:

Persiapan kerja:

Potong 4 segi empat tepat dari kerajang aluminium (Tambang kira-kira 10 cm x 5 cm), bungkus dengan pelekat berpaut untuk melindungi mereka dari sentuhan langsung dan pasangkan wayar ke kerajang aluminium. Saya hanya mengetuk hujung yang dilucutkan ke kerajang (selagi mereka terus berhubung).

Untuk memastikan aluminium terlindung dengan selamat, saya dibungkus dengan clap wrap dan menyeterika di antara kertas (hanya selama beberapa saat sehingga tidak cair sepenuhnya).

Kemudian pasang litar seperti yang dilihat dalam gambar.

Pin 4 digunakan sebagai pin kirim untuk kedua-dua sensor, sementara pin penerimaan adalah pin 2 dan 5. Anda mungkin menggunakan beberapa pin kirim tetapi ia menimbulkan masalah kerana tidak selaras dengan sempurna.

gunakan persediaan ini untuk tujuan penyahpepijatan sebelum menyatukan semuanya bersama-sama, untuk memastikan semuanya berfungsi dengan baik seperti yang diharapkan.

Langkah 3: Kod:

Sekarang kita mempunyai segalanya dan kita boleh mula menyahpepijat sensor.

Untuk menggunakan kod saya, anda harus memuat turun pustaka penginderaan kapasitif dari Arduino dan memasangnya mengikut arahan yang diberikan oleh halaman rujukan: Klik saya

Kodnya: (Saya tidak mahir dalam pengekodan, jadi jika anda tahu bagaimana melakukannya dengan lebih baik, sila lakukan)

#masuk // import pustaka kod

CapacitiveSensor cs_4_2 = CapacitiveSensor (4, 2); // Kirim pin = 4, terima adalah 2 dan 5 CapacitiveSensor cs_4_5 = CapacitiveSensor (4, 5); const int redPin = 11; const int greenPin = 10; const int bluePin = 9; const int numIndexR = 10; // saiz array const int numIndexG = 10; int warnaR = 0; int warnaG = 0; warna apunganB = 0; int indexR [numIndexR]; int posIndexR = 0; jumlah panjangR = 0; // perlu panjang kerana jumlah susunan saya adalah besar untuk bilangan bulat. int purataR = 0; int indexG [numIndexG]; int posIndexG = 0; jumlah panjangG = 0; int purataG = 0; batal persediaan () {pinMode (redPin, OUTPUT); pinMode (greenPin, OUTPUT); pinMode (bluePin, OUTPUT); untuk (int thisIndexR = 0; thisIndexR <numIndexR; thisIndexR ++) {// menetapkan susunan ke 0 indexR [thisIndexR] = 0; } untuk (int thisIndexG = 0; thisIndexG = 4500) {// hadkan nilai sensor ke maksimum yang dapat digunakan, ini tidak sama untuk setiap nilai perintang dan juga mungkin sedikit berbeza dari lingkungan ke lingkungan yang mungkin anda perlukan untuk mengubahnya ke keperluan anda sendiri. jumlah1 = 4500; } jika (total2> = 4500) {total2 = 4500; } totalR = totalR - indexR [posIndexR]; // ini di sini menghasilkan tatasusunan yang terus menambahkan output sensor dan menghasilkan purata. indexR [posIndexR] = jumlah1; totalR = totalR + indexR [posIndexR]; posIndexR = posIndexR + 1; jika (posIndexR> = numIndexR) {posIndexR = 0; } purataR = totalR / numIndexR; // kami menggunakan rata-rata dan bukannya data mentah untuk melicinkan output, ini memperlambat proses sedikit tetapi juga membuat aliran lancar yang sangat bagus. totalG = totalG - indexG [posIndexG]; indexG [posIndexG] = total2; totalG = totalG + indexG [posIndexG]; posIndexG = posIndexG + 1; jika (posIndexG> = numIndexG) {posIndexG = 0; } purataG = totalG / numIndexG; jika (rata-rataR> = 2000) {// kami tidak mahu petunjuk terus berubah nilai kecuali ada input dari tangan anda, jadi ini memastikan semua bacaan persekitaran yang lebih rendah tidak diambil kira. colorR = peta (purataR, 1000, 4500, 255, 0); analogWrite (redPin, colorR); } lain jika (purataR = 1000) {colorG = peta (purataG, 1000, 4500, 255, 0); analogWrite (greenPin, colorG); } lain jika (purataG <= 1000) {colorG = 255; analogWrite (greenPin, colorG); } if (colorR <= 125 && colorG <= 125) {// B berfungsi sedikit berbeza kerana saya hanya menggunakan 2 sensor jadi saya memetakan B pada kedua-dua sensor tersebut warnaB = peta (colorR, 255, 125, 0, 127.5) + peta (colorG, 255, 125, 0, 127.5); analogWrite (bluePin, colorB); } lain {colorB = peta (colorR, 255, 125, 127.5, 0) + peta (colorG, 255, 125, 127.5, 0); jika (colorB> = 255) {colorB = 255; } jika (colorB <= 0) {colorB = 0; } analogWrite (bluePin, colorB); } Serial.print (milis () - mula); // ini untuk tujuan penyahpepijatan Serial.print ("\ t"); Serial.print (colorR); Serial.print ("\ t"); Serial.print (colorG); Serial.print ("\ t"); Serial.println (colorB); kelewatan (1); }

Apa yang dilakukan oleh kod ini adalah mengekstrak data mentah dari sensor (data ini akan selalu sedikit tidak menentu disebabkan oleh semua faktor yang berbeza yang mempengaruhi sensor) dan ia meletakkan data mentah secara berterusan dalam array, apabila array mencapai nilai maksimum (dalam kes saya 10) ia membersihkan nilai terakhir dan menambah yang baru. Setiap kali nilai ditambahkan, ia mengira nilai purata dan memasukkannya ke dalam pemboleh ubah baru. Pemboleh ubah purata 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 R G dan B).

Sekarang jika anda memuat naik kod anda ke arduino dan anda membuka monitor bersiri, anda pasti akan melihat nilai RGB lebih rendah ketika anda meletakkan tangan anda di atas setiap sensor dan juga warna cahaya dari led akan berubah.

Langkah 4: Sekarang untuk Kes:

Sekarang untuk Kes
Sekarang untuk Kes
Sekarang untuk Kes
Sekarang untuk Kes
Sekarang untuk Kes
Sekarang untuk Kes

Kes ini: Saya membuat casing menggunakan alat yang tersedia di universiti saya, jadi aliran kerja ini tidak berlaku untuk semua orang. Namun tidak ada yang terlalu istimewa, ia memerlukan lubang di satu sisi agar port USB dapat dipasang tetapi selain itu hanya kotak terbuka.

Dimensinya adalah seperti berikut:

15 x 15 CM untuk bahagian atas yang telus

dan

15 x 8 CM untuk asas kayu (ketebalan kayu adalah 1.8 CM untuk saya).

Saya menggunakan gergaji meja untuk memotong pinggan MDF ke dimensi yang betul yang saya perlukan (iaitu 4 panel 15 x 8 CM dan panel tanah 1 15 x 15 CM), selepas itu saya memotong sudut menjadi sudut 45 darjah. Semua bahagian yang saya gabungkan menggunakan gam kayu dan pengapit (biarkan kering sekurang-kurangnya 30 minit), saya menggunakan prosedur yang sama untuk Plexiglas tetapi dengan pisau gergaji khas.

1 dari sisi kayu harus mempunyai lubang di tengah pada ketinggian palam USB arduino untuk membolehkan arduino dipasang.

Saya menyelesaikan asas dengan venir. Saya memotongnya menjadi kepingan sedikit lebih besar daripada permukaan setiap sisi.

Ini saya menempelkannya, kemudian mengapitnya 30 minit untuk setiap sisi (lebih baik melakukannya secara individu sehingga anda memastikannya tidak tergelincir dan setelah kering saya memotong apa sahaja yang tersekat.

Topi yang saya tempelkan menggunakan gam khusus untuk Acryl yang disebut Acryfix.

Ketahuilah bahawa jika anda menggunakan Plexiglas akrilik, gam larut Plexiglas sedikit, jadi secepat dan secepat mungkin (ia kering dalam beberapa minit, tetapi terkena udara dalam beberapa saat).

Untuk melengkapkan penutupnya, saya membeku kubus dengan sandblaster tetapi anda juga boleh menggunakan kertas pasir halus, ia memerlukan lebih banyak masa untuk membuatnya kelihatan sekata. Perlu diingat bahawa jika anda menggunakan kertas pasir, ia perlu menjadi halus dan juga merekatkan bahagian-bahagiannya setelah prosedur pembekuan (Oleh itu, anda tidak memecahkannya secara tidak sengaja dengan menggunakan banyak tekanan)

Untuk memastikan penutupnya tidak tergelincir, saya menempelkan beberapa batang kayu kecil di tepi kubus kayu.

Langkah 5: Hasil Akhir Sepertinya Seperti:

Keputusan Akhir Sepatutnya Seperti Ini
Keputusan Akhir Sepatutnya Seperti Ini

Langkah 6: Memateri

Memateri!
Memateri!
Memateri!
Memateri!

Sekiranya anda mempunyai papan litar, anda boleh mula menyolder semua bahagian bersama-sama menggunakan persediaan yang sama dengan papan roti anda.

Papan litar saya mempunyai jalur tembaga berterusan untuk kemudahan penggunaan.

Untuk setiap sensor, saya memotong petak kecil untuk menyolder perintang dan wayar.

Kabel hantar (wayar yang pergi dari pin 4 ke setiap sensor) disolder secara berurutan ke petak yang terpisah, dengan 1 wayar yang masuk ke pin 4.

Saya menyimpan sebuah segi empat panjang untuk membuat jalur led improvisasi (ukurnya agar sesuai dengan bahagian dalam topi tetapi di tepi pangkal). Anda hanya boleh menyolder lekukan secara berurutan satu sama lain (perlu diingat pada gambar saya secara tidak sengaja memateri lekapan dan perintang di bahagian yang salah pada papan litar, jalur tembaga harus selalu berada di bahagian bawah).

Apabila anda selesai menyolder bahagian masing-masing, pasangkannya ke dalam casing. Saya tidak menyatukan wayar individu saya sehingga saya dapat menukarnya dengan mudah jika diperlukan.

Masa untuk memasukkan semuanya ke dalam pangkalan: Ini adalah langkah paling mudah, arduino perlu ditempatkan terlebih dahulu dengan port USB melalui lubang di bahagian belakang casing. Sekarang tambahkan sensor, pastikan kerajang sensor sesuai dengan kayu di kedua sisi, dengan kerajang tanah lurus menghadapnya. Apabila semuanya sesuai dengan baik, pasangkan lekapan RGB ke pin kanan (9, 10, 11) dan biarkan bersandar di tepi pangkal.

Langkah 7: Kita Selesai

Sekiranya anda mengikuti semua ini, anda kini harus mempunyai lampu kerja dengan penyatuan warna sentuhan kapasitif. Berseronok!

Disyorkan: