Isi kandungan:

Dock Telefon Terkawal Arduino Dengan Lampu: 14 Langkah (dengan Gambar)
Dock Telefon Terkawal Arduino Dengan Lampu: 14 Langkah (dengan Gambar)

Video: Dock Telefon Terkawal Arduino Dengan Lampu: 14 Langkah (dengan Gambar)

Video: Dock Telefon Terkawal Arduino Dengan Lampu: 14 Langkah (dengan Gambar)
Video: PCA9685 және Arduino көмегімен 32 серво моторды басқару: V3 2024, November
Anonim
Image
Image
Dok Telefon Terkawal Arduino Dengan Lampu
Dok Telefon Terkawal Arduino Dengan Lampu
Dok Telefon Terkawal Arduino Dengan Lampu
Dok Telefon Terkawal Arduino Dengan Lampu

Idea itu cukup mudah; buat dok pengecasan telefon yang akan menyalakan lampu hanya semasa telefon sedang dicas. Namun, seperti yang sering terjadi, perkara-perkara yang nampaknya sederhana pada mulanya akhirnya menjadi lebih rumit dalam pelaksanaannya. Ini adalah kisah bagaimana saya membuat dok pengecasan dua telefon yang menyelesaikan tugas mudah saya.

Langkah 1: Apa yang Saya Gunakan

Apa yang saya gunakan
Apa yang saya gunakan
Apa yang saya gunakan
Apa yang saya gunakan
Apa yang saya gunakan
Apa yang saya gunakan

Ini bukanlah senarai lengkap semua yang saya gunakan, tetapi saya ingin memberikan idea umum mengenai komponen utama yang saya gunakan. Saya telah memasukkan pautan Amazon untuk sebahagian besar komponen ini. (Perhatikan bahawa saya mendapat komisen kecil dari Amazon jika anda menggunakan pautan ini. Terima kasih!)

Arduino Uno: https://amzn.to/2c2onfeAdafruit 5V DC Current Sensor (x2): https://amzn.to/2citA0S2-Channel Solid State Relay: https://amzn.to/2cmKfkA 4-Port USB Box: https://amzn.to/2cmKfkA 1 'Panel Pemasangan Kabel USB (x2): https://amzn.to/2cmKfkA 6 Kabel USB AB:

Saya juga menggunakan bekalan berikut yang saya ambil di kedai perkakasan: Kotak Conduit Plastik 4 "x4" (x2) Edison Lampu 40W Edison (x2) Soket Mentol LampuBracket Light TrackPipa Besi Besi Hitam (3/8 ") Kelengkapan Paip Kuningan Pelbagai3 Kacang Kabel Sambungan

Langkah 2: Eksperimen, Reka Bentuk & Pendawaian

Eksperimen, Reka Bentuk & Pendawaian
Eksperimen, Reka Bentuk & Pendawaian

Untuk menentukan kapan telefon diisi, arus ke telefon perlu terus dipantau. Walaupun saya yakin ada reka bentuk litar yang dapat mengukur arus dan mengawal geganti berdasarkan tahap semasa, saya tidak semestinya pakar elektrik dan tidak mahu menyelesaikan pembinaan litar khas. Dari beberapa pengalaman, saya tahu bahawa mikrokontroler kecil (Arduino) dapat digunakan untuk mengukur arus dan kemudian mengawal geganti untuk menghidupkan dan mematikan lampu. Setelah menemui sensor arus DC kecil oleh Adafruit, saya mula bereksperimen dengan menyambungkannya ke kabel USB untuk mengukur arus yang mengalir melaluinya semasa mengecas telefon. Kabel USB 2.0 khas mengandungi 4 wayar: putih, hitam, hijau, dan merah. Oleh kerana wayar hitam dan merah membawa kuasa melalui kabel, salah satu daripada kabel ini dapat digunakan untuk mengukur aliran arus - saya menggunakan wayar merah. Sensor arus khas perlu diletakkan sejajar dengan aliran arus (keperluan semasa mengalir melalui sensor), dan sensor Adafruit tidak terkecuali daripada peraturan ini. Kawat merah dipotong dengan dua hujung potong dilekatkan pada dua terminal skru pada sensor semasa. Sensor Adafruit dihubungkan ke Arduino dan saya menulis beberapa kod ringkas untuk melaporkan aliran semasa melalui sensor. Percubaan sederhana ini menunjukkan kepada saya bahawa telefon pengecasan mempunyai jarak antara 100 dan 400 mA. Setelah telefon dicas sepenuhnya, aliran semasa akan jatuh di bawah 100 mA, tetapi tidak akan mencapai 0.

Dengan percubaan saya berjaya menunjukkan bahawa saya dapat mengukur aliran arus dengan Arduino, saya merancang litar yang ditunjukkan di atas. Dua kabel sambungan USB mount panel 1 'akan disambungkan ke kotak pengecasan 4-port. Kabel pengecasan telefon akan disambungkan ke kabel sambungan ini, menjadikan sistem dapat menampung segala jenis kabel pengecasan USB - dan semoga menjadikannya "bukti telefon masa depan." Kabel merah kabel sambungan akan dipotong dan disambungkan ke sensor semasa. Sensor semasa membekalkan maklumat ke Arduino, yang seterusnya mengendalikan relay keadaan pepejal dua saluran. Relay digunakan untuk menukar kuasa 110V ke mentol lampu. Kuasa ke kotak USB dan lampu boleh diikat bersama membolehkan sistem menggunakan satu soket. Saya sangat suka bagaimana kuasa ke Arduino dapat dibekalkan oleh salah satu port USB tambahan di kotak pengecasan.

Langkah 3: Dok Telefon

Dok Telefon
Dok Telefon

Dok telefon dibina dari paip hitam 3/8 ". Saya menggunakan dua siku lelaki-wanita, T, bahagian pendek yang sepenuhnya berulir, dan bebibir bulat. Untuk bahagian tembaga di bahagian atas dermaga, saya memotong paip tembaga panjang 1 1/2 "dan separuh digunakan untuk setiap bahagian. Lubang kecil digerudi di T, yang cukup besar untuk menampung ujung kabel pencahayaan. Kabel dikerjakan melalui siku dan dilekatkan JB ke dalam paip tembaga. Ini akhirnya menjadi lebih sukar daripada siku yang tidak cukup besar di dalamnya sehingga sesuai dengan kabel pencahayaan. Saya akhirnya memetik bahagian dalam siku sehingga sesuai.

Sekiranya saya terpaksa membuat dok ini lagi, saya akan memberikan lebih banyak sokongan untuk telefon. Seperti yang anda jangkakan, jika telefon didorong sama sekali ketika berada di dok, hujung kabel kilat dapat dibengkokkan dengan sangat mudah. Saya merasa pelik bahawa Apple sebenarnya menjual dok dengan konfigurasi yang tidak disokong yang serupa.

Langkah 4: Lampu

Lampu
Lampu
Lampu
Lampu

Saya mahu lampu mempunyai rupa perindustrian yang serupa dengan yang ada di dermaga. Untuk lampu pertama, saya menggunakan set soket mentol generik di atas bebibir paip 3/8 . Beberapa paip tembaga kecil menghubungkan pangkal ke soket dan melengkapkan aksen tembaga di dok. Mentol Edison 40W sebenarnya adalah bintang lampu ini Saya mahu menggunakan mentol Edison kerana sesuai dengan reka bentuk dok ini dan mereka membolehkan anda membuat lampu mentol terdedah yang indah.

Semasa di Lowe, saya menjumpai pendakap cahaya trek pada jarak yang saya fikir menarik. Saya memusingkan pendakap terbalik dan menambahkan bebibir paip untuk membuat pangkal. Soket di pelekap lampu trek tidak terpasang padanya kerana dirancang untuk dipegang di tempatnya oleh mentol berwajah rata. Oleh kerana saya menggunakan bola lampu Edison, saya membuat pendakap aluminium kecil untuk memegang soket di dalam perumahan bulatan pendakap lampu trek. Tombol tembaga kecil ditambahkan untuk melengkapkan sistem yang lain.

Setelah dok dan lampu selesai, mereka dicat hitam matte - kecuali bit tembaga.

Langkah 5: Kandang Arduino

Kandang Arduino
Kandang Arduino
Kandang Arduino
Kandang Arduino
Kandang Arduino
Kandang Arduino

Saya menggunakan dua penutup PVC 4 "x 4" untuk perumahan Arduino. Saya memotong slot pengudaraan ke satu sisi dan penutup setiap kandang. Di sisi satu penutup, saya memotong dua lubang segi empat untuk kabel USB yang dipasang di panel. Lubang yang jaraknya 1 1/8 "di tengah digerudi di kedua sisi lubang segi empat ini dan digunakan untuk memasang kabel ke kandang. Satu sisi kedua kandang dipotong sehingga kedua kotak itu akan membentuk satu kotak ketika mereka berada disebelah. Blok kayu setebal 3/4 "digunakan untuk menyimpan kotak di konfigurasi sisi ini dan juga merupakan tempat yang sesuai untuk mereka duduk.

Langkah 6: Pasang Kotak USB

Pasang Kotak USB
Pasang Kotak USB

Komponen pertama yang ditambahkan ke kandang ialah kotak pengecasan USB 4-Port. Saya hanya membetulkannya dengan pita dua sisi.

Langkah 7: Gunung Arduino di Kandang

Gunung Arduino di Enclosure
Gunung Arduino di Enclosure
Gunung Arduino di Enclosure
Gunung Arduino di Enclosure
Gunung Arduino di Enclosure
Gunung Arduino di Enclosure

Saya suka menggunakan spacer pelat muka kotak elektrik untuk memasang komponen elektronik kerana ia diperbuat daripada plastik dan boleh disesuaikan untuk berfungsi sebagai penahan atau kebuntuan. Saya hanya memotongnya dengan pisau saya dan kemudian menekan skru ke dalamnya. Arduino dipasang ke dalam kotak satu penutup dengan skru kepala rata kecil dengan spacer pelat muka yang dipasang di antara Arduino dan kotak.

Setelah Arduino dipasang, kabel USB jenis AB pendek (6 ) disambungkan di antara port USB Arduino dan port terdekat dari kotak pengecasan. Ini sangat sesuai untuk kabel dan saya sebenarnya harus memotong kembali bit plastik bendi yang mengelilingi wayar di hujung kabel sehingga sesuai.

Langkah 8: Pendawaian dan Pemasangan Relay

Pendawaian dan Pemasangan Relay
Pendawaian dan Pemasangan Relay
Pendawaian dan Pemasangan Relay
Pendawaian dan Pemasangan Relay
Pendawaian dan Pemasangan Relay
Pendawaian dan Pemasangan Relay
Pendawaian dan Pemasangan Relay
Pendawaian dan Pemasangan Relay

Kabel ke lampu dimasukkan melalui lubang di kandang. Satu wayar dari setiap kord disambungkan ke output (sebelah 120V yang dihidupkan) kedua-dua saluran relay keadaan pepejal. Bahagian wayar pendek (4 ) dihubungkan ke terminal skru yang tinggal bersebelahan dengan tempat kabel wayar ini disambungkan. Kawat ini akan digunakan untuk membekalkan kuasa ke bahagian relay 120V.

Pada bahagian DC geganti, 4 wayar dipasang mengikut konfigurasi yang ditunjukkan. Dua wayar membekalkan voltan + dan - DC yang diperlukan untuk operasi geganti, sementara dua wayar yang tersisa membawa isyarat digital, yang memberitahu saluran untuk menghidupkan atau mematikan.

4 wayar ini kemudian dilampirkan ke Arduino seperti berikut: Kawat merah (DC +) disambungkan ke pin 5V. Kawat hitam (DC-) disambungkan ke pin GND. Kawat coklat (CH1) disambungkan ke digital pin output 7Kawat jingga (CH2) disambungkan ke pin output digital 8

Setelah semua wayar disambungkan ke relay, ia dipasang di kandang menggunakan skru kepala rata kecil.

Langkah 9: Pendawaian dan Pemasangan Sensor Semasa

Pendawaian dan Pemasangan Sensor Semasa
Pendawaian dan Pemasangan Sensor Semasa
Pendawaian dan Pemasangan Sensor Semasa
Pendawaian dan Pemasangan Sensor Semasa
Pendawaian dan Pemasangan Sensor Semasa
Pendawaian dan Pemasangan Sensor Semasa

Kabel komunikasi dan kuasa dibuat untuk dua sensor semasa dengan menyambungkan dua set wayar yang menuju dari sensor ke Arduino. Seperti sebelumnya, wayar merah dan hitam digunakan untuk menghidupkan sensor. Wayar ini disambungkan ke pin Vin (wayar merah) dan GND (wayar hitam) Arduino. Anehnya, bahkan kabel komunikasi (kabel SDA dan SDL) dapat disambungkan bersama. Ini kerana sensor semasa Adafruit masing-masing dapat diberi alamat unik bergantung pada bagaimana pin alamat mereka disolder bersama. Sekiranya papan tidak mempunyai pin alamat yang disolderkan bersama, papan tersebut disebut sebagai papan 0x40 dan akan dirujuk seperti itu dalam kod Arduino. Dengan menyatukan pin alamat A0 bersama-sama, seperti yang dilihat dalam rajah, alamat papan menjadi 0x41. Sekiranya hanya pin alamat A1 yang disambungkan, papan akan menjadi 0x44, dan jika kedua pin A0 dan A1 disambungkan, alamatnya adalah 0x45. Oleh kerana kami hanya menggunakan dua sensor semasa, saya hanya perlu menyisipkan pin alamat pada papan 1 seperti yang ditunjukkan.

Setelah papan ditangani dengan betul, mereka dipasang ke kandang menggunakan skru tembaga kecil.

Kabel SDA (biru) dan SCL (kuning) dari sensor disambungkan ke pin SDA dan SCL di Arduino. Pin ini tidak dilabel pada Arduino saya, tetapi pin ini adalah dua pin terakhir selepas pin AREF di sisi digital papan.

Langkah 10: Sambungkan Kabel Sambungan USB

Sambungkan Kabel Sambungan USB
Sambungkan Kabel Sambungan USB
Sambungkan Kabel Sambungan USB
Sambungkan Kabel Sambungan USB

Seperti yang telah disebutkan sebelumnya, kabel sambungan USB perlu mengalirkan arus melalui sensor semasa. Ini difasilitasi dengan menyambungkan wayar ke kabel merah kabel. Sebaik sahaja kabel USB dipasang di kandang, wayar dari sambungan disambungkan ke sensor semasa. Untuk setiap kabel USB, arus yang mengalir melaluinya akan mengalir kabel-kabel ini, melalui sensor, dan kemudian kembali untuk meneruskan kabel ke telefon pengisian. Hujung kabel USB lelaki dipasang ke dua port terbuka kotak pengecasan USB.

Langkah 11: Sambungkan Kuasa

Sambungkan Kuasa
Sambungkan Kuasa

Langkah terakhir dalam kotak elektronik ialah menyambungkan kabel kuasa ke kotak USB dan lampu (alias geganti 120V). Wayar hitam yang menuju terus ke lampu disambungkan ke satu wayar kabel kuasa bersama dengan wayar coklat dari kotak pengisian. Kabel kuasa ke kotak pengisian hanya dipotong dengan dua wayar di dalamnya (mereka adalah kabel biru dan coklat) dilucutkan ke belakang. Akhirnya, dua wayar putih dari relay adalah wayar yang disambungkan ke wayar kabel kuasa yang lain bersama dengan wayar biru dari kotak pengecasan USB.

Langkah 12: Sistem yang Selesai

Sistem yang Selesai
Sistem yang Selesai
Sistem yang Selesai
Sistem yang Selesai

Setelah kotak dipasang sepenuhnya, penutup penutup boleh diganti. Setelah perkakasan untuk sistem ini lengkap, sudah tiba masanya untuk beralih ke perisian.

Langkah 13: Kod Arduino

Pengembangan kod Arduino agak mudah, walaupun memerlukan beberapa ujian untuk mendapatkannya dengan tepat. Dalam bentuknya yang paling sederhana, kod tersebut menghantar isyarat untuk mengaktifkan saluran relay yang sesuai setiap kali membaca aliran arus yang lebih besar daripada atau sama dengan 90mA. Walaupun kod mudah ini adalah titik permulaan yang baik, telefon bimbit tidak dikenakan bayaran hingga 100% dan kemudian duduk di sana dengan mengambil arus yang sangat sedikit. Sebaliknya, saya dapati bahawa apabila telefon dicas, ia akan menarik beberapa ratus mA untuk waktu yang singkat setiap beberapa minit. Seolah-olah telefon itu adalah keranjang yang bocor yang perlu ditinggalkan setiap beberapa minit.

Untuk menyelesaikan masalah ini, saya mengembangkan strategi di mana setiap saluran boleh berada di salah satu daripada tiga keadaan. State 0 ditakrifkan sebagai ketika telefon dikeluarkan dari dok pengecasan. Dalam praktiknya saya mendapati bahawa hampir tidak ada arus yang mengalir ketika telefon dikeluarkan, tetapi saya menetapkan had arus atas keadaan ini ke 10mA. State 1 adalah keadaan di mana telefon dicas sepenuhnya, tetapi masih berada di dok. Sekiranya aliran semasa jatuh di bawah 90mA dan melebihi 10mA, sistem berada dalam keadaan 1. Nyatakan 2 adalah keadaan pengecasan, di mana telefon melukis 90mA atau lebih.

Apabila telefon diletakkan di dok, keadaan 2 dimulakan dan berterusan semasa pengisian. Setelah pengecasan berakhir dan arus turun di bawah 90mA, sistem berada dalam keadaan 1. Pernyataan bersyarat dibuat pada ketika ini sehingga sistem tidak dapat meneruskan terus dari keadaan 1 ke keadaan 2. Ini menjadikan sistem dalam keadaan 1 sehingga telefon berada dikeluarkan, pada titik mana ia memasuki keadaan 0. Oleh kerana sistem dapat bergerak dari keadaan 0 ke keadaan 2, apabila telefon diletakkan kembali pada pengecas dan aliran arus naik di atas 90mA, keadaan 2 dimulakan lagi. Hanya apabila sistem berada dalam keadaan 2, isyarat dihantar ke relay untuk menyalakan lampu.

Satu masalah lain yang saya hadapi ialah arus kadang kala jatuh di bawah 90mA sebelum telefon dicas sepenuhnya. Ini akan meletakkan sistem ke keadaan 1 sebelum seharusnya. Untuk memperbaikinya, saya mengira data semasa lebih dari 10 saat dan hanya jika nilai arus rata-rata jatuh di bawah 90mA sistem akan memasuki keadaan 1.

Sekiranya anda berminat dengan kod ini, saya telah melampirkan fail Arduino.ino dengan beberapa keterangan di dalamnya. Secara keseluruhan, ia berfungsi dengan baik, tetapi saya perhatikan bahawa kadangkala sistem nampaknya meneruskan keadaan 0 ketika telefon masih terpasang dan dicas sepenuhnya. Ini bermaksud bahawa sesekali cahaya akan menyala selama beberapa saat (apabila ia menyala ke keadaan 2) dan kemudian padam. Sesuatu yang perlu diusahakan untuk masa depan saya rasa.

Langkah 14: Sistem Selesai

Sistem Selesai
Sistem Selesai
Sistem Selesai
Sistem Selesai
Sistem Selesai
Sistem Selesai
Sistem Selesai
Sistem Selesai

Saya memasang dok pengecasan di rak buku kami, dengan kotak Arduino terletak di belakang beberapa buku. Sekiranya anda meliriknya, anda tidak akan pernah menyedari karya yang dilakukan - dan bahkan untuk melihatnya beroperasi tidak berlaku adil. Sekali lagi, ini membuat saya gembira melihat lampu menyala dan padam, dan saya juga bergantung pada mereka untuk melihat apakah telefon sedang dicas.

Disyorkan: