Daftar Isi:

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

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

Video: Memutar Lagu Menggunakan Motor Stepper!!: 11 Langkah (dengan Gambar)
Video: Wiring, Parameter Setting and CP1E PLC Programming for NEMA 23 Stepper Motor Control 2024, November
Anonim
Mainkan Lagu Menggunakan Motor Stepper!!
Mainkan Lagu Menggunakan Motor Stepper!!

Proyek ini adalah tentang merancang antarmuka dinamis sederhana, yang memungkinkan untuk berinteraksi dengan motor stepper dalam dua cara berbeda.

Antarmuka pertama akan mengontrol arah dan kecepatan motor stepper melalui penggunaan GUI sederhana, yang memiliki panah kiri dan kanan untuk arah, dan panah atas dan bawah untuk kecepatan.

Antarmuka kedua akan lebih bersifat musikal yang memungkinkan untuk memainkan lagu-lagu sederhana menggunakan suara rotasi motor stepper.

Langkah 1: Bagian yang Diperlukan

  1. Arduino UNO (atau papan yang kompatibel)
  2. Nextion Enhanced NX4827K043 dari iTead Studio.
  3. Papan Ekspansi Nextion untuk tampilan Nextion Enhanced
  4. Kartu Micro SDHC
  5. Pembaca/Penulis Kartu SD - untuk mentransfer file dari komputer ke kartu SDHC
  6. Papan tempat memotong roti
  7. Motor Stepper (42BYGHM809)
  8. 100 uF CapacitorDuinotech Stepper Motor Driver (L298) - [bagian JayCar# XC4492].
  9. Catu Daya Eksternal - mis. Catu Daya Lab yang Diatur

Langkah 2: Membuat Antarmuka

Membuat Antarmuka
Membuat Antarmuka

Langkah pertama adalah membuat antarmuka di Nextion Editor di PC Anda.

Anda dapat mengunduh Editor Nextion di sini.

Muat Editor Berikutnya dan buat proyek baru. Saat Anda memulai proyek baru, Anda perlu memastikan bahwa Anda memilih perangkat Nextion yang benar dari opsi yang tersedia. Di sini perangkat "Nextion Enhanced NX4827K043" digunakan.

  1. Pilih File → NewPilih nama untuk proyek dan simpan ke tempat yang sesuai di hard drive.
  2. Pilih perangkat Nextion yang sesuai dari opsi yang tersedia

    Perangkat saya memiliki ukuran layar 480 x 272 piksel

Langkah 3: Sumber Daya Proyek

Sumber Daya Proyek
Sumber Daya Proyek
Sumber Daya Proyek
Sumber Daya Proyek
Sumber Daya Proyek
Sumber Daya Proyek

Anda perlu mengimpor semua sumber daya (mis. gambar dan font) ke dalam proyek Anda, lalu merancang antarmuka agar sesuai dengan kebutuhan spesifik Anda.

font

Tidak ada font khusus yang digunakan, tetapi jika Anda ingin menulis teks apa pun ke tampilan, Anda perlu membuat font di Editor Berikutnya.

A) Alat → Pembuat Font

  1. Pilih Tinggi Font (mis. 16).
  2. Pilih jenis kode Font (mis. iso-8859-2)
  3. Pilih jika Anda ingin di Bold atau tidak
  4. Pilih Font yang ingin Anda gunakan (mis. Arial)
  5. Pilih spasi (mis. 0)
  6. Dan akhirnya berikan Font ini nama yang unik (mis. Arial_16)
  7. Tekan tombol "Hasilkan Font" di kanan bawah jendela.

Setelah Anda menekan tombol Generate Font, Anda akan diminta untuk menyimpan font menggunakan ekstensi *.zi, dan secara otomatis akan menanyakan apakah Anda ingin “Tambahkan font yang dihasilkan?” ke proyek. Jika Anda senang dengan fontnya, dan ingin menggunakan font ini di proyek Anda, pilih "Ya", jika tidak pilih "Tidak" dan mulai lagi.

Anda tidak dapat menambahkan teks apa pun ke proyek Anda sampai Anda mengimpor atau menambahkan font. Semua font proyek Anda akan ditampilkan di jendela font.

**Catatan:Setiap font secara otomatis akan diindeks, sehingga Anda dapat mereferensikan font secara gramatikal jika diperlukan. Sebenarnya semua sumber daya yang Anda tambahkan ke proyek Anda diberi nomor dan bertambah satu untuk setiap sumber daya yang ditambahkan. Untuk beberapa sumber daya, Anda dapat melihat nomor ini di sebelah kiri item. Misalnya. Pada gambar di atas, Font Courier memiliki indeks 0, sedangkan font Arial memiliki indeks 1. Jika Anda menghapus sumber daya, nomor indeks dapat berubah untuk item tersebut.

