Isi kandungan:

Kawal Lampu Pendarfluor Dengan Penunjuk Laser dan Arduino: 4 Langkah
Kawal Lampu Pendarfluor Dengan Penunjuk Laser dan Arduino: 4 Langkah

Video: Kawal Lampu Pendarfluor Dengan Penunjuk Laser dan Arduino: 4 Langkah

Video: Kawal Lampu Pendarfluor Dengan Penunjuk Laser dan Arduino: 4 Langkah
Video: How Fluorescence Works - The Science 2024, November
Anonim
Kawal Lampu Pendarfluor Dengan Pointer Laser dan Arduino
Kawal Lampu Pendarfluor Dengan Pointer Laser dan Arduino
Kawal Lampu Pendarfluor Dengan Penunjuk Laser dan Arduino
Kawal Lampu Pendarfluor Dengan Penunjuk Laser dan Arduino

Sebilangan ahli Alpha One Labs Hackerspace tidak menyukai cahaya keras yang dikeluarkan oleh lampu pendarfluor. Mereka mahukan kaedah untuk dapat mengawal lekapan individu dengan mudah, mungkin dengan penunjuk laser? Saya faham betul. Saya menggali timbunan relay keadaan pepejal dan membawanya ke Makmal. Saya membeli Arduino Duemilenova dan menunjukkan penggunaan lakaran contoh LED Blink untuk benar-benar mengedipkan lampu halogen. Saya menemui beberapa maklumat mengenai penggunaan LED sebagai sensor cahaya [1] dan lakaran Arduino yang menunjukkan tekniknya [2]. Saya mendapati bahawa LED tidak cukup sensitif - laser harus menunjuk terus ke bahagian pemancar cahaya, atau LED tidak akan mendaftar. Oleh itu, saya beralih ke phototransistors. Mereka jauh lebih sensitif, dan lebih banyak frekuensi. Dengan penapis yang betul di atas transistor, saya dapat menjadikannya lebih sensitif terhadap cahaya merah, dan dari sudut yang lebih luas ke sensor. PENAFIAN DAN PERINGATAN: Ini boleh diarahkan berkaitan dengan voltan talian (utama) pada 120 atau 240 volt. Gunakan akal sehat jika anda membina litar ini - jika anda mempunyai keraguan tentang sesuatu, tanyakan kepada seseorang yang tahu. Anda bertanggungjawab untuk keselamatan (dan orang lain) anda, dan pematuhan dengan kod elektrik tempatan.

Langkah 1: Sketsa dan Beberapa Teori

Saya akan menganggap anda tahu bagaimana menghidupkan Arduino anda, dan mendapatkan lakaran yang disusun dan dimuatkan. Untuk setiap lampu, saya menggunakan kabel telefon, kerana harganya murah, mempunyai empat konduktor, dan saya mempunyai banyak barisan. Saya menggunakan warna merah untuk umum +, hitam untuk tanah, hijau untuk pengumpul fototransistor, dan kuning untuk kawalan geganti +. Sebuah fototransistor melewati jumlah arus yang berbeza-beza dengan jumlah cahaya yang jatuh di atasnya. Analog ke Digital Converter (ADC) di arduino mengukur voltan pada pin berbanding dengan tanah. Saya melihat helaian data phototransistor dan mengesahkan dengan multimeter bahawa transistor melewati 10mA pada cahaya penuh. Menggunakan hukum Ohm, kira-kira 500 ohm pada 5V, Untuk mengawal lampu saya menggunakan modul relay keadaan pepejal. Ini agak murah pada peringkat semasa yang kami perlukan, sekitar $ 4 hingga 4A. Pastikan anda membeli modul geganti dengan pengesan lintasan sifar, terutamanya jika mengendalikan sesuatu yang bersifat induktif, seperti lampu pendarfluor, motor, atau pengubah ketuat dinding. Menghidupkan atau mematikannya di mana sahaja tetapi titik sifar boleh menyebabkan lonjakan voltan yang pada akhirnya akan mengurangkan jangka hayat perkakas anda, dan paling teruk menghidupkan api.

Langkah 2: Pendawaian Lampu

Pendawaian Lampu
Pendawaian Lampu
Pendawaian Lampu
Pendawaian Lampu
Pendawaian Lampu
Pendawaian Lampu

Lihat di siling dan tentukan di mana anda akan memasang pengawal Arduino. Ingat bahawa ia memerlukan bekalan poweer 7-12v. Potong panjang wayar telefon (atau cat5 atau apa sahaja) kira-kira dua kaki lebih panjang daripada jarak dari Arduino ke setiap lampu yang ingin anda kendalikan. Lihatlah sambungan dari talian kuasa dari suis ke pemberat. Anda mungkin dapat memesan penyambung (Newark Electronics menjual siri Wago 930, seperti yang kami ada). Maka anda tidak perlu memotong wayar yang ada dan boleh mengeluarkan sistem jika ada yang tidak kena. Pegang tanah (hitam) ke input relay -, dan kawalan (kuning) untuk memasukkan relay + (kod warna dalam gambar adalah berbeza dengan apa yang saya letakkan di muka depan, kerana saya berubah fikiran tentang apa yang masuk akal). Memateri atau memasang (bergantung pada geganti anda) wayar hitam (panas) melalui geganti. Pastikan menggunakan pengecutan haba dan pita elektrik! Tolak wayar hitam ke dalam penyambung anda dan putih (neutral) dan tanah (hijau) langsung melalui penyambung ke penyambung. Hujung wayar yang lain menuju ke Arduino seperti berikut: Semua wayar merah (katod atau pemungut biasa) pergi ke Analog 0 (port C0), dan semua hitam ke tanah. Setiap hijau (anod atau pemancar) menuju ke pin 8-13 (port B 0-5) dan wayar kuning menuju ke pin 2-7 (port D 2-7). Pastikan kabel hijau dan kuning sesuai, kerana sensor perlu mengawal geganti yang betul! Sekiranya anda memasukkan kuning ke pin 2, warna hijau dari perlawanan yang sama akan menjadi pin 8.

Langkah 3: Menguji Nota Lakaran dan Reka Bentuk

Dalam langkah ini saya akan membincangkan beberapa cobaan dan penderitaan yang saya hadapi dalam perjalanan, dan bagaimana saya mengatasinya, dengan harapan ia akan bermanfaat. Jangan ragu untuk melangkah ke langkah seterusnya jika Kandungan Sains bukan perkara anda:-) Langkah pertama adalah memutuskan sama ada menggunakan penderiaan kapasitif atau penderiaan resistif. Resistive sensing menghubungkan sensor melalui perintang ke salah satu pin analog dan melakukan analogRead dan membandingkan dengan ambang. Ini paling mudah dilaksanakan, tetapi memerlukan banyak penentukuran. Teori penginderaan kapasitif adalah bahawa apabila terbalik bias (- ke plumbum + dan sebaliknya), LED tidak akan membiarkan arus mengalir, tetapi elektron akan terkumpul di satu sisi dan tinggalkan sisi lain, dengan berkesan mengisi kapasitor. Cahaya yang jatuh pada LED pada frekuensi yang biasanya dipancarkannya sebenarnya akan menyebabkan arus smal mengalir, yang melepaskan kapasitor ini. Oleh itu, jika kita mengecas 'kapasitor' LED dan mengira berapa lama masa yang diperlukan untuk melepaskan melalui perintang, kita mendapat idea kasar mengenai berapa banyak cahaya yang jatuh pada LED. Ini sebenarnya berjaya menjadi lebih dipercayai di pelbagai peranti, malah berfungsi untuk phototransistors! Oleh kerana kami tidak melakukan pengukuran lumen yang tepat, dan penunjuk laser kelihatan lebih terang daripada ambien, kami hanya mencari masa pelepasan ambang. Bahagian penting lain dari pengembaraan ini adalah penyahpepijatan. Bagi mereka yang biasa dengan pengaturcaraan sistem yang tidak dilekatkan, kaedah yang popular adalah menambahkan pernyataan cetak pada titik kritikal dalam kod. Ini juga berlaku untuk sistem tertanam, tetapi apabila setiap mikrodetik dikira, jumlah masa untuk Serial.write ("x is"); Bersiri.writeln (x); sebenarnya cukup ketara, dan anda mungkin terlepas banyak peristiwa dalam prosesnya. Oleh itu, ingatlah untuk selalu meletakkan pernyataan cetak anda di luar gelung kritikal, atau bila-bila masa anda menjangkakan peristiwa. Kadang-kadang berkelip LED cukup untuk memberitahu anda bahawa anda telah mencapai titik tertentu dalam kod tersebut.

Langkah 4: Menambah Kawalan Web

Menambah Kawalan Web
Menambah Kawalan Web

Sekiranya anda melihat lakaran, anda dapati bahawa saya juga membaca port bersiri, dan bertindak berdasarkan beberapa arahan watak tunggal. Watak 'n' menyalakan semua lampu, dan 'f' mematikannya. Angka '0' - '5' beralih keadaan cahaya yang disambungkan ke output digital itu. Oleh itu, anda boleh dengan mudah menyusun skrip CGI (atau servlet, atau apa sahaja teknologi web yang mengapung kapal anda) untuk mengawal lampu anda dari jauh. The Serial.writes juga mengeluarkan setiap kali lampu ditukar dari input pengguna, jadi halaman dapat memberikan kemas kini Ajax untuk menunjukkan keadaan semasa. Satu lagi perkara yang akan saya eksperimen adalah mengesan gerakan di dalam bilik. Orang memantulkan cahaya, dan ketika mereka bergerak cahaya itu akan berubah. Itulah bahagian 'delta' dari penyataan tulis yang saya ada.

Disyorkan: