Jeffrey Cross
Jeffrey Cross

Gunakan Photon untuk Membuat Peti Roda Magic Interaktif

Angka 8-3 dan 8-4 menunjukkan sepasang Photon dengan panjang tarikan mereka yang menarik untuk ditarik. Satu ada di dalam kotak kayu, menambah misteri.

Projek ini dikutip dari Make: Getting Started with the Photon. Jualan sekarang.

Projek Magic Rope, yang menggunakan Photon, diilhamkan oleh Leena Ventä-Olkkonen, Tobi Stockinger, Claudia Zuniga, dan Graham Dean, yang menunjukkan bagaimana pemasangan awam boleh dibuat yang membolehkan peta besar dunia diposisikan dalam pelbagai ruang awam di bandar.

Peta-peta ini akan mempunyai panjang pendek tali melekat lubang pada peta yang bersamaan dengan bandar-bandar lain di seluruh dunia. Ideanya ialah orang ramai di salah satu daripada bandar-bandar ini (katakan London) boleh berjalan dengan tali di peta mereka, menariknya, dan tali yang dipasang di bandar lain (katakan, New York) akan ditarik ke dalam peta, menarik perhatian orang-orang berhampiran pemasangan. Pertukaran tarik tali yang lembut dapat terjadi di seluruh dunia.

Projek asal dibangunkan hanya sebagai konsep dan tidak benar-benar dilaksanakan sebagai pemasangan sebenar. Dalam projek ini, anda akan membuat sepasang tali "terikat" yang boleh diletakkan di bandar-bandar yang berbeza. Ini boleh digunakan sebagai cara yang baik untuk berhubung dengan saudara jauh.

Bahagian

Untuk membina projek ini, anda memerlukan dua set setiap bahagian yang disenaraikan dalam Jadual 8-1 sebagai tambahan kepada dua Photon / Cores.

Pot geser (potensiometer) yang digunakan dalam projek ini adalah resistor yang berubah-ubah yang dimaksudkan untuk digunakan dalam meja pencampuran muzik secara automatik. Anda boleh menyesuaikan rintangan dengan meluncur "slider" ke atas dan ke bawah panjang periuk, tetapi terdapat juga sedikit motor yang akan memindahkan gelangsar dengan menggunakan pemacu tali pinggang bergigi.

Pot periuk ini tidak memimpin melekat pada pin, jadi inilah satu projek di mana anda perlu menggunakan besi pematerian dan melampirkan beberapa petunjuk kepada pin.

Perisian

Kedua-dua hujung projek ini mempunyai perisian yang sama berjalan pada mereka, dan anda boleh menemuinya dalam fail p_15_Magic_Rope di dalam PHOTON_BOOK perpustakaan; contoh kod boleh dimuat turun di sini.

Versi asal fail ini mempunyai beberapa arahan tambahan yang mengulas yang boleh digunakan untuk debug projek jika peristiwa tidak kelihatan melalui. Lihat komen dalam program asal jika anda perlu menggunakannya.

Program ini bermula dengan mendefinisikan dua pin untuk digunakan. A0 adalah untuk output voltan potentiometer, yang akan menjadi 0V jika tali sepenuhnya dikeluarkan, dan 3.3V jika tali ditarik sepenuhnya.

Pembolehubah boolean giliran saya digunakan untuk mengesan gilirannya untuk menarik tali. Jika giliran saya ditetapkan kepada benar, maka giliran peranti ini mempunyai tali yang ditarik.

Kedua-dua hujung projek ini kedua-duanya menerbitkan dan melanggan acara yang sama, jadi pemboleh ubah thisID diperlukan supaya peranti itu tahu ID sendiri dan boleh mengabaikan acara penerbitannya sendiri, hanya bertindak balas terhadap peristiwa yang datang dari Photon / Core yang lain.

Pemalar maxPosn adalah bacaan input analog di mana periuk gelongsor berada pada kedudukan di mana tali ditarik sepenuhnya. Ini ditetapkan sedikit lebih rendah daripada nilai input analog maksimum maksimum 4095 untuk membolehkan sebarang ketidaktepatan dalam bacaan analog.

Pemalar kedua, minPosn, bersamaan dengan kira-kira tiga suku jalan yang ditarik, dan ini adalah ambang di mana acara "ditarik" akan diterbitkan.

Fungsi persediaan membuat langganan yang diperlukan untuk "menarik" mengaitkannya dengan fungsi tersebut remoteRopePulled. Ia juga memanggil fungsi tersebut moveSliderTo untuk meletakkan kedudukan gelangsar pada kedudukan yang ditarik sepenuhnya, sedia untuk ditarik keluar.

Fungsi gelung membaca input analog untuk mencari newLocalPosition. Sekiranya ini kurang dari minPosn malar dan giliran peranti ini untuk bergerak, maka acara "ditarik" diterbitkan dengan ID peranti ini sebagai parameternya.

Dalam keadaan di mana tali telah ditarik pada Photon / Core yang lain, fungsi itu remoteRopePulled akan dipanggil. Fungsi ini akan dibekalkan dengan ID peranti di mana tali itu ditarik, supaya ia dapat dibandingkan dengan thisID, ID dari Photon yang menerima, dengan mencari rentetan aksara dalam thisID dalam ID yang diluluskan dalam data.

Sekiranya peristiwa itu telah datang dari Photon / Core jauh, gelangsar ditarik sepenuhnya, dan giliran saya dibalikkan kepada benar.

Fungsinya moveSliderTo mengendalikan semua pergerakan automatik slider. Malah, ia hanya boleh menarik gelangsar masuk Tetapi anda tidak boleh menolak tali, jadi semudah itu. Fungsi ini mengambil posisi baru sebagai parameter dan menyimpan kuasa yang dibekalkan ke motor sehingga masa yang diukur kedudukannya tidak lagi kurang dari posisi yang diinginkan.

Perkakasan

Susun atur roti untuk projek ini ditunjukkan dalam Rajah 8-5.

Pot motor bermotor sebenarnya adalah peranti stereo, tetapi kita hanya memerlukan satu saluran untuk projek ini. Ini bermakna terdapat beberapa pin yang tidak perlu anda sambungkan. Rajah 8-6 menunjukkan bahagian bawah periuk bermotor. Anda boleh melihat motor di bahagian bawah kanan.

Sebelum memasang papan roti, anda perlu menyeberang beberapa wayar ke kaki periuk bermotor. Pemimpin motor mudah dikenalpasti. Sekiranya anda menggunakan periuk bermotor yang sama seperti saya, letakkan plumbum merah ke plumbum motor utama (seperti ditunjukkan dalam Rajah 8-6) dan plumbum hitam kepada plumbum motor yang lain. Semua petunjuk perlu sekitar 6 inci untuk selesa sampai ke papan roti.

Di hujung motor, letakkan petunjuk merah ke arah paling kanan. Ini adalah pendahuluan yang akan pergi ke 3.3V pada papan roti. Pasang lekuk kuning atau oren ke pin paling kanan di hujung periuk motor. Punca ini adalah gelangsar periuk yang akan menyambung kepada A0 pada Photon / Core. Akhirnya, sambungkan pukulan coklat atau biru di sebelah plumbum kuning ini. Ini akan menyambung kepada GND pada papan roti.

Akhir sekali, hubungkan semuanya seperti yang ditunjukkan dalam Rajah 8-5, memberi perhatian khusus kepada transistor dan diod, untuk memastikan ia adalah cara yang betul. Diod mempunyai jalur pada satu hujung yang harus berada di bahagian atas papan roti, dan transistor mempunyai satu sisi melengkung.

Motor pemanduan boleh menyebabkan pancang voltan, dan diod melindungi Foton / Teras daripada kerosakan akibat kemalangan akibat pancang ini.

Menggunakan Projek

Untuk menggunakan projek itu, kuasa kedua-dua hujung tali sihir. Selepas Photon / Core telah selesai bermula (berkelip lampu hijau), motor harus diaktifkan di kedua-dua hujung projek, menarik slaid sehingga satu hujung trek.

Tarik pada salah satu tali dan kemudian yang lain. Apabila anda menarik tali kedua, rentetan pertama harus ditarik balik secara automatik.

Anda boleh mencari kotak kayu yang bagus untuk projek ini, menggerudi lubang untuk rentetan untuk muncul pada satu hujung dan lubang untuk memimpin USB pada yang lain.

Ringkasan

Penggunaan penerbitan dan melanggan adalah sangat berkuasa, dan membuka pelbagai kemungkinan untuk projek kerjasama di mana orang boleh berinteraksi secara fizikal melalui Internet.

Dr. Simon Monk mempunyai ijazah dalam bidang Cybernetics dan Sains Komputer dan Ph.D. dalam Kejuruteraan Perisian. Simon menghabiskan beberapa tahun sebagai seorang akademik sebelum dia kembali ke industri, bersama-sama menubuhkan syarikat perisian mudah alih Momote Ltd. Beliau telah menjadi seorang penggemar elektronik aktif sejak remaja awal. Simon kini merupakan pengarang sepenuh masa; bukunya termasuk 30 Projek Arduino untuk Kejahatan Genius, 15 Projek Gila Berbahaya untuk Kejahatan Genius, dan Projek Arduino + Android untuk Genius Jahat.

Nota: Projek ini dikutip, dengan kebenaran, dari buku baru Dr. Simon Monk, Bermula dengan Photon. The $ 19 mikrokontroller dari Zarah, Photon, adalah sumber terbuka, membolehkan WiFi, dan pengganti kepada Spark Teras asal.

Kongsi

Meninggalkan Komen