Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Arduino101 / tinyTILE BLE:Kacamata Mencocokkan

Komponen dan persediaan

Intel tinyTILE
Atau modul BLE lainnya
× 2
Arduino 101
Opsional
× 2
Katup Lampu Kristal Cair Adafruit – Panel Pemadaman LCD yang Dapat Dikontrol
× 2
Baterai Li-Ion 100mAh
× 2
Adafruit JST-PH 2-pin SMT Konektor Sudut Kanan
× 4
Kabel Ekstensi Baterai JST-PH Adafruit
× 2
Sakelar Geser
× 2
Resistor 10k ohm
× 3
Sakelar Tombol Tekan SparkFun 12mm
× 1
LED (generik)
Ini digunakan dalam tahap pengembangan dan tidak akan diperlukan untuk prototipe akhir.
× 2
Breadboard (generik)
Ini digunakan dalam tahap pengembangan dan tidak akan diperlukan untuk prototipe akhir.
× 1
Kabel jumper (generik)
Ini digunakan dalam tahap pengembangan dan tidak akan diperlukan untuk prototipe akhir.
× 1

Alat dan mesin yang diperlukan

Printer 3D (generik)
Besi solder (generik)

Aplikasi dan layanan online

Arduino IDE
Editor Web Arduino

Tentang proyek ini

Alih-alih menggunakan aplikasi, bagaimana jika Anda dapat mengirim sinyal untuk melakukan kontak mata dengan seseorang yang Anda minati untuk diajak bicara, di lingkungan sosial, bahkan dari jauh? Saya tidak mengusulkan cara lain untuk memulai kencan. Saya sedang menjajaki penggunaan baru Bluetooth di bidang interaksi manusia.

Ketika saya mengetahui bahwa modul Intel Curie dapat ditetapkan untuk bertindak sebagai perangkat BLE pusat dan periferal, saya langsung ingin membuat kacamata ini. (Pelajari lebih lanjut tentang CurieBLE dari sini.) Berkat tutorial tentang Adafruit, kerangka referensi kaca LCD cetak 3D sudah tersedia. Apa yang saya tambahkan ke tutorial Adafruit adalah kontrol BLE (bukan kontrol sakelar) dari dua potong kacamata pada saat yang sama, dengan satu menjadi master dan yang lainnya sebagai budak, dan bingkai cetak 3D yang didesain ulang.

Proyek ini dikembangkan pertama kali pada Arduino 101 dan dibuat prototipe pada tinyTILE, keduanya memiliki modul Intel Curie. Bahkan jika Anda mungkin tidak dapat memperoleh modul Intel Curie di masa mendatang, saya harap metodologi di sini masih dapat bermanfaat. Saya dapat membayangkan banyak cara berbeda untuk menerapkan kapabilitas pusat dan periferal Bluetooth dan saya menantikan diskusi tentang topik ini.

Langkah 1 - Pengembangan

Dua Arduino101 dan dua LED digunakan untuk mengembangkan sirkuit dan menguji kode. Karena rumitnya sirkuit akhir, sebaiknya mulai dengan papan tempat memotong roti sebelum menyolder semuanya bersama-sama.

Untuk periferal, Anda dapat menggunakan kode dari contoh CurieBLE -> Peripheral -> LED dan menukar TINGGI dan RENDAH (temukan alasan di langkah terakhir). Kode untuk pusat disediakan di akhir proyek. Ini hampir sama dengan CurieBLE -> Central -> LEDcontrol dengan beberapa baris ditambahkan untuk LCD.

TinyTILE hampir persis seperti miniatur Arduino101. Persegi panjang pusat utama adalah modul Intel Curie. Mereka dapat di-flash dengan kode yang sama. Pin pada Arduino101 selalu lebih mudah digunakan tetapi ukuran tinyTILE lebih menarik untuk perangkat yang dapat dikenakan. Saya suka mengembangkan pertama di Arduino 101 dan mentransfer semuanya ke tinyTILE. Lihat proyek lain menggunakan tinyTILE di sini. Jika faktor bentuk tidak menjadi masalah untuk proyek Anda, silakan gunakan Arduino101 (lihat contoh di sini).

Saya menguji setiap komponen langkah demi langkah, ketika saya mengubah Arduino101 menjadi tinyTILE dan mengubah LED menjadi LCD.

Langkah 2 - Pencetakan 3D

Saya mendesain ulang bingkai menggunakan SolidWorks di atas bingkai yang disediakan oleh Adafruit. Anda dapat mengunduh desain dasarnya di sini dan memodifikasi dengan perangkat lunak mana pun yang Anda inginkan untuk pencetakan 3D. Jika Anda menyukai tampilan yang saya rancang, Anda dapat menemukannya di lampiran di bawah ini. Mengapa saya merancang bentuk hati dan alam semesta? Tonton video untuk penjelasan dan gunakan imajinasi Anda.

Desainnya bisa dimodifikasi agar lebih sesuai dengan wajah Anda. Saya merasa agak sulit untuk memegang hidung kecil saya. Ada beberapa perusahaan saat ini yang melakukan pemindaian 3D pada wajah Anda dan menyesuaikan kacamata untuk Anda, yang merupakan hal yang bagus.

Saya pikir printer 3D Ruiz Brothers dari Adafruit yang digunakan pasti lebih baik dari milik saya. Karena milik saya dicetak begitu banyak bahan pendukung di dalam tempat yang sangat sulit untuk keluar. Sebagai seorang desainer UX, saya memiliki banyak hal untuk dikatakan tentang ketidaknyamanan printer 3D saya. Saya ingin memiliki bahan pendukung yang larut dalam air atau printer yang tidak memerlukan bahan pendukung atau printer 3D berbasis cairan/pemadatan cahaya.

Langkah 3 - Perakitan

Saran dalam tutorial Adafruit tentang pengkabelan, penyolderan, dan pemasangan sangat bagus. Anda harus memeriksanya. Saya hanya perlu menambahkan tinyTILEs ekstra dan tombol masuk. Hati-hati untuk memotong kabel dengan panjang yang tepat.

Langkah 4 - Selesai dan Selamat Bersenang-senang!

Saat daya menyala, ada tegangan yang diterapkan ke LCD, membuat mereka tetap menggunakan kacamata hitam. Saat tombol pada master ditekan, voltase pada master dimatikan, yang pada saat yang sama memberi sinyal voltase pada slave untuk dimatikan melalui Bluetooth, membuat kedua kacamata menjadi transparan.

Kedua gelas dapat dikontrol cukup jauh, selama berada dalam jangkauan BLE. saya tes di rumah. Hati bisa mendapatkan perhatian Semesta setidaknya 15 langkah jauhnya.

Bayangkan tidak menggunakan tombol tetapi gerakan, anggukan atau detak jantung yang cocok!

Hati (master=central) :"Aku suka pikiranmu yang canggih <3"Universe (slave=peripheral) :"Aku melihatmu. Ayo bicara."  

Kode

  • Kontrol tombol untuk pusat
Kontrol tombol untuk pusatArduino
Ini hampir sama dengan contoh CurieBLE.
 /* * Hak Cipta (c) 2016 Intel Corporation. Seluruh hak cipta. * Lihat bagian bawah file ini untuk persyaratan lisensi. *//* * Sketsa:LedControl.ino * * Deskripsi:* Ini adalah sketsa Pusat yang mencari Layanan tertentu dengan * Karakteristik tertentu dari Periferal. Setelah penemuan berhasil, * ia membaca status tombol dan menulis nilai itu ke * Karakteristik Periferal. * * Catatan:* * - Layanan Periferal yang Diharapkan:19b10000-e8f2-537e-4f6c-d104768a1214 * - Karakteristik Periferal yang Diharapkan:19b10001-e8f2-537e-4f6c-d104768a1214 * - Sketsa Periferal yang Diharapkan:* */#include // variabel untuk buttonconst int buttonPin =3;int oldButtonState =LOW;const int ledPin =5; // pin yang akan digunakan untuk pengaturan LEDvoid() { Serial.begin(9600); // konfigurasikan pin tombol sebagai input pinMode(buttonPin, INPUT); pinMode(ledPin, OUTPUT); // inisialisasi perangkat keras BLE BLE.begin(); Serial.println("BLE Central - kontrol LED"); // mulai memindai periferal BLE.scanForUuid("19b10000-e8f2-537e-4f6c-d104768a1214");}void loop() { // memeriksa apakah periferal telah ditemukan BLEDPerangkat perangkat =BLE.available(); if (peripheral) { // menemukan periferal, alamat cetak, nama lokal, dan layanan yang diiklankan Serial.print("Found "); Serial.print(peripheral.address()); Serial.print("'"); Serial.print(peripheral.localName()); Serial.print("'"); Serial.print(peripheral.advertisedServiceUuid()); Serial.println(); // berhenti memindai BLE.stopScan(); controlLed (periferal); // periferal terputus, mulai memindai lagi BLE.scanForUuid("19b10000-e8f2-537e-4f6c-d104768a1214"); }}void controlLed(BLEDevice perifer) { // sambungkan ke periferal Serial.println("Menghubungkan ..."); if (peripheral.connect()) { Serial.println("Connected"); } else { Serial.println("Gagal terhubung!"); kembali; } // temukan atribut periferal Serial.println("Menemukan atribut ..."); if (peripheral.discoverAttributes()) { Serial.println("Atribut ditemukan"); } else { Serial.println("Penemuan atribut gagal!"); periferal.putuskan(); kembali; } // mengambil karakteristik LED BLECharacteristic ledCharacteristic =peripheral.characteristic("19b10001-e8f2-537e-4f6c-d104768a1214"); if (!ledCharacteristic) { Serial.println("Peripheral tidak memiliki karakteristik LED!"); periferal.putuskan(); kembali; } else if (!ledCharacteristic.canWrite()) { Serial.println("Peripheral tidak memiliki karakteristik LED yang dapat ditulis!"); periferal.putuskan(); kembali; } while (peripheral.connected()) { // saat periferal terhubung // baca pin tombol int buttonState =digitalRead(buttonPin); if (oldButtonState !=buttonState) { // button diubah oldButtonState =buttonState; if (buttonState) { Serial.println("tombol ditekan"); // tombol ditekan, tulis 0x01 untuk menyalakan ledCharacteristic.writeByte(0x01); digitalWrite(ledPin, RENDAH); } else { Serial.println("tombol dilepas"); // tombol dilepaskan, tulis 0x00 untuk menyalakan LED dari ledCharacteristic.writeByte(0x00); digitalWrite(ledPin, TINGGI); } } } Serial.println("Peripheral disconnected");}/* Contoh Kontrol LED Pusat Arduino BLE Hak Cipta (c) 2016 Arduino LLC. Hak cipta dilindungi Undang-undang. Perpustakaan ini adalah perangkat lunak gratis; Anda dapat mendistribusikan ulang dan/atau memodifikasinya di bawah ketentuan Lisensi Publik Umum GNU yang diterbitkan oleh Free Software Foundation; baik versi 2.1 dari Lisensi, atau (sesuai pilihan Anda) versi yang lebih baru. Pustaka ini disebarluaskan dengan harapan dapat bermanfaat, namun TANPA JAMINAN APAPUN; bahkan tanpa jaminan tersirat tentang KELAYAKAN DIPERDAGANGKAN atau KESESUAIAN UNTUK TUJUAN TERTENTU. Lihat Lisensi Publik Umum GNU untuk lebih jelasnya. Anda seharusnya telah menerima salinan dari GNU Lesser General Public License bersama dengan perpustakaan ini; jika tidak, kirim surat ke Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA*/

Suku cadang dan penutup khusus

Skema

Central menggunakan pin 3 untuk tombol dan 5 untuk LCD. Peripheral menggunakan pin 6 untuk LCD.

Proses manufaktur

  1. Kacamata
  2. Baterai
  3. UnifiedWater v1
  4. Arduino Power
  5. Avenger Rakitan:Helm Iron Man &Reaktor Busur
  6. Kotak Suara Seluler
  7. Intel Arduino 101 BLE Blynk Tank
  8. Memahami baterai yang digunakan dalam mobil
  9. Berbagai cara menguji alternator
  10. 7 tanda alternator rusak atau rusak