Isi kandungan:

Mainkan Lagu Menggunakan Stepper Motor !!: 11 Langkah (dengan Gambar)
Mainkan Lagu Menggunakan Stepper Motor !!: 11 Langkah (dengan Gambar)

Video: Mainkan Lagu Menggunakan Stepper Motor !!: 11 Langkah (dengan Gambar)

Video: Mainkan Lagu Menggunakan Stepper Motor !!: 11 Langkah (dengan Gambar)
Video: Proses pasang Ring Jantung atau Cincin Jantung #cardio #cardiology #ringjantung 2024, November
Anonim
Mainkan Lagu Menggunakan Stepper Motor !!
Mainkan Lagu Menggunakan Stepper Motor !!

Projek ini adalah mengenai merancang antara muka dinamik yang mudah, yang memungkinkan untuk berinteraksi dengan motor stepper dengan dua cara yang berbeza.

Antaramuka pertama akan mengawal arah dan kelajuan motor stepper melalui penggunaan GUI sederhana, yang mempunyai anak panah kiri dan kanan untuk arah, dan anak panah atas dan bawah untuk kelajuan.

Antaramuka kedua akan lebih bersifat muzik yang memungkinkan untuk memainkan lagu-lagu mudah menggunakan bunyi putaran motor stepper.

Langkah 1: Bahagian Diperlukan

  1. Arduino UNO (atau papan serasi)
  2. Nextion Enhanced NX4827K043 dari iTead Studio.
  3. Papan pengembangan Nextion untuk paparan Nextion Enhanced
  4. Kad SDHC Mikro
  5. Pembaca / Penulis Kad SD - untuk memindahkan fail dari komputer ke kad SDHC
  6. Papan roti
  7. Motor Stepper (42BYGHM809)
  8. 100 uF CapacitorDuinotech Stepper Motor Driver (L298) - [Bahagian JayCar # XC4492].
  9. Bekalan Kuasa Luaran - mis. Bekalan Kuasa Makmal Terkawal

Langkah 2: Membuat Antaramuka

Membuat Antara Muka
Membuat Antara Muka

Langkah pertama adalah membuat antara muka di Nextion Editor pada PC anda.

Anda boleh memuat turun Editor Nextion di sini.

Muatkan Nextion Editor dan buat projek baru. Semasa anda memulakan projek baru, anda perlu memastikan bahawa anda memilih peranti Nextion yang betul dari pilihan yang ada. Di sini digunakan peranti "Nextion Enhanced NX4827K043".

  1. Pilih Fail → Baru Pilih nama untuk projek dan simpan ke tempat yang sesuai pada cakera keras.
  2. Pilih peranti Nextion yang sesuai dari pilihan yang ada

    Peranti saya mempunyai ukuran layar 480 x 272 piksel

Langkah 3: Sumber Projek

Sumber Projek
Sumber Projek
Sumber Projek
Sumber Projek
Sumber Projek
Sumber Projek

Anda perlu mengimport semua sumber (misalnya gambar dan fon) ke dalam projek anda, dan kemudian merancang antara muka untuk memenuhi keperluan khusus anda.

Fon

Tidak ada font khusus yang digunakan, tetapi jika anda ingin menulis teks ke paparan, anda perlu membuat fon di Nextion Editor.

A) Alat → Penjana Font

  1. Pilih Ketinggian Fon (mis. 16).
  2. Pilih jenis kod Font (mis. Iso-8859-2)
  3. Pilih sama ada anda mahu dalam Bold atau tidak
  4. Pilih Font yang anda mahu gunakan (mis. Arial)
  5. Pilih jarak (mis. 0)
  6. Dan akhirnya berikan nama unik Font ini (mis. Arial_16)
  7. Tekan butang "Hasilkan Font" di kanan bawah tetingkap.