Langkah 4: Mengimpor Gambar

Mengimpor Gambar
Mengimpor Gambar
Mengimpor Gambar
Mengimpor Gambar

Pada perangkat Nextion Enhanced NX4827K043, setiap gambar harus berukuran 480 x 272 piksel.

Kami sekarang akan mengimpor gambar-gambar berikut ke Editor Berikutnya sehingga kami dapat menggunakannya dalam proyek. Di sudut kiri bawah editor Nextion adalah jendela sumber daya "Font dan Gambar":

  1. Pilih tab Gambar
  2. Kemudian pilih ikon "+"
  3. Ini akan membuka kotak dialog untuk memungkinkan Anda memilih gambar untuk ditambahkan ke proyek. Anda dapat memilih lebih dari satu gambar untuk diimpor.

Untuk Splash Screen Anda dapat membuat gambar apa saja sesuai dengan pilihan Anda.

Dan untuk interface motor stepper dan piano anda bisa mendownload gambar diatas.

Langkah 5: Membuat GUI

Membuat GUI
Membuat GUI

Setiap sumber daya akan mendapatkan ID berdasarkan urutan penambahannya, dan setiap sumber daya akan secara otomatis mendapatkan nama.

Anda dapat mengubah nama sumber daya atau objek, tetapi Anda tidak dapat mengedit ID.

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

Untuk menambahkan halaman, Anda cukup memilih ikon "Tambah" dari "jendela halaman". Dan terus tambahkan halaman sampai Anda memiliki total 3 halaman (halaman0, halaman1 dan halaman2).

Langkah 6: Halaman 0-Splash Screen

Halaman 0-Splash Screen
Halaman 0-Splash Screen

Saat Nextion dinyalakan, splash screen akan ditampilkan selama 3 detik sebelum menampilkan layar Stepper Motor Controller. Saya menggunakan langkah-langkah berikut untuk membuat layar splash.

Tambahkan gambar layar splash ke halaman 0

  • Pilih "halaman 0" dari jendela Halaman
  • Pilih "Gambar" dari jendela Toolbox
  • Klik dua kali atribut "pic" dari jendela Atribut
  • Pilih gambar layar splash dari daftar
  • Tekan tombol OK

2. Tambahkan Timer ke halaman 0

  • Pilih Timer dari jendela Toolbox
  • Ubah atribut "tim" dari 400 menjadi 3000 di jendela Atribut
  • Masukkan "halaman page1" di bagian Kode pengguna dari Timer Event(0)Event timer ini akan membuat Nextion melompat ke halaman1 setelah 3 detik.

Event timer ini akan membuat Nextion melompat ke halaman 1 setelah 3 detik.

Langkah 7: Halaman 1 - Pengontrol Motor Stepper

Halaman ini dirancang untuk mengontrol arah dan kecepatan motor stepper. Akan ada dua tombol untuk arah (Kiri dan Kanan), dan dua tombol untuk kecepatan (Lebih Cepat dan Lebih Lambat). Dan satu tombol lagi untuk melompat ke halaman berikutnya (yaitu halaman Piano Motor Stepper). Tombol-tombol ini juga akan dipetakan ke papan ekspansi Nextion. Tombol taktil papan ekspansi akan memberikan metode alternatif untuk mengendalikan motor.

Tambahkan gambar Stepper Motor Controller ke halaman1

  • Pilih "halaman1" dari jendela Halaman
  • Pilih "Gambar" dari jendela Toolbox
  • Klik dua kali atribut "pic" dari jendela Atribut
  • Pilih gambar "Stepper Motor Controller" dari daftar
  • Tekan tombol OK

2. Tambahkan Hotspot di setiap tombol pada gambar Stepper Motor Controller

a) Pilih "Hotspot" dari jendela Toolbox

b) Seret dan ubah ukuran Hotspot sehingga menutupi tombol "Kiri"

  • Ini adalah area yang akan merespons penekanan "tombol Kiri".
  • Ini akan transparan saat diunggah ke papan Nextion

c) Pilih tab "Sentuh Tekan Acara" di jendela Acara

d) Hapus centang pada kotak centang "Kirim ID Komponen"

e) Ketikkan kode berikut ke dalam Bagian “User Code” pada jendela Event:

cetak "L"

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

  • Pilih objname dari jendela atribut dan ubah teks dari "m0" menjadi "Kiri"
  • Tidak wajib mengganti nama objek hotspot; namun itu akan membantu di kemudian hari.

g) Ulangi langkah 2a-2f untuk masing-masing tombol lainnya dalam urutan berikut dan sesuai tabel di bawah ini

  • Benar
  • Lebih cepat
  • Lebih lambat
  • Lanjut

Kode ASCII desimal untuk huruf “L” adalah 76, maka saat tampilan Nextion Enhanced mengirimkan huruf L ke Arduino menggunakan perintah print “L”, Arduino akan menerima angka 76. Saat tombol kanan ditekan, maka akan menerima nomor 82, dan seterusnya. Tombol "Berikutnya" tidak mengirimkan apa pun ke Arduino, tombol itu hanya ada untuk melompat ke antarmuka berikutnya pada tampilan Nextion Enhanced, oleh karena itu alasan mengapa kode pengguna berbeda untuk tombol itu.

3. Petakan tombol ke papan Ekspansi

a) Pilih "page0" dan kemudian "page1" dari jendela Halaman

b) Pilih tab "Prainisialisasi Acara" dari jendela Acara

c) Masukkan kode berikut ke dalam kolom “User Code” pada tab Preinisialisasi Event:

  • cfgpio 5, 1, Kiri
  • cfgpio 2, 1, Kanan
  • cfgpio 4, 1, Lebih cepat
  • cfgpio 3, 1, Lebih lambat
  • cfgpio 1, 1, Selanjutnya

*** Harap diperhatikan: Ada satu spasi antara cfgpio dan nomor di sebelahnya, tetapi tidak ada spasi lain di setiap baris. Jika Anda memasukkan spasi tambahan, itu tidak akan dikompilasi. Kode ini memetakan tombol pada papan ekspansi ke objek hotspot di halaman1. Misalnya, ketika tombol Kiri (IO5) pada papan ekspansi ditekan, ini mensimulasikan tindakan atau peristiwa yang terkait dengan hotspot m0/Kiri. Dalam hal ini akan mengirimkan nilai “L” (76) ke Arduino.

Nomor IO ditandai dalam tanda kurung pada papan ekspansi.

Langkah 8: Halaman 2 - Piano Motor Stepper

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

antarmukanya akan dirancang agar terlihat seperti piano, dan akan memungkinkan saya untuk mengontrol motor stepper sedemikian rupa sehingga menghasilkan nada dalam kunci yang sama dengan yang saya tekan pada tampilan Nextion. Motor stepper akan menghasilkan nada dengan cara berputar pada frekuensi tertentu.

1. Tambahkan gambar Stepper Motor Piano ke halaman2.

  • Pilih "page2" dari jendela Halaman
  • Pilih "Gambar" dari jendela Toolbox
  • Klik dua kali atribut "pic" dari jendela Atribut
  • Pilih gambar "Piano Motor Stepper" dari daftar
  • Tekan tombol OK

2. Tambahkan Hotspot di setiap tombol pada gambar Piano Motor Stepper

a) Pilih “Hotspot” dari jendela Toolbox

b) Seret dan ubah ukuran Hotspot sehingga menutupi tombol "A". Ini adalah area yang akan merespons penekanan "A-key". Ini akan transparan saat diunggah ke papan Nextion.

c) Pilih tab “Sentuh Tekan Acara” di jendela Acara.

d) Ketik yang berikut ini di bagian "Kode Pengguna"

cetak 1

e) Ulangi langkah 2a-2d untuk setiap tombol lainnya sesuai tabel di bawah ini.

**Ketika tombol tertentu ditekan, papan Nextion Enhanced akan mengirimkan nomor yang dicetak, diikuti oleh tiga nilai 0x00. Nilai terminasi dapat diabaikan.

3. Tombol "Kembali" akan memungkinkan saya untuk melompat kembali ke antarmuka sebelumnya di papan Nextion Enhanced.

a) Buat hotspot untuk tombol kembali menggunakan proses berikut:

  1. Pilih Hotspot dari jendela Toolbox
  2. Pindahkan/Ubah ukuran hotspot di atas tombol "Kembali"

b) Pilih jendela Acara.

c) Pastikan tab "Acara pers sentuh" dipilih

d) Ketik: halaman halaman1 ke bagian Kode Pengguna

Langkah 9: Debug

Debug
Debug
Debug
Debug

Hal yang baik tentang Editor Nextion, adalah Anda dapat menguji fungsionalitas antarmuka sebelum mengunggahnya ke papan.

  1. Simpan proyek dengan menekan tombol simpan di bilah tugas
  2. Kemudian tekan tombol kompilasi
  3. Kemudian tekan tombol debug.

Jendela emulator Nextion akan muncul. Jendela ini harus merespon dengan cara yang sama seperti modul Nextion setelah file Nextion diunggah ke papan. Emulator ini adalah cara yang bagus untuk menguji antarmuka Anda dan memastikannya terlihat dan berfungsi seperti yang diharapkan. Setelah saya puas dengan antarmukanya, saya mentransfer file Nextion yang dikompilasi ke kartu SD:

  1. Tekan tombol kompilasi
  2. File → Buka Folder Bangun
  3. Pilih file *.tft dengan nama yang sama dengan nama proyek.
  4. Salin ke kartu micro SDHC
  5. Masukkan kartu SDHC ke dalam slot kartu SD pada tampilan Nextion
  6. Nyalakan papan Nextion

Tunggu file untuk mem-flash papan Nextion, dan Anda akan melihat pesan yang terlihat seperti ini:

Langkah selanjutnya adalah matikan papan Nextion, dan lepaskan kartu SDHC.

Langkah 10: ARDUINO SETUP

Tampilan Nextion Enhanced sudah siap, dan sekarang giliran Arduino. Arduino diprogram untuk menerima pesan Serial dari tampilan Nextion Enhanced dan mengontrol motor stepper berdasarkan huruf atau angka yang diterima. Huruf atau angka unik yang ditransmisikan dari papan Nextion, memungkinkan Arduino untuk memahami tombol apa yang ditekan, dan menggunakan angka atau huruf tersebut untuk mengontrol aliran kode untuk melakukan tindakan motor stepper tertentu.

Pustaka SoftwareSerial digunakan untuk mengaktifkan komunikasi Serial antara Arduino dan tampilan Nextion Enhanced. Pustaka AccelStepper digunakan untuk menyederhanakan proses pengendalian motor stepper.

Atur kecepatan maksimum dan minimum untuk motor, dan beberapa tombol yang telah ditentukan sebelumnya. Dimungkinkan untuk "menyetel" motor menggunakan antarmuka pertama dari tampilan Nextion. Anda dapat melakukan ini dengan membuat putaran motor lebih cepat atau lebih lambat sampai Anda mencapai kunci yang diinginkan. Di sini aplikasi "Tuner T1 Free" dari toko aplikasi iTunes digunakan untuk mengidentifikasi KETIKA motor menghasilkan nada di kunci. Ketika motor menghasilkan nada tertentu, saya akan menuliskan kecepatan motor stepper yang dicetak ke jendela monitor Serial. Setiap kali kecepatan motor dinaikkan atau diturunkan, kode Arduino mencetak kecepatan ke jendela serial monitor. Saya kemudian menggunakan kecepatan ini untuk memperbarui array note dalam kode Arduino. Array notes menyimpan kecepatan motor stepper yang sesuai dengan masing-masing nada pada piano. Tampilan Nextion pada dasarnya mengirimkan nomor indeks not untuk dimainkan dari susunan not pada Arduino, sehingga menyederhanakan kode yang diperlukan untuk memutar motor pada 16 kecepatan yang berbeda.

Langkah 11: Penyelesaian + Skema

Penyelesaian + Skema
Penyelesaian + Skema
Penyelesaian + Skema
Penyelesaian + Skema
Penyelesaian + Skema
Penyelesaian + Skema
Penyelesaian + Skema
Penyelesaian + Skema

Dengan semua papan dimatikan, langkah selanjutnya adalah membuat semua koneksi perangkat keras yang diperlukan ke Arduino. Ada dua bagian utama yang perlu dipertimbangkan:

  • Pengemudi dan motor stepper motor
  • Papan Nextion Enhanced.

Anda perlu memastikan bahwa Anda menggunakan sumber daya eksternal untuk memberi daya pada motor stepper dan papan Nextion Enhanced. Papan driver motor stepper itu sendiri ditenagai oleh Arduino tanpa masalah, tetapi motor stepper yang sebenarnya akan membutuhkan catu daya eksternal. Papan Nextion Enhanced juga membutuhkan catu daya eksternal karena membutuhkan lebih banyak arus daripada yang dapat disediakan oleh Arduino dengan aman.

Catat catu daya eksternal yang digunakan. Saya memastikan bahwa saya memiliki catu daya yang cukup besar untuk menangani persyaratan daya proyek, dan menggunakan lembar data yang relevan untuk membantu saya mengidentifikasi persyaratan tersebut. Jika Anda berencana untuk mereplikasi proyek ini, pastikan Anda mempertimbangkan kebutuhan daya spesifik motor Anda, driver motor Anda, dan tampilan Nextion Anda. Arduino hanya dapat mensuplai arus 400mA dari pin 5V. Dengan semuanya terhubung, saya menyalakan layar Nextion, lalu menyalakan Arduino. Motor stepper mulai berputar secara otomatis. Saya menggunakan antarmuka pertama untuk mengubah arah dan/atau kecepatan motor. Harap perhatikan kecepatan maksimum dan minimum yang diatur dalam kode Arduino. Saya kemudian menggunakan tombol Next untuk melompat ke antarmuka kedua pada tampilan Nextion Enhanced. Antarmuka kedua terlihat seperti piano. Dan ketika saya menekan tombol pada layar piano, motor mengubah kecepatan agar sesuai dengan nada yang saya tekan.

Itu saja. Sekarang Anda sudah selesai.

Semoga Anda menyukainya

Direkomendasikan: