Papan Skor Basket Cerdas Canggih dengan Bluetooth, Sensor & Pembaruan Real-Time
Komponen dan perlengkapan
Berikut daftar komponen untuk versi 2.0.0:
Arduino Nano R3
Modul Bluetooth HC-05
Sensor dekat inframerah E18-D80NK
Sensor getaran Seeed Grove (SW-420)
Sensor suhu DHT22
LED RGB 8mm
Resistor 10k ohm (3 buah)
Resistor 100 ohm (3 buah)
Resistor lubang melalui 47 ohm
Resistor 1k ohm
Resistor 2.21k ohm
Baterai 9V
Aplikasi dan layanan online
Arduino IDE
MIT App Inventor Android IDE
Tentang proyek ini
Saya rutin melakukan latihan basket dan selalu mencatat statistik bagian (jumlah tembakan, skor, gagal, dll). Mencatat angka-angka ini cukup membosankan dan sulit dilakukan. Bola cerdas dapat digunakan untuk ini, tetapi mereka memiliki beberapa kelemahan:
Jika Anda ingin berlatih dengan beberapa bola, Anda perlu membeli beberapa bola cerdas (mahal).
Akurasi tidak begitu baik.
Ketahanan bola.
Dalam proyek prototipe papan skor basket cerdas saya sebelumnya, saya menggunakan perangkat Avnet SmartEdge untuk menguji metode untuk melacak latihan basket saya. Saya menggunakan sensor percepatan untuk mendeteksi tembakan dan sensor dekat untuk mendeteksi skor. Sekarang, ide proyek ini adalah untuk mengimplementasikan solusi definitif untuk tugas papan skor basket.
Versi
Pada awal proyek, saya menggunakan komponen perangkat keras yang tersedia di rumah dan mengembangkan perangkat lunak (Arduino dan Android) yang dibutuhkan. Versi pertama (1.1.0) terbukti bekerja cukup baik, jadi saya memutuskan untuk melakukan beberapa perubahan untuk menggunakan komponen yang lebih murah dan untuk mengimplementasikan beberapa perbaikan perangkat lunak juga. Versi kedua (2.0.0) bahkan lebih baik, selamat menikmati.
Langkah 1: Arduino
Perangkat keras
Anda dapat melihat daftar komponen perangkat keras untuk versi 2.0.0 di bagian Things.
Ini adalah perubahan utama yang dilakukan dari versi 1.1.0 ke versi 2.0.0:
Arduino Mega 2560 => Diganti dengan Arduino Nano R3
Bluetooth Shield => Diganti dengan Modul Bluetooth HC-05
Daya Li-ion tercharge => Diganti dengan Baterai 9V
Sensor Suhu & Kelembaban DHT22 => Ditambahkan.
Beberapa pertimbangan tentang komponen lain yang digunakan dalam proyek ini:
Sensor dekat inframerah E18-D80NK: Sensor dekat lain dapat digunakan dalam proyek ini, tetapi ingatlah bahwa lebih baik menggunakan yang tidak mengganggu cahaya matahari, seperti ini.
Sensor getaran SW420: Sensor getaran lain dapat digunakan dalam proyek ini, ini bekerja sangat baik.
Skematik Arduino untuk kedua versi tersedia di bagian Skematik.
Perangkat lunak
Saya menggunakan Arduino IDE untuk mengembangkan kode Arduino, diprogram dengan strategi berikut:
Setelah inisialisasi (variabel, LED, Bluetooth, dll) ia terus-menerus memantau status sensor.
Jika sensor dekat mendeteksi kehadiran bola, berarti sebuah tembakan baru saja terjadi dan itu adalah skor.
Jika sensor getaran mendeteksi gerakan, berarti sebuah tembakan baru saja terjadi tetapi ia menunggu 2 detik (maksimum) untuk mengambil keputusan.
Selama waktu ini, jika sensor dekat mendeteksi kehadiran bola, ia (segera) tahu itu adalah skor.
Pada akhir waktu 2 detik, jika sensor dekat tidak mendeteksi kehadiran bola, ia tahu itu adalah gagal.
Arduino memberitahukan Android melalui Bluetooth bahwa sebuah tembakan (skor atau gagal) baru saja terjadi.
Proses dimulai ulang.
Ini adalah perubahan utama yang dilakukan dari versi 1.1.0 ke versi 2.0.0:
Ubah dukungan dari Bluetooth shield ke modul Bluetooth HC-05
Tambahkan dukungan untuk sensor Suhu & Kelembaban DHT22
Tingkatkan logika untuk mendeteksi tembakan, skor, dan gagal serta untuk sinyal yang lebih baik melalui LED.
Kode Arduino untuk kedua versi tersedia di bagian Kode.
Langkah 2: Android
Saya menggunakan MIT App Inventor untuk mengembangkan kode Android, diprogram dengan strategi berikut:
Setelah inisialisasi (tembakan, skor, gagal, Bluetooth, dll) ia menunggu tombol "Mulai" ditekan.
Saat tombol "Mulai" ditekan ia terus-menerus memantau koneksi Bluetooth.
Setiap kali menerima data apa pun, ia memperbarui papan dan memutar suara notifikasi yang benar.
Proses berulang hingga tombol "Jeda" ditekan.
Ada tombol untuk memilih perangkat Bluetooth, mengatur ulang hitungan, dan beberapa tombol tambahan untuk menyesuaikan papan jika diperlukan.
Ini adalah perubahan utama yang dilakukan dari versi 1.1.0 ke versi 2.0.0:
Ubah tata letak dari potret menjadi lanskap.
Tambahkan Cahaya, Kelembaban, Suhu, dan Indeks Panas.
Tingkatkan tombol penyesuaian.
Tambahkan fitur untuk menjaga layar tetap menyala.
Tambahkan suara tekan pada semua tombol.
Tambahkan fungsionality untuk memperingatkan setiap kali marka 50 tembakan (50, 100, 150, dll) tercapai.
Kode Android untuk kedua versi tersedia di bagian Kode.
Langkah 3: Pengaturan papan basket
Ini adalah papan basket asli yang saya gunakan rutin untuk latihan basket.
Pertama saya membuka tutup plastik di bawah keranjang dan membuat lubang untuk sensor dekat.
Kemudian saya membuat lubang kecil untuk memasang sensor getaran.
Saya tidak dapat memasang sensor langsung ke tutup plastik karena kelengkungannya, jadi saya membuat penopang untuk sensor menggunakan MDF.
Saya memasang sensor dekat dan getaran menggunakan beberapa baut dan poros.
Kemudian saya menghubungkan komponen lain.
Saatnya untuk uji asap.
Akhirnya, saya memasang semuanya pada papan basket.
Langkah 4: Uji latihan basket
Sekarang saatnya untuk menguji semuanya.
Dan finale agung... ini showtime!
Langkah 5: Pertimbangan akhir
Sistem terbukti sangat akurat, dengan sangat sedikit false positive dan jarang false negative.
Heere bermain dengan sistem untuk mengetahui statistik latihan secara real-time dan setelah latihan.