Sebaik sahaja anda menekan butang Hasilkan Font, anda akan menyimpan fon menggunakan pelanjutan *.zi, dan secara automatik akan bertanya kepada anda jika anda ingin "Menambah fon yang dihasilkan?" ke projek. Sekiranya anda puas dengan fon tersebut, dan ingin menggunakan fon ini dalam projek anda, pilih "Ya", jika tidak, pilih "Tidak" dan mulakan lagi.

Anda tidak boleh menambahkan teks ke projek anda sehingga anda mengimport atau menambahkan fon. Semua fon projek anda akan dipaparkan di tetingkap fon.

** Catatan: Setiap font akan diindeks secara otomatis, sehingga Anda dapat merujuk font secara gramatis jika diperlukan. Sebenarnya semua sumber yang anda tambahkan ke projek anda diberi sejumlah dan ditambah satu untuk setiap sumber yang ditambahkan. Untuk beberapa sumber, anda dapat melihat nombor ini di sebelah kiri item. Cth. Pada gambar di atas, Huruf Courier mempunyai indeks 0, sedangkan fon Arial mempunyai indeks 1. Jika anda menghapus sumber, nombor indeks boleh berubah untuk item tersebut.

Langkah 4: Mengimport Imej

Mengimport Imej
Mengimport Imej
Mengimport Imej
Mengimport Imej

Pada peranti Nextion Enhanced NX4827K043, setiap gambar mestilah berukuran 480 x 272 piksel.

Kami sekarang akan mengimport gambar berikut ke Nextion Editor supaya kita dapat menggunakannya dalam projek. Di sudut kiri bawah editor Nextion adalah tetingkap sumber "Font dan Gambar":

  1. Pilih tab Gambar
  2. Kemudian pilih ikon "+"
  3. Ini akan membuka kotak dialog untuk membolehkan anda memilih gambar untuk ditambahkan ke projek. Anda boleh memilih lebih dari satu gambar untuk diimport.

Untuk Splash Screen anda boleh membuat gambar mengikut pilihan anda.

Dan untuk antara muka motor dan piano Stepper, anda boleh memuat turun gambar di atas.

Langkah 5: Membuat GUI

Membuat GUI
Membuat GUI

Setiap sumber akan mendapat ID berdasarkan pesanan yang ditambahkan, dan setiap sumber akan mendapat nama secara automatik.

Anda boleh menukar nama sumber atau objek, tetapi anda tidak dapat mengedit ID.

Tiga halaman akan dirancang untuk memenuhi kriteria yang dinyatakan di atas.

Untuk menambahkan halaman, Anda cukup memilih ikon "Tambah" dari "jendela halaman". Dan terus menambahkan halaman sehingga anda mempunyai 3 halaman (halaman0, halaman1 dan halaman2).

Langkah 6: Skrin Splash Halaman 0

Halaman 0-Skrin Splash
Halaman 0-Skrin Splash

Apabila Nextion dihidupkan, layar percikan akan dipaparkan selama 3 saat sebelum menunjukkan skrin Stepper Motor Controller. Saya menggunakan langkah-langkah berikut untuk membuat splash screen.

Tambahkan gambar skrin percikan ke halaman 0

  • Pilih "halaman 0" dari tetingkap Halaman
  • Pilih "Gambar" dari tetingkap Kotak Alat
  • Klik dua kali atribut "pic" dari tetingkap Atribut
  • Pilih gambar skrin percikan dari senarai
  • Tekan butang OK

2. Tambahkan Pemasa ke halaman 0

  • Pilih Pemasa dari tetingkap Kotak Alat
  • Ubah atribut "tim" dari 400 menjadi 3000 di tetingkap Atribut
  • Masukkan "halaman halaman1" di bahagian Kod pengguna pada Acara Pemasa (0) Acara pemasa ini akan membuat Nextion melompat ke halaman1 setelah 3 saat.

Acara pemasa ini akan menjadikan Nextion melompat ke halaman 1 setelah 3 saat.

Langkah 7: Halaman 1 - Pengawal Motor Stepper

