Timer Hitung Mundur Interaktif dengan Tampilan LED & Kontrol Bluetooth
Komponen dan perlengkapan
Matriks LED RGB 8x8 Neopixel Adafruit
×
1
Modem Bluetooth SparkFun - BlueSMiRF Silver
×
1
Buzzer Piezo
×
1
Kabel jumper Paka-Paka
×
1
Kabel jumper Betina-Paka
×
1
Arduino UNO
×
1
Papan roti mini
×
1
Charger baterai portabel
×
1
Pin header
×
1
Lumina 635
×
1
Peralatan dan mesin yang diperlukan
Solder (umum)
Aplikasi dan layanan online
Microsoft Windows 10 IoT Core
Tentang proyek ini
Pendahuluan
Anak saya berusia 6 tahun masih tidak memiliki pengertian waktu. Saat saya memberitahu dia bahwa dia dapat terus bermain selama 2 menit sebelum datang makan malam, 30 detik atau 10 menit bisa berlalu dan dia tidak tahu bedanya. Saya mulai mengatur timer di microwave tapi dia tidak bisa melihatnya hitung mundur dari ruang bermain atau mendengar bunyi buzzer dari kamar tidur. Jadi, saya memutuskan untuk membuat timer portabel yang bisa saya letakkan di sampingnya yang akan memberikan indikasi visual tentang berlalunya waktu.
Saya memulai dengan hitung mundur numerik sederhana pada panel LCD 16x2 tapi itu tidak terlalu menarik. Dan, meskipun dia bisa menghitung dan tahu bahwa 45 jauh lebih besar dari 15, itu tidak benar-benar memberikan pengertian tentang seberapa banyak waktu yang tersisa. Jadi, saya beralih ke visual – jam pasir pada matriks LED 8x8. Matriks 8x16 sebenarnya minimum untuk representasi jam pasir yang baik menurut pendapat saya; bagaimanapun, jam pasir tidak begitu menarik untuk dilihat.
Setelah mencoba beberapa visual dan tingkat animasi lainnya, anak saya dan saya sepakat pada desain ini – tetesan berwarna jatuh dan mengumpulkan seiring waktu berlalu. Setiap beberapa detik, 1/64 dari interval hitung mundur untuk tepatnya, tetesan mengumpulkan – aka LED tetap menyala. Setelah semua LED tetap menyala, maka waktu habis dan seluruh matriks LED berkedip dan bunyi bunyi. Untuk membuatnya lebih fleksibel untuk berbagai situasi, interval hitung mundur yang berbeda dapat dipilih – 1 menit, 2 menit, 5 menit, dll. Dan, untuk membuatnya lebih menarik, interval hitung mundur dapat diatur secara jarak jauh dengan berbicara ke ponsel Windows saya. Setelah waktu habis, saya memiliki opsi untuk memberikan waktu tambahan, lagi dengan berbicara interval hitung mundur ke ponsel Windows saya, bahkan jika kita berada di ruang yang sama (asalkan saya dalam jangkauan Bluetooth dari matriks LED).
Komponen inti proyek ini adalah Arduino Uno, matriks LED RGB 8x8 neopixel, dan modul Bluetooth. Hal keren tentang matriks neopixel Adafruit adalah hanya satu pin Arduino yang diperlukan untuk mengontrolnya sehingga masih banyak pin yang tersisa untuk fungsionalitas tambahan lainnya. Modul Bluetooth digunakan untuk berkomunikasi antara ponsel dan Arduino. Aplikasi Windows Virtual Shields for Arduino berjalan di Windows Phone 10 dan memungkinkan saya untuk menggunakan kemampuan ponsel dalam sketsa Arduino saya.
Ini adalah proyek untuk pemula dan tidak diperlukan keterampilan perangkat lunak atau perangkat keras yang canggih. Kecuali prasyarat, proyek ini dapat diselesaikan dalam 30 - 45 menit jika Anda memiliki Arduino. Jika ini adalah proyek elektronika pertama Anda, saya menyarankan Anda menghabiskan beberapa jam menonton beberapa video pengenalan Arduino sebelum memulai.
Jika Anda membuat peningkatan atau hack, silakan tinggalkan komentar dan beri tahu saya bagaimana hasilnya. Saya sangat tertarik untuk melihat desain hitung mundur apa yang Anda buat atau bagaimana Anda mengintegrasikan kemampuan Virtual Shields lainnya ke dalam proyek Anda.
Berikut adalah beberapa sumber daya online yang saya temukan sangat membantu selama proses proyek ini:
Microsoft's Windows On Devices memiliki panduan langkah demi langkah yang sangat baik untuk memulai dengan Windows Virtual Shields for Arduino.
Adafruit's Neopixel Uberguide memberikan banyak detail tentang cara bekerja dengan matriks LED.
Pustaka matriks LED Nulsom untuk Arduino juga bekerja dengan perangkat keras ini.
Ada banyak video di YouTube untuk membantu Anda memulai dengan Arduino termasuk instalasi Arduino IDE dan menghubungkan mikrokontroler ke PC Anda. Saya sangat merekomendasikan Seri Tutorial Jeremy Blum untuk Arduino.
Prasyarat
Siapkan Arduino Anda untuk Windows Virtual Shields (instruksi di sini).
Siapkan ponsel Windows dan PC Anda untuk Windows Virtual Shields (instruksi di sini).
Note: Akan memakan waktu 2-3 jam untuk menyelesaikan prasyarat jika Anda belum memiliki Windows 10 dan Visual Studio 2015 yang sudah disiapkan tetapi sebagian besar waktu itu tidak dihadiri.
Apa yang Anda Butuhkan
Bagian:
Arduino Uno dan kabel USB A/B standar
Matriks LED RGB 8x8 Neopixel
Modul Bluetooth
Buzzer Piezo
Kabel jumper Paka-Paka dan Paka-Betina
Papan roti mini
Lumina 635 (atau perangkat Windows Phone 10 yang kompatibel lainnya)
Opsional: header sudut siku - paka atau betina
Opsional: charger baterai portabel 5v yang bisa diisi ulang
Alat:
Pakuin solder dan solder
Instruksi Proyek
Langkah 1: Hubungkan matriks LED ke Arduino
Waktu: 15 menit
Bagian: Arduino Uno, matriks LED RGB 8x8 neopixel, header 3-pin, kabel jumper, papan roti mini
Alat: pakuin solder, solder
Saya mencoba beberapa matriks LED berbeda tapi saya kesulitan mendapatkan beberapa tipe shield untuk berfungsi untuk proyek ini. Mereka akan berfungsi dengan baik sendiri tetapi saya tidak dapat membuatnya berfungsi saat saya menghubungkan Bluetooth. Di luar masalah fisik - shield mengambil semua pin - ada juga masalah teknis - kemungkinan konflik dengan D0 dan D1 (pin RX dan TX Arduino). Jadi, lalu saya mencoba matriks neopixel. Ini berfungsi sempurna: hanya satu pin kontrol yang diperlukan dan tidak ada konflik RX/TX.
Sebelum merangka matriks LED ke Arduino, saya harus memasang header tiga pin ke matriks LED. Pilihan header lurus atau header sudut 90 derajat sangat tergantung pada bagaimana Anda akan memasang matriks LED. Dan, paka vs betina header sebenarnya tergantung pada jenis kabel jumper yang Anda miliki. Atau, seperti dalam kasus saya, keputusan header sepenuhnya ditentukan oleh apa yang saya miliki - header paka sudut 90 derajat. Secara alternatif, Anda bisa saja merangka kabel jumper langsung ke matriks LED tapi saya menyukai fleksibilitas yang diberikan oleh pin header.
Hanya tiga koneksi yang diperlukan antara matriks LED neopixel dan Arduino. Pertama, gunakan kabel jumper paka-paka untuk menghubungkan pin 5v Arduino ke baris yang tidak terpakai di papan roti mini. Lalu sambungkan kabel jumper paka-betina dari rel daya ini ke pin 5v LED. Gunakan kabel jumper paka-betina lain untuk menghubungkan ground Arduino ke GND LED. Dan, untuk mengontrol matriks LED, sambungkan kabel jumper paka-betina dari salah satu pin digital Arduino (kecuali pin D0 dan D1) ke pin input digital (DIN) matriks LED. Untuk proyek saya, saya menggunakan pin digital 9.
Catatan: Urutan pin 5v, GND, dan DIN bervariasi di seluruh produsen jadi periksa kembali label pada matriks LED sebelum menghubungkan kabel Anda.
Langkah 2: Coba matriks LED
Waktu: 5 menit
Bagian: N/A
Alat: N/A
Hampir semua matriks LED datang dengan pustaka untuk membantu Anda segera berjalan. Matriks Adafruit tidak terkecuali karena datang dengan pustaka sendiri. Namun, saya lebih suka pustaka yang disediakan oleh Nulsom. Saya belum melihat di balik layar untuk melihat apa perbedaannya tapi saya menemukan proyek bekerja sedikit lebih baik dengan pustaka Nulsom - LED mati secara konsisten saat saya membersihkan matriks dan virtual shield bekerja lebih konsisten.
Saya mengunduh file pustaka dari situs web Nulsom dan menyalinnya ke folder Arduino\libraries saya. Lalu saya meluncurkan Arduino IDE, membuka salah satu sketsa contoh, dan mengunggah sketsa ke Arduino saya. Ahh, lampu indah!
Langkah 3: Hubungkan modul Bluetooth
Waktu: 5 menit
Bagian: Modul Bluetooth, kabel jumper
Alat: N/A
Ini adalah pertama kalinya saya menggunakan modul Bluetooth - sangat mudah dan sekarang Bluetooth akan berjalan liar di proyek-proyek saya. Modul BlueSMiRF Silver yang saya beli dari SparkFun pada dasarnya adalah pengganti kabel serial. Saya harus memasang pin header paka tetapi setelah itu selesai, saya siap beraksi.
Colokkan modul Bluetooth ke papan roti untuk mempermudah koneksi. Untuk menyala modul, jalankan kabel jumper dari rel daya yang dibuat di Langkah 1 ke pin Vcc modul. dan jalankan kabel jumper paka-paka dari pin GND modul ke salah satu pin GND pada Arduino. Untuk mendirikan komunikasi serial, sambungkan kabel jumper paka-paka dari pin TX modul Bluetooth ke pin RX Arduino (pin digital 0) dan lainnya dari pin RX modul ke pin TX Arduino (pin digital 1).
Catatan: Anda tidak akan dapat mengunggah sketsa dari Arduino IDE ke Arduino saat Anda memiliki pin TX dan RX Bluetooth terhubung ke Arduino. Putuskan kabel jumper TX/RX saat Anda perlu mengunggah sketsa dan hubungkan kembali setelah sketsa berhasil diunggah.
Langkah 4: Hubungkan Buzzer Piezo
Waktu: 5 menit
Bagian: Buzzer Piezo, kabel jumper
Alat: N/A
Buzzer piezo hanya memiliki dua pin. Masukkan buzzer ke baris apa pun yang tidak terpakai di papan roti dan gunakan kabel jumper untuk menghubungkan pin piezo yang ditandai '+' ke pin digital pada Arduino (Saya menggunakan pin 3) dan pin yang ditandai '-' ke pin GND pada Arduino.
Langkah 5: Unduh dan Terapkan Kode
Waktu: 10 menit
Bagian: N/A
Alat: N/A
Sekarang setelah semuanya terhubung, unduh kode dari github dan muat ke Arduino IDE di PC Anda. Pastikan untuk mencabut kabel jumper TX/RX modul Bluetooth dan lalu unggah sketsa. Hubungkan kembali kabel jumper TX/RX ke pin digital 0 dan digital 1 Arduino.
Luncurkan aplikasi Virtual Shields dan pasangkan ponsel ke modul Bluetooth. Lihat prasyarat #2 di atas jika Anda memerlukan instruksi.
Terakhir, tekan tombol reset pada Arduino Anda untuk memulai ulang sketsa.
Saat diminta bicara waktu hitung mundur ke ponsel Windows Anda - misalnya satu. Lalu, LED akan mulai melakukan aktivitasnya.
Langkah 6: Buat Portabel
Waktu: 5 menit
Bagian: Charger baterai portabel 5v
Alat: N/A
Kunci portabilitas adalah dapat menyala timer hitung mundur secara independen dari PC Anda. Anda dapat menggunakan dinding / stop kontak tetapi kemudian Anda masih harus mencari stop kontak. Saya lebih suka menggunakan charger baterai portabel sehingga timer hitung mundur dapat pergi ke mana pun - termasuk halaman.
Isi charger menggunakan PC atau dinding / stop kontak saat Anda mendapatkannya. Lalu, sambungkan kabel USB Arduino ke charger, dan voila, Arduino menyala dan portabel.