Isi kandungan:

Radar Periferi untuk Orang Kurang Upaya Penglihatan: 14 Langkah
Radar Periferi untuk Orang Kurang Upaya Penglihatan: 14 Langkah

Video: Radar Periferi untuk Orang Kurang Upaya Penglihatan: 14 Langkah

Video: Radar Periferi untuk Orang Kurang Upaya Penglihatan: 14 Langkah
Video: 10 Gejala atau Tanda Gula Darah Anda Tinggi 2024, November
Anonim
Radar Periferi untuk Orang Kurang Upaya Penglihatan
Radar Periferi untuk Orang Kurang Upaya Penglihatan

Akibat kemalangan ngeri, seorang rakan saya baru-baru ini hilang dari pandangan mata kanannya. Dia sudah lama tidak bekerja dan ketika dia kembali dia memberitahu bahawa salah satu perkara yang paling tidak menyenangkan yang harus dia hadapi adalah kurangnya mengetahui apa yang ada di sebelah kanannya. Penglihatan kurang periferal bermaksud bertemu dengan orang dan orang. Ini mengganggu saya. Saya memutuskan mesti ada sesuatu yang boleh kita lakukan.

Saya ingin membina peranti yang dapat mengukur jarak ke objek di sebelah kanan rakan saya. Rencana saya adalah menggunakan motor haptik untuk menggetarkan peranti berbanding terbalik dengan jarak ke objek. Kemudian jika objek berada jauh, motor tidak akan bergetar dan apabila objek lebih dekat, ia akan mula bergetar pada tahap rendah. Sekiranya objek itu dekat ia akan bergetar pada tahap yang jauh lebih tinggi (atau tahap apa sahaja yang anda mahukan). Peranti harus cukup kecil untuk digantung di sisi cermin dengan sensor menunjuk ke kanan. Rakan saya akan meletakkan alat itu di sebelah kanan gelasnya tetapi tentu saja untuk orang lain, ia boleh menjadi sebelah kiri.

Saya teringat bahawa saya mempunyai beberapa sensor jarak akustik di rumah. Tetapi, ia agak besar dan besar, kurang tepat dan kemungkinan terlalu berat untuk digunakan pada cermin mata. Saya mula mencari yang lain.

Yang saya dapati ialah sensor Time-of-Flight ST Electronics VL53L0X. Ini adalah laser inframerah dan pengesan inframerah dalam satu paket. Ia memancarkan denyut sinar laser di luar jarak yang dapat dilihat oleh manusia (940 nm) dan mencatat masa berlalu yang diperlukan untuk mengesan denyut yang dipantulkan. Ia membahagi masa ini dengan 2 dan didarab dengan kelajuan cahaya menghasilkan jarak yang sangat tepat dalam milimeter. Sensor dapat mengesan jarak hingga 2 meter tetapi seperti yang saya lihat, 1 meter lebih optimum.

Seperti yang berlaku, Adafruit mempunyai papan pemecah VL53L0X. Oleh itu, saya memerlukan motor bergetar, yang juga mereka miliki, dan pengawal mikro untuk menjalankan semuanya. Saya kebetulan menggunakan PJRC Teensy 3.2. Walaupun lebih besar dari yang saya mahukan, ia mempunyai kemampuan untuk dicatat pada kelajuan yang perlahan. Saya mahu menurunkan kelajuan jam untuk menjimatkan kuasa. Dan sejauh mana sumber kuasa berlaku, saya mempunyai Sparkfun boost regulator di kotak sampah saya bersama dengan pemegang bateri AAA. Saya mempunyai semua yang saya perlukan.

Langkah 1: Prototaip Pertama

Prototaip Pertama
Prototaip Pertama
Prototaip Pertama
Prototaip Pertama

Saya mengambil bahagian yang ada di tangan dan membuat prototaip peranti bimbit yang saya bayangkan. Saya 3D mencetak pemegang dan plat pelekap dan menyolder semua elektronik ke protoboard Adafruit. Saya menyambungkan motor getar ke Teensy melalui transistor 2N3904 NPN. Saya menambah potensiometer untuk digunakan untuk menetapkan jarak maksimum yang akan ditanggapi oleh peranti.

Saya menjalankannya pada hujung minggu berikutnya (lihat gambar di atas). Ia tidak cantik tetapi menunjukkan prinsipnya. Rakan saya dapat memegang peranti di sebelah kanannya dan menguji sama ada peranti itu berguna atau tidak dan untuk membantu memperbaiki apa yang dia mahukan untuk ciri.

Langkah 2: Prototaip # 2

Prototaip # 2
Prototaip # 2
Prototaip # 2
Prototaip # 2
Prototaip # 2
Prototaip # 2

Selepas prototaip genggam pertama saya mula membuat versi yang lebih kecil. Saya ingin mendekati matlamat saya untuk membuat sesuatu yang sesuai dengan cermin mata. Teensy yang saya gunakan pada versi genggam membolehkan saya memperlahankan jam untuk menjimatkan kuasa. Tetapi ukuran akan menjadi faktor dan jadi saya beralih ke Adafruit Trinket M0. Walaupun kadar jamnya adalah 48 MHz, pemproses ARM berdasarkannya dapat diturunkan dengan lebih perlahan. Dengan menggunakan pengayun RC dalaman ia dapat berjalan pada 8, 4 2 dan bahkan 1 MHz.

Prototaip # 2 berkumpul dengan cepat kerana saya telah mengumpulkannya pada hujung minggu berikutnya. Litarnya sama dengan prototaip # 1 kecuali untuk ARM M0. Saya 3D mencetak penutup kecil dan meletakkan panduan di bahagian belakang sehingga boleh dilekatkan pada cermin mata. Lihat gambar di atas. Pada mulanya ia dicatat pada kecepatan 48 MHz.

Langkah 3: Prototaip # 3

Prototaip # 3
Prototaip # 3

Jadi, Instructable ini betul-betul bermula di sini. Saya memutuskan untuk membuat satu prototaip terakhir. Saya memutuskan untuk memaksanya sekecil mungkin menggunakan PWB tersuai (yang mana saya pasti kita menuju). Selebihnya dari Instructable ini adalah untuk menunjukkan kepada anda bagaimana membuatnya. Sama seperti orang yang membuat tangan dicetak 3D untuk kanak-kanak kurang upaya, harapan saya adalah orang akan menjadikannya untuk sesiapa sahaja dengan penglihatan yang sama.

Saya menyimpan senarai bahagian yang sama dengan prototaip # 2 tetapi saya memutuskan untuk membuang potensiometer. Setelah berbual dengan rakan saya, kami memutuskan untuk membuat set jarak maksimum menggunakan perisian. Kerana saya memiliki kemampuan untuk menggunakan sensor sentuh menggunakan Teensy, kami selalu dapat menjadikan jarak maksimum sebagai pengaturan dengan menyentuh. Satu sentuhan menetapkan jarak pendek, atau lebih banyak sentuhan jarak lebih jauh, sentuhan lain jarak terpanjang dan kemudian untuk satu sentuhan lagi, balut kembali ke awal. Tetapi pada mulanya, kami akan menggunakan jarak tetap untuk pergi.

Langkah 4: Bahagian

Bahagian
Bahagian

Untuk prototaip ini, saya memerlukan papan yang lebih kecil. Saya menggunakan protoboard Sparkfun (PRT-12702) kerana ukurannya yang kecil (kira-kira 1.8 "X 1.3") akan menjadi ukuran yang baik untuk diambil.

Saya juga perlu menggunakan sesuatu selain bateri AAA sebagai sumber kuasa. LiPo sepertinya pilihan yang tepat kerana ia mempunyai kapasiti penyimpanan dan berat ringan. Saya mencuba sel duit syiling tetapi tidak mempunyai kuasa yang cukup untuk mengendalikan motor dalam jangka masa yang lama. Saya memilih LiPo kecil yang mempunyai kapasiti 150 mAH.

Saya akan kekal dengan Trinket M0 dan tentu saja, papan pemecah VL53L0X.

Sekarang kita mengetahui perinciannya, berikut adalah senarai bahagian untuk prototaip ini:

Adafruit VL53L0X Sensor Jarak Masa Penerbangan - ID PRODUK: 3317 Adafruit - Cakera Motor Mini Bergetar - ID PRODUK: 1201 Adafruit - Lithium Ion Polymer Battery - 3.7v 150mAh - ID PRODUK: 1317 SparkFun - Solder-Breadboard - Mini - PRT-12702 Sparkfun - Penyambung Sudut Kanan JST - Lubang 2-Lubang Melalui - Perintang PRT-09749 10K ohm - Junkbox (lihat di lantai anda) Transistor 2N3904 NPN - Kotak Sampah (atau telefon rakan) Beberapa wayar penyambung (saya menggunakan 22 gauge terdampar)

Untuk mengecas bateri LiPo, saya juga mengambil:

Adafruit - Micro Lipo - Pengecas LiIon / LiPoly USB - v1 - ID PRODUK: 1304

Langkah 5: Skematik

Skema
Skema

Skema untuk peranti ini ditunjukkan di atas. Input sentuhan akan untuk versi yang akan datang tetapi tetap ditunjukkan dalam skema. Juga, perintang 10K antara Trinket M0 dan dasar 2N3904 menyediakan asas yang cukup untuk menghidupkan motor tanpa membantingnya terlalu keras.

Yang berikut adalah penerangan pemasangan langkah demi langkah.

Langkah 6: Protoboard

Protoboard
Protoboard

Ramai di antara anda yang berpengalaman mengetahui hal ini tetapi, ini adalah bagi mereka yang mungkin baru dalam pematerian protoboard:

Protoboard Sparkfun (PRT-12702) yang ditunjukkan di atas mempunyai 17 lajur (kumpulan) 5 pin di setiap sisi jurang tiga persepuluh inci. Setiap lajur menegak dengan 5 pin di kedua-dua belah celah adalah satu sama lain. Dengan ini saya bermaksud bahawa sebarang sambungan ke pin dalam kumpulan adalah hubungan dengan setiap pin lain dalam kumpulan. Untuk papan ini, nampaknya tidak jelas tetapi anda boleh mengesahkannya jika anda menggunakan DVM (Digital Volt Meter). Sekiranya anda melihat ke belakang, anda hanya dapat melihat jejak yang menghubungkan kumpulan.

Langkah 7: Penempatan Komponen

Penempatan Komponen
Penempatan Komponen
Penempatan Komponen
Penempatan Komponen

Anda mungkin perlu memasangkan jalur pin ke Trinket M0 dan VL53L0X. Kedua-duanya dilengkapi dengan helai tetapi mereka perlu disolder. Adafruit mempunyai arahan di Pusat Pembelajaran mereka untuk kedua-dua bahagian ini. Sekiranya anda baru mengetahui perkara ini, sila ke sana (di sini dan di sini) sebelum memasangkan helai ke papan. Jalur pin memberikan profil yang lebih rendah daripada soket.

Perkara pertama yang perlu dipertimbangkan ketika menyolder sesuatu ke papan protob dengan ruang terhad adalah penempatan komponen. Saya meletakkan Trinket dan VL53L0X pada kedudukan yang ditunjukkan dalam gambar di atas. Trinket mempunyai pin di kedua tepi papan tetapi VL53L0X mempunyai 7 pin semuanya di satu tepi papannya. Sisi VL53L0X yang tidak mempunyai pin akan kita gunakan untuk menghubungkan beberapa komponen… seperti yang akan kita lihat.

Saya juga menyisipkan suis slaid ke kedudukannya dan saya menyolder 2N3904. Saya telah menggelapkan lubang di mana bahagian-bahagian itu diletakkan dan, untuk 2N3904, saya perhatikan pin mana yang merupakan Pemungut, Pangkalan dan Pemancar. Semasa pertama kali menyoldernya, anda harus meletakkannya tegak lurus ke papan supaya anda dapat menyambungkan sambungan lain. Nanti anda akan dapat membongkoknya (dengan berhati-hati) sehingga lebih dekat dengan kepingan papan.

CATATAN: Pemecahan Bateri JST TIDAK dapat disolder ke papan pada masa ini. Ia akan disolder ke bahagian belakang papan tetapi hanya SELEPAS kita menyambungkan sambungan yang lain. Ini akan menjadi perkara terakhir yang kita buat.

Langkah 8: Wayar

Wayar
Wayar

Gambarajah di atas menunjukkan protoboard sekali lagi dengan lubang gelap di mana komponen akan berada. Saya telah menambahkan label untuknya di sepanjang tepinya untuk memudahkan pemasangan wayar. Perhatikan motor getaran ditunjukkan tetapi ia akan terletak di bahagian belakang papan dan akan disambungkan hampir bertahan sehingga sekarang, abaikan saja. Saya juga menunjukkan JST Battery Breakout dengan garis putus-putus. Seperti yang telah dikenal pasti pada langkah sebelumnya, jangan sambungkannya tetapi biarkan 4 lubang di bahagian atas papan terbuka (iaitu jangan terpateri).

Saya menganggap pada masa ini bahawa anda tahu bagaimana melepaskan penebat dari wayar, timah hujungnya dengan pateri dan pateri ke papan. Sekiranya tidak, sila lihat salah satu Arahan mengenai pematerian.

Untuk langkah ini, wayar pateri seperti ditunjukkan dalam warna kuning. Titik akhir adalah lubang yang harus anda pasangkan. Anda juga harus memasangkan perintang 10K ohm ke papan seperti yang ditunjukkan. Sambungan yang dibuat adalah:

1. Sambungan dari terminal positif bateri ke terminal COMmon (tengah) suis slaid. Satu sisi suis slaid akan bersentuhan dengan input BAT ke Trinket. Pengatur on-board Trinket menghasilkan 3.3V dari voltan masukan BAT.

2. Sambungan dari terminal negatif (ground) bateri ke ground Trinket.

3. Sambungan dari terminal negatif (tanah) bateri ke pemancar 2N3904

4. Sambungan dari pin 3.3 volt (3V) Trinket ke VIN VL53L0X. VL53L0X akan mengaturnya lebih jauh hingga 2,8 volt untuk kegunaannya sendiri. Ia juga membawa voltan ini ke pin tetapi kita tidak memerlukannya sehingga tidak akan tersambung.

Langkah 9: Lebih Banyak Wayar

Lebih Banyak Wayar
Lebih Banyak Wayar

Jadi sekarang kami menambah kumpulan wayar seterusnya seperti yang ditunjukkan di atas. Berikut adalah senarai setiap sambungan:

1. Sambungan dari pin Trinket yang dilabelkan sebagai pin SCL 2 ke VL53L0X. Ini adalah isyarat jam I2C. Protokol bersiri I2C adalah yang digunakan oleh Trinket untuk berkomunikasi dengan VL53L0X.

2. Sambungan dari pin Trinket yang dilabelkan sebagai 0 (sifar) ke pin SDA VL53L0X. Ini adalah isyarat data I2C.

3. Sambungan dari pin GND VL53L0X melintasi jurang pada protoboard ke Pemancar 2N3904. Ini menyediakan landasan ke VL53L0X.

4. Sambungan dari pin Trinket yang dilabel sebagai perintang 4 ke 10K. Ini adalah pemacu untuk motor getaran. Kawat ini semestinya disolder ke bahagian belakang papan jika anda memilih titik sambungan saya.

Ingatlah bahawa, setiap kumpulan menegak dengan 5 pin adalah satu sama lain sehingga anda dapat berhubung di mana sahaja dalam kumpulan ini yang mudah. Anda akan melihat dalam gambar papan saya bahawa saya menukar beberapa titik sambungan saya. Selagi ia adalah sambungan yang betul, pad mana sahaja yang anda pilih adalah baik.

Langkah 10: Motor Getaran

Motor Getaran
Motor Getaran

Motor getaran dilengkapi dengan pelekat peal di bahagian belakang. Anda mengeluarkannya untuk menampakkan bahan melekit yang membolehkan motor terpaku di bahagian belakang papan (tetapi, lihat komen di bawah sebelum anda memasangnya). Saya meletakkannya di sebelah kiri (melihat bahagian belakang papan) papan JST Battery Breakout yang belum kami pasangkan. Jadi, tinggalkan sedikit ruang untuk papan JST Battery Breakout. Saya juga ingin memastikan sarung logam motor tidak melekatkan pin di celah protoboard. Oleh itu, saya memotong sepotong kecil pita dua sisi dan melekatkannya di bahagian belakang motor getaran. Kemudian saya menolaknya ke bahagian belakang papan. Ia membantu memastikan sarung logam tetap tinggi dan jauh dari pin. Tetapi tetap berhati-hati meletakkannya dengan cara yang TIDAK memotong pin.

Pateri wayar merah motor getaran ke pin 3V Trinket. Kawat hitam motor getaran disolder ke pemungut 2N3904. Apabila perisian berdenyut 2N3904 (memberikan logik 1 sebagai 3.3V) transistor menghidupkan penyambungan wayar hitam motor getaran ke tanah (atau dekat dengannya). Ini menjadikan motor bergetar.

Saya boleh menambahkan kapasitansi pada titik sambungan wayar merah Vibration Motor. Tetapi ada kapasitansi pada garis 3.3V Trinket, jadi saya yakin ia baik-baik saja tetapi jika anda ingin menambahkan kapasitansi lain, anda boleh… selagi anda dapat memaksanya masuk. Untuk itu wayar merah dapat disambungkan terus ke sisi positif bateri LiPo. Saya memilih bahagian 3.3V untuk memastikan voltan tetap. Setakat ini, nampaknya berfungsi dengan baik.

Langkah 11: Terakhir tetapi Tidak Kurang…

Terakhir Tetapi Tidak Kurang…
Terakhir Tetapi Tidak Kurang…
Terakhir Tetapi Tidak Kurang…
Terakhir Tetapi Tidak Kurang…

Terakhir kami menyambungkan papan pemecah Bateri JST ke bahagian belakang protoboard. Saya menyisipkan pin ke papan dan meletakkan papan pemecah Bateri JST dengan bahagian atas menghadap protoboard seperti gambar di atas. Pastikan bahawa anda menyolder wayar untuk bateri positif dan arde ke pin kanan semasa anda meletakkan bahagian ini. Sekiranya anda salah, anda akan membalikkan kekutuban pada bahagian dan kemungkinan akan memusnahkannya. Oleh itu, periksa dan periksa semula sebelum menyolder dan memasang bateri.

Langkah 12: Perisian

Perisian
Perisian

Untuk memasang dan / atau mengubah perisian anda memerlukan Arduino IDE dan fail papan untuk Trinket M0 serta perpustakaan untuk VL53L0X. Semua itu ada di sini, di sini, dan di sini.

Ikuti arahan untuk menggunakan Adafruit M0 di laman pembelajaran mereka di sini.

Sebaik sahaja perisian dimuat, papan harus dimulakan dan dijalankan pada sambungan bersiri USB. Gerakkan sisi papan dengan VL53L0X dekat ke dinding atau tangan anda dan anda pasti merasakan motor bergetar. Getaran harus semakin rendah amplitud lebih jauh dari peranti objek.

Tingkah laku yang dilihat dalam peranti agak dijelaskan dalam komen dalam kod sumber. Tetapi grafik yang dilampirkan harus menjadikan titik ini dengan baik. Peranti tidak boleh mula bergetar sehingga sekitar 863 mm dari objek. Ia akan mencapai tahap getaran maksimum pada 50 mm dari objek. Sekiranya anda mendekati objek lebih dari 50 mm, peranti tidak akan menghasilkan getaran lebih banyak daripada pada 50 mm.

Langkah 13: Penutup

Pagar
Pagar
Pagar
Pagar
Pagar
Pagar
Pagar
Pagar

Saya merancang kandang dan 3D mencetaknya dalam plastik ABS. Anda boleh mencetaknya dalam PLA atau ABS atau apa sahaja bahan yang anda mahukan. Saya menggunakan ABS kerana saya boleh mengetuk kepingan aseton ke papan jika diperlukan. Papan yang saya reka mudah dan mempunyai lubang untuk port USB di Trinket dan lubang untuk suis kuasa. Saya membuat kedua papan itu terpaut bersama sedikit lengan di sisi kotak. Saya tidak begitu menyukainya, jadi saya mungkin akan mengubahnya. Sudah tentu, anda boleh membuat perubahan yang anda mahu lihat.

Sekarang untuk versi ini, kotak harus dibuka untuk melepaskan bateri LiPo untuk mengisinya semula. Sekiranya saya membuat papan litar untuk projek ini, saya akan menambah penyambung lain untuk menjadikan bateri dapat diakses tanpa membuka kotak. Mungkin boleh dilakukan pada reka bentuk protoboard ini dan buat lubang untuk penyambung untuk dicas. Sekiranya anda ingin mencuba ini, sila kongsikan hasil anda.

Saya berjaya merancang kotak yang saya tidak benci sepenuhnya. Kami akan menggunakannya untuk menguji sistem. Saya telah melampirkan bahagian atas dan bawah kotak sebagai fail STL serta braket / panduan yang saya tambahkan bahagian bawah. Saya menambah sepasang panduan menggunakan aseton untuk mengikat bahagian-bahagian secara kimia. Sekiranya anda melakukan ini, berhati-hati. Anda boleh melihat pemasangan di atas.

Langkah 14: Sekarang Apa?

Bagaimana sekarang?
Bagaimana sekarang?

Periksa saya … Saya sudah tua dan mungkin telah melupakan sesuatu atau mengacau. Saya membaca semula dan memeriksa ini tetapi, saya masih boleh terlepas perkara. Jangan ragu untuk memberitahu saya apa yang saya buat / buat salah.

Dan, setelah anda membina papan Radar Periferal dan memasangnya dan bateri LiPo ada dalam cetakan 3D yang bagus (apabila saya menyelesaikannya atau, jika anda membuat sendiri), apa yang anda lakukan seterusnya? Saya rasa anda harus mendapat pengalaman bagaimana ia beroperasi dan membuat pengubahsuaian pada perisian. Perjanjian lesen dalam perisian menyatakan anda boleh menggunakannya tetapi jika anda membuat perubahan, anda diminta untuk membaginya. Saya tidak mengatakan bahawa perisian untuk projek ini agak rumit atau luar biasa. Ia mencapai objektifnya tetapi ada ruang untuk diperbaiki. Bantu menjadikan peranti ini lebih baik dan berkongsi dengan kami semua. Ingat, projek ini adalah untuk menolong orang. Jadi, tolong!

Disyorkan: