- Bahan yang Diperlukan:
- Rajah Litar:
- Membuat Aplikasi Android menggunakan Pemprosesan:
- Memahami Kod Pemprosesan:
- Memprogram Arduino anda:
- Reka bentuk litar dan PCB menggunakan EasyEDA:
- Mengira dan Memesan Sampel dalam talian:
- Kerja paparan papan tanda Bluetooth:
Sama ada lebuh raya yang panjang dan pintu depan doktor anda, kami mempunyai papan tanda yang diletakkan di mana-mana untuk memberi maklumat kepada kami. Tetapi papan tanda ini sering kali membosankan dan tidak dapat dikonfigurasi mengikut minat kita dari semasa ke semasa. Oleh itu, dalam projek ini kita akan membina papan Papan terkawal Bluetooth menggunakan paparan Matriks 8 * 8. Ciri unik projek ini adalah aplikasi androidnya yang membolehkan pengguna mengawal semua 64 LED secara individu dari telefon bimbit. Ini membolehkan pengguna membuat reka bentuk tersuai dengan mudah dan memaparkannya pada paparan LED, terdengar menarik bukan? !! Oleh itu, mari kita mulakan…
Bahan yang Diperlukan:
- Mini Arduino Pro
- MAX7219
- Modul Bluetooth HC-05
- Paparan Matriks LED 8 * 8
- Perintang 20k
- Jack Barel DC
Rajah Litar:
Litar Diagram papan LED dikawal Bluetooth ini dibina menggunakan aplikasi EasyEDA. Kami akan menggunakan skema yang sama untuk mengembangkan PCB daripadanya dan membuatnya menggunakan EasyEDA.
Litarnya agak lurus ke hadapan. Keseluruhan projek ini dikuasakan oleh penyesuai 12V, yang secara langsung diberikan kepada pin Raw dari Arduino Board. Voltan Raw ini kemudian diatur ke + 5V yang dibekalkan ke modul Bluetooth dan IC MAX7219. Pin Tx dan Rx modul Bluetooth disambungkan ke D11 dan D10 dari Arduino untuk membolehkan sambungan bersiri.
Pin digital D5 hingga D7 disambungkan ke IC MAX7219 untuk menghantar dan menerima data melalui komunikasi SPI. Pin ISET MAX7219 ditarik tinggi melalui Resistor 20k.
Untuk projek ini saya telah membuat PCB, anda boleh mendapatkan fail reka bentuk PCB dan menggunakan yang sama atau membina litar di papan roti. Namun kerana kerumitannya, disarankan untuk membeli modul Paparan 8x8 atau menggunakan PCB
Matriks 8x8 adalah modul paparan yang sangat berguna dan boleh digunakan dalam banyak projek menarik:
- Mengendalikan Matriks LED 8x8 dengan Raspberry Pi
- Skrol Tampilan Paparan pada Matriks LED 8x8 menggunakan Arduino
- Matriks LED 8x8 menggunakan Arduino
- 8x8 LED Matrix Interfacing dengan AVR Microcontroller
Membuat Aplikasi Android menggunakan Pemprosesan:
Sebelum kita dapat memulakan pengaturcaraan Arduino kita, kita harus mengetahui jenis data yang akan kita terima dari telefon bimbit untuk membalasnya. Oleh itu mari kita lihat bagaimana aplikasi Android dibuat dan bagaimana anda boleh menggunakannya pada telefon pintar anda untuk mengawal matriks LED 8x8.
Aplikasi Android untuk projek ini dibuat menggunakan perisian Pemprosesan. Ini adalah aplikasi pengembangan Sumber Terbuka dan dapat dengan mudah diunduh dan digunakan untuk mengembangkan projek menarik menggunakan Arduino atau Mikrokontroler lain kerana dapat mengembangkan aplikasi android dan aplikasi sistem. Kami telah melakukan beberapa projek menggunakan Pemprosesan dan anda boleh memeriksanya dengan mengklik pautan di bawah.
- Radio FM DIY Menggunakan Pemprosesan
- Realiti maya / kawalan Gerakan menggunakan Arduino
- Bilik Sembang Peribadi menggunakan Arduino.
- Sistem Radar Arduino menggunakan Processing APP dan Ultrasonic Sensor
- Pengesanan dan Penjejakan Muka Masa Sebenar menggunakan Arduino
- Speedometer DIY menggunakan Arduino dan Pemprosesan
- Permainan Ping Pong menggunakan Arduino Accelerometer
- Robot Biped Menggunakan Arduino
- Kamera Pengimejan Termal DIY Arduino
Kembali ke topik, mustahil untuk saya menerangkan kod lengkap aplikasi android sehingga anda harus belajar memproses sendiri dan kemudian melihat kodnya untuk memahami cara kerjanya. Oleh itu bagi orang yang bersedia melangkau proses pembelajaran Pemprosesan boleh memuat turun aplikasi android dari pautan di bawah
- Muat turun Aplikasi Android
Berikut adalah antara muka Aplikasi Android kami:
Fail APK boleh dipasang secara langsung di mana-mana aplikasi android dan dilancarkan seperti aplikasi lain. Tetapi pastikan peranti Bluetooth HC-05 Anda dinamakan sebagai "HC-05", kerana hanya akan berfungsi.
Memahami Kod Pemprosesan:
Orang yang berminat untuk mengetahui apa yang berlaku di belakang skrin dapat membaca lebih lanjut, yang lain boleh melangkau ke tajuk seterusnya. Pada dasarnya aplikasi Android menyambung ke perangkat Bluetooth yang disebut "HC-05" semasa permulaan dan menampilkan sekumpulan 64 LED dalam bentuk lingkaran. Kemudian apabila pengguna menekan bulatan, bulatan berubah menjadi merah dan nombor bulatan dikirim ke Arduino melalui Bluetooth, setelah menerima nombor bulatan tersebut, Arduino menyalakan LED. Mari kita perhatikan garis penting program Pemprosesan untuk lebih memahami. Kod lengkap aplikasi Android boleh dimuat turun dari pautan di bawah.
- Memproses Kod untuk Aplikasi Android
Kami menggunakan kelas dan objek untuk memaparkan 64 LED supaya kami dapat mengatasi setiap satu dengan mudah. Seperti yang anda lihat dalam kod di bawah ini, kami menggunakan loop for untuk mengulangi dari 1 hingga 64 menggunakan array. Ini adalah setiap LED akan mempunyai nilai kedudukan X, kedudukan Y dan warna sendiri dan kita dapat mengubahnya dengan mudah.
// dipslay semua led untuk (int i = 1; i <= 64; i ++) led_array.display (); // Semua led dipaparkan kelas Led { float X_Pos; terapung Y_Pos; warna warna; // CONSTRUTOR Led (float tempx, float tempy, color tempc) { X_Pos = tempx; Y_Pos = tempy; warna = tempc; } paparan kosong () { isi (warna); elips (X_Pos, Y_Pos, led_dia, led_dia); } }
LED dimuat di skrin dengan urutan yang sama dengan paparan. Setiap LED dipisahkan dengan jarak yang sama dengan diameter LED, dengan cara ini kita dapat dengan mudah membezakan LED mana yang sedang dipilih oleh pengguna. Seperti yang ditunjukkan dalam program di bawah ini, kami membuat susunan di mana setiap elemen menyimpan maklumat kedudukan X, Y dan warna LED.
void load_leds () { led_array = Led baru; int a = 1; untuk (int j = 0; j <= 7; j ++) { float y = tinggi / 6 + j * (led_dia * 1.5); untuk (int i = 0; i <= 7; i ++) { float x = (lebar / 6) + i * (led_dia * 1.5); // isi (255); // elips (x, y, led_dia, led_dia); led_array = Led baru (x, y, warna (255,255,255)); a ++; } } }
Langkah utama dalam program ini adalah untuk memeriksa apakah pengguna telah menekan LED apa pun dan jika ya kita harus mengubah warna LED dan mengirim nombor LED melalui Bluetooth. Oleh kerana sekarang kita dapat mengetahui lokasi dan warna setiap LED dengan mudah, kita dapat melakukan ini dengan hanya membandingkan nilai X, Y di mana pengguna menekan dengan nilai X, Y dari LED. Sekiranya nilai bergabung antara satu sama lain maka kita mengubah keadaan LED dan juga menghantar nombor melalui Bluetooth seperti yang ditunjukkan di bawah.
// periksa sama ada tetikus dipimpin secara berlebihan // Jika ya hantar nombor petunjuk untuk (int i = 1; i <= 64; i ++) { if ((mouseX <(led_array.X_Pos + led_dia / 2)) && (mouseX> (led_array.X_Pos - led_dia / 2)) && (mouseY <(led_array.Y_Pos + led_dia / 2)) && (mouseY> (led_array.Y_Pos - led_dia / 2))) {led_array = Led baru (led_array.X_Pos, led_array. Y_Pos, led_warna); data bait = {bait (i)}; bt. siaran (data); } }
Selain daripada itu, program ini juga dapat Menetapkan semula LED lengkap dengan mematikan semuanya dan anda juga boleh menjadikan LED bertukar merah (ON) atau putih (OFF) jadi kita juga mempunyai butang togol untuk itu. Butang togol dipaparkan dan menunggu input. Sekiranya ditekan tindakan masing-masing akan diambil. Kod untuk melakukan perkara yang sama ditunjukkan di bawah sebagai fungsi yang dipanggil di dalam gelung draw.
kekosongan beban_tombol () { rectMode (PUSAT); textAlign (PUSAT, PUSAT); noStroke (); isi (# 1BF2D4); segiempat (lebar / 2-lebar / 4, tinggi / 1.3, lebar / 4, tinggi / 12); isi (0); teks ("Tetapkan semula", lebar / 2-lebar / 4, tinggi / 1.3); // butang 1 jika (merah == benar) {isi (# 080F89); segiempat (lebar / 2 + lebar / 4, tinggi / 1.3, lebar / 4, tinggi / 12); isi (255,0,0); teks ("MERAH", lebar / 2 + lebar / 4, tinggi / 1.3);} // butang 2 jika (merah == palsu) {isi (# 080F89); segiempat (lebar / 2 + lebar / 4, tinggi / 1.3, lebar / 4, tinggi / 12); isi (255); teks ("PUTIH", lebar / 2 + lebar / 4, tinggi / 1.3);} // butang 2 } kosongkan butang_ baca () { if (tetikus tetikus && click_flag == benar) { color_val = get (mouseX, mouseY); klik_flag = salah; jika (color_val == - 14945580) { data bait = {0}; bt. siaran (data); println ("RESET"); load_leds (); // muat semua led dalam kedudukan dan warna } if (color_val == - 16248951) { data bait = {100}; bt. siaran (data); jika (merah == benar) merah = salah; lain jika (merah == palsu) merah = benar; println ("BERGAMBAR"); } color_val = 0; } }
Memprogram Arduino anda:
The program Arduino lengkap untuk ini Bluetooth dikawal projek Lembaga wayarles diberikan di bahagian bawah skrin ini; anda boleh menggunakannya secara langsung dan memuat naiknya di papan anda. Garis-garis penting dalam program dijelaskan di bawah.
The modul Bluetooth disambungkan kepada pin 10 dan 11, maka kita perlu menggunakan siri perisian untuk membolehkan komunikasi siri pada pin ini dan kemudian kita boleh mendengar untuk data dari pin ini. Kami mendapat data yang diterima dari modul Bluetooth dan menyimpannya dalam pemboleh ubah yang disebut masuk . Sekiranya nilai masuk adalah "0" kami akan mematikan semua LED menggunakan kod di bawah
jika (BT. tersedia ()) { masuk = BT.read (); Serial.println (masuk); jika (masuk == 0) m.clear (); // Kosongkan paparan
Dengan menggunakan nilai masuk, kita harus menentukan LED mana yang telah ditekan pengguna pada telefon bimbit dan cuaca untuk menghidupkan atau mematikan LED itu. Oleh itu, kita periksa sama ada nilainya sama dengan 100. Sekiranya nilainya adalah 10, maka itu bermaksud pengguna telah meminta untuk menukar warna LED. Oleh itu, kami menukar pemboleh ubah merah untuk mengetahui sama ada LED harus dihidupkan atau dimatikan.
lain jika (masuk == 100) // Periksa sama ada kita harus menyalakan atau mematikan LED { if (red == true) merah = false; lain jika (merah == palsu) merah = benar; Serial.print ("MERAH:"); Serial.println (merah); }
Akhirnya jika nilainya melebihi 65 itu bermaksud pengguna telah menekan LED. Berdasarkan nombor dari 1 hingga 64 kita harus menentukan LED mana yang telah ditekan oleh pengguna. Untuk menukar LED itu, kita memerlukan nilai Row dan Column LED yang dikira dan disimpan pada pemboleh ubah X dan Y masing-masing dan ditunjukkan pada kod di bawah. Akhirnya berdasarkan nilai pemboleh ubah merah kita menyalakan atau mematikan LED mengikut permintaan pengguna
lain jika (yang masuk <= 64) {// Kira di mana untuk ON ro OFF LED toggle = true; Y = masuk / 8; X = masuk - (Y * 8); jika (masuk% 8 == 0) {X = 8; Y - = 1;} Serial.println (X - 1); Bersiri.println (Y); jika (merah == benar) m.setDot ((X - 1), (Y), benar); // LED ON lain jika (merah == false) m.setDot ((X - 1), (Y), false); // LED MATI }
Reka bentuk litar dan PCB menggunakan EasyEDA:
Untuk merancang paparan Bluetooth Controlled Matrix ini, kami telah memilih alat EDA dalam talian yang disebut EasyEDA. Saya sebelumnya telah menggunakan EasyEDA berkali-kali dan merasa sangat senang digunakan kerana mempunyai koleksi jejak kaki yang baik dan sumber terbuka. Setelah merancang PCB, kami dapat memesan sampel PCB dengan perkhidmatan fabrikasi PCB kos rendah mereka. Mereka juga menawarkan perkhidmatan sumber komponen di mana mereka mempunyai stok komponen elektronik yang besar dan pengguna dapat memesan komponen yang diperlukan bersama dengan pesanan PCB.
Semasa merancang litar dan PCB anda, anda juga dapat menjadikan reka bentuk litar dan PCB anda menjadi umum sehingga pengguna lain dapat menyalin atau menyuntingnya dan dapat memanfaatkan pekerjaan anda, kami juga telah menjadikan keseluruhan susunan Litar dan PCB kami untuk umum untuk litar ini, periksa pautan di bawah:
easyeda.com/circuitdigest/8x8-led-matrix-display-control-with-bluetooth
Anda boleh melihat mana-mana Lapisan (Atas, Bawah, Topsilk, botol bawah dll) dari PCB dengan memilih lapisan dari Tingkap 'Lapisan'.
Anda juga dapat melihat PCB, bagaimana pemeliharaan fabrikasi menggunakan butang Photo View di EasyEDA:
Mengira dan Memesan Sampel dalam talian:
Setelah melengkapkan reka bentuk Bluetooth Matrik Terkawal Bluetooth ini, anda boleh memesan PCB melalui JLCPCB.com. Untuk memesan PCB dari JLCPCB, anda memerlukan Gerber File. Untuk memuat turun fail Gerber PCB anda, klik butang Fabrikasi Output di halaman editor EasyEDA, kemudian muat turun dari halaman pesanan EasyEDA PCB.
Sekarang pergi ke JLCPCB.com dan klik pada Quote Now atau butang, maka anda dapat memilih jumlah PCB yang anda ingin pesan, berapa banyak lapisan tembaga yang anda perlukan, ketebalan PCB, berat tembaga, dan bahkan warna PCB, seperti gambar ditunjukkan di bawah:
Setelah anda memilih semua pilihan, klik "Simpan ke Troli" dan kemudian anda akan dibawa ke halaman di mana anda boleh memuat naik Fail Gerber anda yang telah kami muat turun dari EasyEDA. Muat naik fail Gerber anda dan klik "Simpan ke Troli". Dan akhirnya klik pada Checkout dengan selamat untuk menyelesaikan pesanan anda, maka anda akan mendapatkan PCB anda beberapa hari kemudian. Mereka membuat PCB dengan kadar yang sangat rendah iaitu $ 2. Masa pembuatannya juga sangat kurang iaitu 48 jam dengan penghantaran DHL 3-5 hari, pada dasarnya anda akan mendapatkan PCB anda dalam seminggu dari pesanan.
Setelah beberapa hari memesan PCB, saya mendapat sampel PCB dalam pembungkusan yang bagus seperti gambar di bawah.
Dan setelah mendapatkan kepingan ini, saya telah menyolder semua komponen yang diperlukan di atas PCB.
Di PCB saya, saya membuat kesalahan tumpul dengan memilih jejak yang salah untuk modul Paparan 8 * 8, oleh itu saya harus menggunakan papan Perf untuk memasang paparan seperti yang ditunjukkan dalam gambar. Tetapi kini jejaknya adalah kemas kini dalam PCB dan anda boleh memesan PCB yang diperbetulkan dan memasang modul paparan dengan mudah.
Kerja paparan papan tanda Bluetooth:
Setelah anda siap dengan Perkakasan sama ada dengan mendapatkan PCB atau membuat sambungan di papan roti, gunakan program Arduino yang diberikan di hujung halaman dan muat naik ke Papan Arduino anda. The android fail permohonan APK juga disediakan di atas, menggunakannya dan memasang aplikasi pada peranti Android pilihan anda.
Kuasakan perkakasan dan cari nama peranti HC-05 di telefon anda untuk dipadankan dengannya. Kunci lulus adalah 1234 secara lalai. Selepas itu, buka aplikasi yang baru kita pasang. Aplikasi harus memaparkan " terhubung ke HC-05 " di bahagian atas layar, maka Anda akan dapat menyentuh LED di layar dan melihat bahawa LED yang sama juga dihidupkan di papan.
Anda juga boleh mematikan semua LED dengan menekan butang Reset dan memutuskan untuk menghidupkan atau mematikan LED tertentu dengan menekan butang Toggle. Secara lalai, LED mana yang anda tekan akan dihidupkan. Penyelesaian projek yang lengkap dapat dilihat dalam video di bawah. Sekiranya anda mempunyai masalah untuk membuatnya berfungsi, gunakan kotak komen di bawah atau tulis di forum kami untuk mendapatkan bantuan teknikal yang lebih banyak. Harap anda memahami tutorial dan menikmati pembinaannya.