Jam Tangan Pintar DIY Arduino: Buat Jam Tangan Gaya Apple Watch Sendiri
Komponen dan Perlengkapan
SparkFun Arduino Pro Mini 328 - 3.3V/8MHz — 1 unit
Adafruit Bluefruit LE - Bluetooth Low Energy (BLE 4.0) - nRF8001 Breakout - v1.0 — 1 unit
Adafruit Monochrome 0.96" 128x64 OLED Display — 1 unit
Adafruit Lithium Ion Polymer Battery - 3.7v 100mAh — 1 unit
Konektor Micro-USB — 1 unit
Resistor SMD 1M Ohm 1206 — 3 unit
Rantai Jam 20mm dengan Sprints — 1 unit
Kabel USB-A ke Micro-USB — 1 unit
Skru 2x5mm — 4 unit
SparkFun LiPo Charger Basic - Micro-USB — 1 unit
SparkFun FTDI Basic Breakout - 3.3V — 1 unit
Lemaran Aluminium 50x50mm — 1 unit
Papan Matriks atau Strip — 1 unit
Alat dan Mesin yang Diperlukan
Penguat solder (generik)
Printer 3D (generik)
Alat umum lain seperti gergaji, tang, obeng dan pisau
Aplikasi dan Layanan Online
Arduino IDE
Tentang Proyek Ini
Saya ingin jam tangan pintar yang menunjukkan notifikasi dari iPhone, cukup kecil untuk dipakai, dan memiliki baterai rechargeable yang tahan setidaknya satu hari. Saya membuat jam tangan Apple saya sendiri berdasarkan Arduino. Ini adalah jam tangan pintar berbasis Arduino mini pro, yang terhubung ke iPhone melalui Bluetooth. Port USB-micro terhubung ke baterai yang membuat pengisian daya mudah dan sederhana. Kabel di depan adalah tombol sentuh yang merasakan jika Anda meletakkan jari Anda di atasnya, yang memungkinkan Anda untuk berinteraksi dengan jam tangan.
Jam tangan akan secara otomatis menyinkronkan waktu dengan waktu di iPhone ketika notifikasi baru diterima. Ini membuat jam tangan lebih andal dan kurang sensitif terhadap keterlambatan pada Arduino. Setelah 10 detik, layar akan dimatikan untuk menghemat baterai. Layar akan menyala jika tombol tengah disentuh atau jika notifikasi baru diterima.
Saya menemukan halaman Luke Brendt (https://lukeberndt.com/2014/ios-notifications-with-arduino/) dan melihat bahwa dia telah membuat hal yang sama yang ingin saya capai, tetapi saya perlu perangkatnya lebih kecil dan dapat dipakai. Ini adalah pustaka ANCS Arduino Brendt yang saya gunakan dalam proyek ini. ANCS singkatan dari Apple Notification Center Service yang dijelaskan sebagai berikut dari Apple. "Tujuan dari Apple Notification Center Service (ANCS) adalah untuk memberi aksesori Bluetooth (yang terhubung ke perangkat iOS melalui sambungan Bluetooth low-energy) cara yang sederhana dan nyaman untuk mengakses banyak jenis notifikasi yang dihasilkan pada perangkat iOS."
Berikut adalah tutorial agar Anda dapat membangun jam tangan pintar ini sendiri.
Langkah 1: Perakitan Perangkat Keras Listrik
Seperti yang terlihat dalam diagram rangkaian, ada banyak kabel yang harus dihubungkan, dan semua komponen harus berada berdekatan yang menjadi tantangan.
Setelah beberapa iterasi, saya mendapat langkah-langkah ini untuk memudahkan perakitan. Saya sarankan melihat gambar untuk melihat bagaimana saya menyelesaikan beberapa masalah dengan menghubungkan kabel.
1. Hubungkan Bluefruit LE ke Arduino dengan kabel fleksibel.
2. Buat papan untuk tombol sentuh dan pasang pin. Tempelkan papan ini ke Arduino dengan kabel fleksibel. (Pin-pin dipotong dari LED-dioda)
3. Modifikasi beberapa pin untuk layar OLED, dan pasangnya ke Arduino.
Langkah-langkah berikut dapat menunggu hingga kode diunggah dan verifikasi bahwa perangkat keras berfungsi dengan benar telah dilakukan.
4. Sambungkan kabel fleksibel ke ground, buatnya cukup panjang untuk mencapai bagian belakang jam tangan, yang perlu berada dalam kontak dengan tubuh. (Ini diperlukan karena sentuh kapasitif memerlukan referensi ground untuk bekerja dengan benar)
5. Pasang konektor micro USB dengan kabel fleksibel ke ground dan RAW. Lihat diagram pinout USB micro untuk melihat bagaimana ground dan tegangan positif harus dihubungkan. (Catatan! Sambungkan kabel positif dari USB ke RAW dan bukan VCC).
6. Pasang baterai dengan kabel fleksibel ke ground dan RAW (Catatan! Sambungkan kabel positif dari baterai ke RAW dan bukan VCC).
Juga, perlu menyesuaikan charger untuk jam tangan:
1. Potong kabel USB micro.
2. Pasang kabel merah di kabel USB ke kabel merah dari konektor baterai, dan kabel hitam di kabel USB ke kabel hitam dari konektor baterai.
PENTING!
Perhatikan bahwa jam tangan pintar TIDAK BISA diisi daya langsung dengan 5V dari USB dengan kabel USB micro biasa. Sebuah charger Li-Po diperlukan sebagai gantinya, jika tidak baterai bisa rusak.
Komentar:
Coba gunakan pita untuk mengisolir antara komponen untuk menghindari rangkaian pendek.
Langkah 2: Perangkat Lunak
Berikut adalah pustaka yang digunakan untuk jam tangan pintar. Namun, beberapa perlu beberapa modifikasi untuk bekerja dengan perangkat keras yang digunakan, yang akan dijelaskan di bawah.
Pustaka:
- Pustaka ANCS untuk Arduino (https://github.com/robotastic/ANCS-Library/tree/master)
- SDK Bluetooth low energy untuk Arduino (https://github.com/NordicSemiconductor/ble-sdk-Arduino)
- U8glib untuk layar (https://github.com/olikraus/u8glib)
1. Pustaka: Pustaka ANCS untuk Arduino, File: notif.cpp, Baris: 826. Ini perlu diubah agar modul Bluefruit dapat bekerja.
aci_state.aci_pins.reset_pin = 9; // Ini diubah menjadi 9
Agar waktu dapat disinkronkan dengan benar, perubahan berikut perlu diimplementasikan untuk memperbaiki beberapa bug dalam pustaka
2. Pustaka: Pustaka ANCS untuk Arduino, File: ancs_data_source.cpp
Ganti seluruh kode dengan kode dari ancs_data_source.pdf di tautan ini
Tambahkan baris berikut dengan komentar di bawah di ancs_data_source.cpp pada baris 217.
case ANCS_NOTIFICATION_ATTRIBUTE_DATE: debug_print(F(", Date: ")); // YYYYMMDDTHHMM datetime = (char*)malloc(5); //Tambahkan baris ini! strncpy(datetime, buffer, 4);
3. Pustaka: Pustaka ANCS untuk Arduino, Fileancs_notification.h
Ganti seluruh kode dengan kode dari ancs_notification.h PDF di tautan ini.
Arduino mini pro tidak memiliki programmer papan, oleh karena itu eksternal diperlukan. Saya menggunakan ini: Sparkfun FTDI (https://www.sparkfun.com/products/9873).
Komentar:
Folder zip yang dilampirkan berisi kode yang berjalan pada Arduino, dan semua pustaka yang diperlukan. Pustaka dimodifikasi seperti di atas. Kode Arduino diberi komentar yang semoga akan menjelaskan fungsi-fungsi.
Saya mengalami masalah saat mencoba mengkompilasi kode dengan Arduino IDE 1.8.3, ini karena kesalahan yang diketahui dalam kompiler GCC. Saya mengunduh dan menginstal Arduino IDE 1.0.6, dan dapat mengkompilasi dan mengunggah kode.
Langkah 3: Kotak untuk Jam Tangan Pintar
Gambar kotak yang cukup besar untuk menampung semua komponen, file stl untuk kotak yang digunakan dalam proyek ini dilampirkan dalam folder zip. (Dua iterasi desain kotak dibuat. Itu sebabnya bentuk kotak mungkin bervariasi dalam beberapa gambar.)
Tutup belakang dibuat dari lembar aluminium dari kotak lama. Potong potongan yang pas pada kotak dan bor lubang untuk skru. Untuk kotak dan rantai pergelangan tangan yang digunakan dalam proyek, jarak antara lubang diperlukan. Baik jika tutup belakang dari material yang mengkonduksi listrik, karena kabel ground-to-tubuh akan dihubungkan ke tutup belakang ini. Untuk mendapatkan tepi yang bersih dan lurus pada lembar aluminium saya memegang lembar antara dua potongan kayu, dan menggunakan gergaji logam.
Kotak cetak 3D memerlukan beberapa perawatan, langkah-langkah berikut dilakukan:
1. Gerinda kotak dengan kertas gerinda halus.
2. Aplikasikan filler dari kaleng spray, pastikan melapisi kotak dengan baik.
3. Gerinda kotak dengan kertas gerinda halus lagi. (Langkah 3 dan 4 mungkin perlu diulang hingga hasil halus dicapai. Saya mengulangi langkah ini tiga kali.)
4. Aplikasikan cat dari kaleng spray, pastikan melapisi kotak dengan baik.
Komentar:
Ikuti instruksi pada kaleng spray untuk mendapatkan hasil terbaik.
Langkah 4: Perakitan Akhir
Pertama, masukkan pin tombol sentuh melalui lubang bawah di kotak. Lengkungkan kembali dan masukkan ke lubang atas di kotak. Tekan kabel ke bawah agar pas dan halus.
Cukup dorong sisa komponen, coba dapatkan layar pada lokasi yang baik. Saya mengalami masalah serius untuk meratakan layar di kotak. Ini tergantung pada perakitan komponen dan juga desain kotak. Itu adalah sebabnya layar sedikit berputar.
Dorong konektor USB micro melalui lubang di sisi. (Saya menggunakan pita untuk mendapatkan pas yang erat di lubang, untuk memungkinkan konektor tetap berada di tempat.)
Solder kabel ground-to-tubuh ke tutup belakang, dan isolir tutup belakang dengan pita. Tempelkan tutup belakang dengan empat skru.
Langkah 5: Cara Menggunakan Jam Tangan Pintar
Jam tangan pintar mudah digunakan. Cukup pergi ke pengaturan Bluetooth di iPhone, aktifkan Bluetooth, dan cari perangkat bernama "ANSC rusk" pilih ini dan pilih pasangkan. Jam tangan pintar dan iPhone kini dipasangkan dan jam tangan pintar akan menerima notifikasi yang sama yang muncul di iPhone.
Jam tangan akan di-restart jika tombol tengah dan tombol kanan disentuh pada saat yang sama. Ini berguna jika terjadi masalah dengan koneksi.
Untuk mengisi daya baterai, cukup colokkan kabel USB yang dimodifikasi dan hubungkan ke charger Li-Po.
Kode
Arduino Apple Watch.zip
Arduino Apple Watch.zip — Arduino
Dalam file zip semua pustaka dan kode yang dimodifikasi tersedia.
Tidak ada pratinjau (hanya unduhan).
Bagian dan Kotak Khusus
Kotak untuk jam tangan pintar yang akan sesuai dengan semua komponen.
Skematik
Hubungkan komponen seperti yang terlihat dalam diagram rangkaian