Halaman ini direka untuk mengawal arah dan kelajuan motor stepper. Akan ada dua butang untuk arah (Kiri dan Kanan), dan dua butang untuk kelajuan (Lebih Cepat dan Lebih perlahan). Dan satu lagi butang untuk melompat ke halaman seterusnya (iaitu halaman Stepper Motor Piano). Butang ini juga akan dipetakan ke papan pengembangan Nextion. Tombol taktil papan pengembangan akan memberikan kaedah alternatif untuk mengawal motor.

Tambahkan gambar Stepper Motor Controller ke halaman1

  • Pilih "halaman1" dari tetingkap Halaman
  • Pilih "Gambar" dari tetingkap Kotak Alat
  • Klik dua kali atribut "pic" dari tetingkap Atribut
  • Pilih gambar "Stepper Motor Controller" dari senarai
  • Tekan butang OK

2. Tambahkan Hotspot di atas setiap butang pada gambar Stepper Motor Controller

a) Pilih "Hotspot" dari tetingkap Kotak Alat

b) Seret dan ubah saiz Hotspot sehingga menutup butang "Kiri"

  • Ini adalah kawasan yang akan bertindak balas terhadap menekan "Butang kiri".
  • Ia akan telus apabila dimuat naik ke papan Nextion

c) Pilih tab “Touch Press Event” di tetingkap Event

d) Hapus centang kotak “Kirim Komponen ID”

e) Taipkan kod berikut ke dalam bahagian "Kod Pengguna" pada tetingkap Acara:

cetak "L"

f) Tukar nama objek hotspot menjadi "Kiri" menggunakan proses berikut:

  • Pilih nama objn dari tetingkap atribut dan ubah teks dari "m0" menjadi "Kiri"
  • Tidak wajib menukar nama objek hotspot; namun ia akan membantu di kemudian hari.

g) Ulangi langkah 2a-2f untuk setiap butang lain mengikut urutan berikut dan seperti jadual di bawah

  • Betul
  • Lebih pantas
  • Lebih perlahan
  • Seterusnya

Kod ASCII perpuluhan untuk huruf "L" adalah 76, oleh itu apabila paparan Nextion Enhanced mengirimkan huruf L ke Arduino menggunakan perintah cetak "L", Arduino akan menerima angka 76. Apabila butang kanan ditekan, akan menerima nombor 82, dan seterusnya. Butang "Seterusnya" tidak menghantar apa-apa ke Arduino, hanya ada untuk melompat ke antara muka seterusnya pada paparan Nextion Enhanced, oleh itu alasan mengapa kod pengguna berbeza untuk butang itu.

3. Peta butang ke papan pengembangan

a) Pilih "halaman0" dan kemudian "halaman1" dari tetingkap Halaman

b) Pilih tab "Preinitialize Event" dari tetingkap Event

c) Masukkan kod berikut ke dalam bidang "Kod Pengguna" pada tab Preinitialize Event:

  • cfgpio 5, 1, Kiri
  • cfgpio 2, 1, Kanan
  • cfgpio 4, 1, Lebih pantas
  • cfgpio 3, 1, Lebih perlahan
  • cfgpio 1, 1, Seterusnya

*** Harap maklum: Terdapat satu ruang antara cfgpio dan angka di sebelahnya, tetapi tidak ada ruang lain di setiap baris. Sekiranya anda memperkenalkan ruang tambahan, ia tidak akan menyusun. Kod ini memetakan butang pada papan pengembangan ke objek hotspot di halaman1. Sebagai contoh, apabila butang Kiri (IO5) pada papan pengembangan ditekan, ia mensimulasikan tindakan atau peristiwa yang berkaitan dengan hotspot m0 / Kiri. Dalam kes ini, ia akan mengirimkan nilai "L" (76) ke Arduino.

Nombor IO ditandakan dalam tanda kurung pada papan pengembangan.

Langkah 8: Halaman 2 - Stepper Motor Piano

Halaman 2 - Stepper Motor Piano
Halaman 2 - Stepper Motor Piano
Halaman 2 - Stepper Motor Piano
Halaman 2 - Stepper Motor Piano

antara muka nya akan direka bentuk seperti piano, dan membolehkan saya mengawal motor stepper sehingga menghasilkan nota dalam kekunci yang sama dengan yang saya tekan pada paparan Nextion. Motor stepper akan menghasilkan nota dengan memutar pada frekuensi tertentu.

1. Tambahkan gambar Stepper Motor Piano ke halaman2.

  • Pilih "page2" dari tetingkap Halaman
  • Pilih "Gambar" dari tetingkap Kotak Alat
  • Klik dua kali atribut "pic" dari tetingkap Atribut
  • Pilih gambar "Stepper Motor Piano" dari senarai
  • Tekan butang OK

2. Tambah Hotspot pada setiap kekunci pada gambar Stepper Motor Piano

a) Pilih "Hotspot" dari tetingkap Kotak Alat

b) Seret dan ubah saiz Hotspot sehingga menutup kekunci "A". Ini adalah kawasan yang akan bertindak balas terhadap penekanan "A-key". Ia akan menjadi telus apabila dimuat ke papan Nextion.

c) Pilih tab “Touch Press Event” di tetingkap Event.

d) Ketikkan yang berikut ke dalam bahagian "Kod Pengguna"

mencetak 1

e) Ulangi langkah 2a-2d untuk setiap kekunci lain seperti jadual di bawah.

** Apabila kekunci tertentu ditekan, papan Nextion Enhanced akan menghantar nombor yang dicetak, diikuti oleh tiga nilai 0x00. Nilai penamatan boleh diabaikan.

3. Butang "Kembali" akan membolehkan saya kembali ke antara muka sebelumnya di papan Nextion Enhanced.

a) Buat titik panas untuk butang kembali menggunakan proses berikut:

  1. Pilih Hotspot dari tetingkap Kotak Alat
  2. Pindahkan / Ubah saiz hotspot di atas butang "Kembali"

b) Pilih tetingkap Acara.

c) Pastikan tab "Acara tekan sentuh" dipilih

d) Taip: halaman halaman1 ke bahagian Kod Pengguna

Langkah 9: Menyahpepijat

Menyahpepijat
Menyahpepijat
Menyahpepijat
Menyahpepijat

Perkara yang baik mengenai Nextion Editor ialah anda dapat menguji fungsi antara muka sebelum memuat naik ke papan kenyataan.

  1. Simpan projek dengan menekan butang simpan pada bar tugas
  2. Kemudian tekan butang kompilasi
  3. Kemudian tekan butang debug.

Tetingkap emulator Nextion akan muncul. Tetingkap ini harus bertindak balas dengan cara yang sama seperti modul Nextion setelah fail Nextion dimuat naik ke papan. Emulator ini adalah kaedah terbaik untuk menguji antara muka anda dan memastikannya kelihatan dan berfungsi seperti yang diharapkan. Setelah saya gembira dengan antara muka, saya memindahkan fail Nextion yang disusun ke kad SD:

  1. Tekan butang kompilasi
  2. Fail → Buka Folder Binaan
  3. Pilih fail *.tft dengan nama yang sama dengan projek.
  4. Salin ke kad SDHC mikro
  5. Masukkan kad SDHC ke dalam slot kad SD pada paparan Nextion
  6. Nyalakan papan Nextion

Tunggu fail menyala papan Nextion, dan anda akan melihat mesej yang kelihatan seperti ini:

Langkah seterusnya adalah mematikan papan Nextion, dan mengeluarkan kad SDHC.

Langkah 10: PENYEDIAAN ARDUINO

Paparan Nextion Enhanced sudah siap, dan sekarang giliran Arduino. Arduino diprogramkan untuk menerima pesanan bersiri dari paparan Nextion Enhanced dan mengendalikan motor stepper berdasarkan huruf atau angka yang diterima. Huruf atau nombor unik yang dihantar dari papan Nextion, memungkinkan Arduino memahami butang apa yang ditekan, dan ia menggunakan nombor atau huruf tersebut untuk mengawal aliran kod untuk melakukan tindakan motor stepper tertentu.

Perpustakaan SoftwareSerial digunakan untuk membolehkan komunikasi Serial antara paparan Arduino dan Nextion Enhanced. Perpustakaan AccelStepper digunakan untuk mempermudah proses kawalan motor stepper.

Tetapkan kelajuan maksimum dan minimum untuk motor, dan beberapa kunci yang telah ditentukan. Adalah mungkin untuk "menyetel" motor menggunakan antara muka pertama paparan Nextion. Anda boleh melakukan ini dengan menjadikan motor berpusing lebih cepat atau lebih perlahan sehingga anda mencapai kunci yang dikehendaki. Di sini aplikasi "Tuner T1 Free" dari gedung aplikasi iTunes digunakan untuk mengenal pasti APABILA motor menghasilkan nota kunci. Semasa motor menghasilkan nota tertentu, saya akan menuliskan kelajuan motor stepper yang dicetak ke tetingkap monitor Serial. Setiap kali kelajuan motor meningkat atau menurun, kod Arduino mencetak kelajuan ke tetingkap monitor bersiri. Saya kemudian menggunakan kelajuan ini untuk mengemas kini array note dalam kod Arduino. Susunan note menahan kelajuan motor stepper yang sesuai dengan nota individu di piano. Paparan Nextion pada dasarnya menghantar nombor indeks nota untuk dimainkan dari array nota di Arduino, dengan itu mempermudah kod yang diperlukan untuk memutar motor pada 16 kelajuan yang berbeza.

Langkah 11: Memuktamadkan + Skematik

Memuktamadkan + Skematik
Memuktamadkan + Skematik
Memuktamadkan + Skematik
Memuktamadkan + Skematik
Memuktamadkan + Skematik
Memuktamadkan + Skematik
Memuktamadkan + Skematik
Memuktamadkan + Skematik

Dengan semua papan dimatikan, langkah seterusnya adalah membuat semua sambungan perkakasan yang diperlukan ke Arduino. Terdapat dua bahagian utama yang perlu dipertimbangkan:

  • Pemandu motor dan motor Stepper
  • Papan Nextion Enhanced.

Anda perlu memastikan bahawa anda menggunakan sumber kuasa luaran untuk menghidupkan motor stepper dan papan Nextion Enhanced. Papan pemandu motor stepper itu sendiri dikuasakan oleh Arduino tanpa masalah, tetapi motor stepper yang sebenarnya memerlukan bekalan kuasa luaran. Papan Nextion Enhanced juga memerlukan bekalan kuasa luaran kerana memerlukan arus lebih banyak daripada yang dapat disediakan oleh Arduino dengan selamat.

Perhatikan bekalan kuasa luaran yang digunakan. Saya memastikan bahawa saya mempunyai bekalan kuasa yang cukup besar untuk menangani keperluan kuasa projek, dan menggunakan lembaran data yang berkaitan untuk membantu saya mengenal pasti keperluan tersebut. Sekiranya anda merancang untuk meniru projek ini, pastikan anda mengambil kira keperluan kuasa khusus motor, pemandu motor dan paparan Nextion anda. Arduino hanya dapat membekalkan arus 400mA dari pin 5V. Dengan semua yang tersambung, saya menghidupkan paparan Nextion, kemudian menghidupkan Arduino. Motor stepper mula berputar secara automatik. Saya menggunakan antara muka pertama untuk menukar arah dan / atau kelajuan motor. Harap perhatikan kelajuan maksimum dan minimum yang ditetapkan dalam kod Arduino. Saya kemudian menggunakan butang Next untuk melompat ke antara muka kedua pada paparan Nextion Enhanced. Antara muka kedua kelihatan seperti piano. Dan ketika saya menekan kekunci pada paparan piano, motor berubah kelajuan agar sesuai dengan nota yang saya tekan.

Itu sahaja. Sekarang anda sudah selesai.

Harap anda akan menyukainya

Disyorkan: