Mündəricat:

Step Motoru ilə Mahnı Çalın !!: 11 Addım (Şəkillərlə)
Step Motoru ilə Mahnı Çalın !!: 11 Addım (Şəkillərlə)

Video: Step Motoru ilə Mahnı Çalın !!: 11 Addım (Şəkillərlə)

Video: Step Motoru ilə Mahnı Çalın !!: 11 Addım (Şəkillərlə)
Video: Bakı metrosunda gənclərin elədiyi zarafat 2024, Noyabr
Anonim
Step Motordan istifadə edərək mahnı oxuyun!
Step Motordan istifadə edərək mahnı oxuyun!

Bu layihə, bir step motoru ilə iki fərqli şəkildə qarşılıqlı əlaqə qurmağa imkan verəcək sadə bir dinamik interfeys dizaynıdır.

Birinci interfeys, istiqamət üçün sol və sağ oxları və sürət üçün yuxarı və aşağı oxları olan sadə bir GUI istifadə edərək, step motorun istiqamətini və sürətini idarə edəcək.

İkinci interfeys, step motorunun fırlanma səslərindən istifadə edərək sadə mahnıları ifa etməyə imkan verəcək daha musiqili xarakter daşıyacaq.

Addım 1: Lazım olan hissələr

  1. Arduino UNO (və ya uyğun lövhə)
  2. İTead Studio -dan Nextion Enhanced NX4827K043.
  3. Nextion Enhanced ekranı üçün Nextion Genişləndirmə lövhəsi
  4. Micro SDHC kartı
  5. SD Card Reader/Writer - faylları kompüterdən SDHC kartına köçürmək üçün
  6. Çörək lövhəsi
  7. Step Motor (42BYGHM809)
  8. 100 uF CapacitorDuinotech Stepper Motor Sürücü (L298) - [JayCar hissəsi# XC4492].
  9. Xarici enerji təchizatı - məs. Tənzimlənən Laboratoriya Güc Təchizatı

Addım 2: İnterfeys yaradın

İnterfeys Yaratmaq
İnterfeys Yaratmaq

İlk addım, PC -də Nextion Redaktorunda interfeyslər yaratmaqdır.

Nextion Redaktorunu buradan yükləyə bilərsiniz.

Nextion Redaktorunu yükləyin və yeni bir layihə yaradın. Yeni bir layihəyə başladığınızda, mövcud variantlardan doğru Nextion cihazını seçdiyinizə əmin olmalısınız. Burada "Nextion Enhanced NX4827K043" cihazı istifadə olunur.

  1. Fayl → Yeni seçin Layihə üçün bir ad seçin və onu sabit diskdə uyğun bir yerə qeyd edin.
  2. Mövcud variantlardan uyğun Nextion cihazını seçin

    Cihazım 480 x 272 piksel ekran ölçüsünə malikdir

Addım 3: Layihə mənbələri

Layihə mənbələri
Layihə mənbələri
Layihə mənbələri
Layihə mənbələri
Layihə mənbələri
Layihə mənbələri

Bütün mənbələri (məsələn, şəkillər və şriftlər) layihənizə daxil etməlisiniz və sonra interfeysi xüsusi ehtiyaclarınıza uyğun dizayn etməlisiniz.

Şriftlər

İstifadə olunan xüsusi şriftlər yoxdur, ancaq ekrana hər hansı bir mətn yazmaq istəyirsinizsə, Nextion Redaktorunda bir şrift yaratmalısınız.

A) Alətlər → Şrift Yaradan

  1. Şriftin Hündürlüyünü seçin (məsələn. 16).
  2. Şrift kodu növünü seçin (məsələn. İso-8859-2)
  3. Boldda olmasını istəsəniz seçin
  4. İstifadə etmək istədiyiniz Şrift seçin (məsələn. Arial)
  5. Aralığı seçin (məsələn, 0)
  6. Və nəhayət bu Şriftə unikal bir ad verin (məsələn Arial_16)
  7. Pəncərənin sağ alt hissəsindəki "Şrift Yarat" düyməsini basın.

Şrift Yarat düyməsini basdıqdan sonra, *.zi uzantısı ilə yazı tipini saxlamağınızı təmin edəcək və avtomatik olaraq "Yaradılmış şrift əlavə etmək istəyirsinizmi?" layihəyə. Şriftdən razısınızsa və bu şriftinizi layihənizdə istifadə etmək istəyirsinizsə, "Bəli" seçin, əks halda "Xeyr" seçin və yenidən başlayın.

Şrift idxal etməyənə və ya əlavə etməyincə layihənizə heç bir mətn əlavə edə bilməzsiniz. Bütün layihə şriftləriniz şriftlər pəncərəsində göstəriləcək.

** Qeyd: Hər bir şrift avtomatik olaraq indekslənəcək, buna görə də lazım olduqda şriftə qrammatik olaraq müraciət edə bilərsiniz. Əslində, layihənizə əlavə etdiyiniz bütün mənbələrə bir nömrə verilir və əlavə olunan hər bir qaynaq üçün bir artırılır. Bəzi mənbələr üçün bu nömrəni maddənin solunda görə bilərsiniz. Məsələn, Yuxarıdakı şəkildə, Courier Şriftinin indeksi 0, Arial şriftinin indeksi isə 1 -dir. Bir mənbəni silirsinizsə, həmin maddə üçün indeks nömrəsi dəyişə bilər.

Addım 4: Şəkilləri idxal edin

Şəkilləri idxal etmək
Şəkilləri idxal etmək
Şəkilləri idxal etmək
Şəkilləri idxal etmək

Nextion Enhanced NX4827K043 cihazında hər bir şəkil 480 x 272 piksel ölçüdə olmalıdır.

İndi aşağıdakı şəkilləri Nextion Redaktoruna daxil edəcəyik ki, bunları layihədə istifadə edək. Nextion redaktorunun sol alt küncündə "Şriftlər və Şəkil" resurs pəncərəsi var:

  1. Şəkil sekmesini seçin
  2. Sonra "+" işarəsini seçin
  3. Bu, layihəyə əlavə etmək üçün şəkilləri seçməyinizə imkan verən bir informasiya qutusu açacaq. İdxal etmək üçün birdən çox şəkil seçə bilərsiniz.

Splash Screen üçün seçiminizə görə hər hansı bir şəkil çəkə bilərsiniz.

Və Stepper motoru və piano interfeysi üçün yuxarıdakı şəkli yükləyə bilərsiniz.

Addım 5: GUI qurmaq

GUI edilməsi
GUI edilməsi

Hər bir qaynaq əlavə olunduğu sıraya əsasən bir şəxsiyyət vəsiqəsi alacaq və hər bir qaynaq avtomatik olaraq bir ad alacaq.

Mənbənin və ya obyektin adını dəyişə bilərsiniz, ancaq kimliyi redaktə edə bilməzsiniz.

Üç səhifə yuxarıda göstərilən meyarlara uyğun olaraq hazırlanacaq.

Bir səhifə əlavə etmək üçün sadəcə "səhifə pəncərəsindən" "Əlavə et" simgesini seçin. Cəmi 3 səhifəniz (səhifə0, səhifə1 və səhifə2) olana qədər səhifələr əlavə etməyə davam edin.

Addım 6: Səhifə 0-Açıq Ekran

Səhifə 0-Açıq Ekran
Səhifə 0-Açıq Ekran

Nextion işə salındıqda, sıçrayış ekranı Stepper Motor Controller ekranını göstərməzdən əvvəl 3 saniyə ərzində göstəriləcək. Sıçrayış ekranı yaratmaq üçün aşağıdakı addımlardan istifadə etdim.

Səhifə 0 -a sıçrayış ekranı şəklini əlavə edin

  • Səhifə pəncərəsindən "səhifə 0" seçin
  • Alətlər qutusundan "Şəkil" seçin
  • Xüsusiyyət pəncərəsindəki "şəkil" xüsusiyyətini iki dəfə vurun
  • Siyahıdan açılan ekran görüntüsünü seçin
  • OK düyməsini basın

2. 0 -cı səhifəyə Taymer əlavə edin

  • Toolbox pəncərəsindən Timer seçin
  • Atribut pəncərəsində "tim" xüsusiyyətini 400 -dən 3000 -ə dəyişdirin
  • Timer Event -in İstifadəçi kodu bölümünə "page1" daxil edin (0) Bu timer hadisəsi Nextionu 3 saniyə sonra page1 -ə atlayacaq.

Bu taymer hadisəsi Nextionu 3 saniyədən sonra 1 -ci səhifəyə atlayacaq.

Adım 7: Səhifə 1 - Stepper Motor Controller

Bu səhifə, step motorunun istiqamətini və sürətini idarə etmək üçün hazırlanmışdır. İstiqamət üçün iki düymə (Sol və Sağ) və sürət üçün iki düymə (Daha sürətli və Yavaş) olacaq. Növbəti səhifəyə keçmək üçün daha bir düymə (yəni Stepper Motor Piano səhifəsi). Bu düymələr Nextion genişləndirmə lövhəsinə də əlavə olunacaq. Genişləndirmə lövhəsinin toxunma düymələri motoru idarə etmək üçün alternativ bir üsul təmin edəcək.

Step1 Motor Controller şəklini 1 -ci səhifəyə əlavə edin

  • Səhifə pəncərəsindən "səhifə1" seçin
  • Alətlər qutusundan "Şəkil" seçin
  • Xüsusiyyət pəncərəsindəki "şəkil" xüsusiyyətini iki dəfə vurun
  • Siyahıdan "Stepper Motor Controller" şəklini seçin
  • OK düyməsini basın

2. Stepper Motor Controller şəklindəki hər bir düymənin üzərinə Hotspots əlavə edin

a) Toolbox pəncərəsindən "Hotspot" seçin

b) Hotspot -u "Sol" düyməsini əhatə edəcək şəkildə çəkin və ölçüsünü dəyişin

  • Bu, "Sol düyməni" basmağa cavab verəcək sahədir.
  • Nextion lövhəsinə yükləndikdə şəffaf olacaq

c) Hadisə pəncərəsində "Touch Press Event" sekmesini seçin

d) "Komponent ID göndər" onay qutusunun işarəsini silin

e) Hadisə pəncərəsinin "İstifadəçi Kodu" Bölməsinə aşağıdakı kodu daxil edin:

"L" çap edin

f) Aşağıdakı prosesi istifadə edərək qaynar nöqtənin obyekt adını "Sol" olaraq dəyişdirin:

  • Xüsusiyyət pəncərəsindən objname seçin və mətni "m0" dan "Sol" a dəyişdirin
  • Hotspot obyektinin adını dəyişdirmək məcburi deyil; amma sonradan kömək edəcək.

g) Digər düymələrin hər biri üçün 2a-2f addımlarını aşağıdakı ardıcıllıqla və aşağıdakı cədvələ uyğun olaraq təkrarlayın

  • Sağ
  • Daha sürətli
  • Yavaş
  • Sonrakı

"L" hərfi üçün onlu ASCII kodu 76 -dır, buna görə də Nextion Enhanced ekranı "L" əmrini istifadə edərək L hərfini Arduino -ya göndərdikdə, Arduino 76 rəqəmini alacaq. Sağ düyməyə basıldığında 82 nömrəsini alacaq və s. "Sonrakı" düyməsi Arduino -ya heç bir şey ötürmür, sadəcə Nextion Enhanced ekranında növbəti interfeysə keçmək üçün istifadəçi kodunun bu düymə üçün fərqli olmasının səbəbi budur.

3. Düymələri Genişləndirmə lövhəsinə uyğunlaşdırın

a) Səhifə pəncərəsindən "səhifə0" və sonra "səhifə1" seçin

b) Hadisə pəncərəsindən "Hadisəni əvvəlcədən başlat" sekmesini seçin

c) Hadisəni əvvəlcədən başlat sekmesinin "İstifadəçi Kodu" sahəsinə aşağıdakı kodu daxil edin:

  • cfgpio 5, 1, Sol
  • cfgpio 2, 1, Sağ
  • cfgpio 4, 1, daha sürətli
  • cfgpio 3, 1, Yavaş
  • cfgpio 1, 1, Sonrakı

*** Diqqət edin: cfgpio ilə yanındakı nömrə arasında bir boşluq var, lakin hər sətirdə başqa boşluq yoxdur. Əlavə boşluqlar təqdim etsəniz, tərtib etməyəcək. Bu kod, genişləndirmə lövhəsindəki düymələri səhifə1 -dəki qaynar nöqtə obyektləri ilə əlaqələndirir. Məsələn, genişləndirmə lövhəsindəki Sol düyməsinə (IO5) basıldıqda, m0/Sol hotspot ilə əlaqəli hərəkətləri və hadisələri simulyasiya edir. Bu halda, Arduinoya "L" (76) dəyəri göndərəcək.

IO nömrəsi genişləndirmə lövhəsində mötərizədə qeyd olunur.

Adım 8: Səhifə 2 - Stepper Motorlu Piano

Səhifə 2 - Stepper Motorlu Piano
Səhifə 2 - Stepper Motorlu Piano
Səhifə 2 - Stepper Motorlu Piano
Səhifə 2 - Stepper Motorlu Piano

onun interfeysi bir pianoya bənzəyəcək şəkildə dizayn ediləcək və Stepion motorunu idarə etməyimə imkan verəcək ki, Nextion ekranında basdığım düymə ilə eyni düymədə bir qeyd çıxaracaq. Step motoru müəyyən bir tezlikdə fırlanaraq notu istehsal edəcək.

1. Step2 Motor Piano şəklini 2 -ci səhifəyə əlavə edin.

  • Səhifə pəncərəsindən "səhifə2" seçin
  • Alətlər qutusundan "Şəkil" seçin
  • Xüsusiyyət pəncərəsindəki "şəkil" xüsusiyyətini iki dəfə vurun
  • Siyahıdan "Stepper Motor Piano" şəklini seçin
  • OK düyməsini basın

2. Stepper Motor Piano şəklindəki hər bir düymə üzərində Hotspots əlavə edin

a) Toolbox pəncərəsindən "Hotspot" seçin

b) Hotspot-u "A" düyməsini əhatə edəcək şəkildə çəkin və ölçüsünü dəyişin. "A-key" düymələrinə cavab verəcək sahədir. Nextion lövhəsinə yükləndikdə şəffaf olacaq.

c) Hadisə pəncərəsində "Touch Press Event" sekmesini seçin.

d) "İstifadəçi Kodu" bölməsinə aşağıdakıları daxil edin

çap 1

e) Aşağıdakı cədvələ uyğun olaraq digər düymələrin hər biri üçün 2a-2d addımlarını təkrarlayın.

** Xüsusi düyməyə basıldıqda, Nextion Enhanced lövhəsi çap edilmiş nömrəni, sonra üç 0x00 dəyərini ötürür. Sona çatan dəyərlər göz ardı edilə bilər.

3. "Geri" düyməsi Nextion Enhanced lövhəsindəki əvvəlki interfeysə qayıtmağa imkan verəcək.

a) Aşağıdakı prosesi istifadə edərək geri düyməsi üçün bir qaynar nöqtə yaradın:

  1. Toolbox pəncərəsindən Hotspot seçin
  2. İsti nöqtəni "Geri" düyməsinə köçürün/Ölçüsünü dəyişdirin

b) Hadisə pəncərəsini seçin.

c) "Touch press event" sekmesinin seçilmiş olduğundan əmin olun

d) İstifadəçi Kodu bölməsinə daxil edin: səhifə səhifəsi1

Addım 9: Hata Ayıklama

Hata ayıklama
Hata ayıklama
Hata ayıklama
Hata ayıklama

Nextion Redaktorunun yaxşı tərəfi, lövhəyə yükləməzdən əvvəl interfeys funksiyasını sınaya bilərsiniz.

  1. Vəzifə çubuğunda saxla düyməsini basaraq layihəni qeyd edin
  2. Sonra kompilyasiya düyməsini basın
  3. Sonra debug düyməsini basın.

Nextion emulator pəncərəsi görünəcək. Nextion faylı lövhəyə yükləndikdən sonra bu pəncərə Nextion modulu ilə eyni şəkildə cavab verməlidir. Bu emulator, interfeysinizi sınamaq və göründüyünə və gözlənildiyi kimi işlədiyinə əmin olmaq üçün əla bir yoldur. İnterfeys (lər) dən razı qaldıqdan sonra tərtib edilmiş Nextion faylını SD karta köçürdüm:

  1. Kompilyasiya düyməsini basın
  2. Fayl → Quraşdırma Qovluğunu açın
  3. Layihənin adı ilə eyni olan *.tft faylını seçin.
  4. Bir micro SDHC kartına kopyalayın
  5. SDHC kartını Nextion ekranındakı SD kart yuvasına daxil edin
  6. Nextion lövhəsini gücləndirin

Faylın Nextion lövhəsinin yanıb sönməsini gözləyin və belə bir mesaj görməlisiniz:

Növbəti addım Nextion lövhəsini söndürmək və SDHC kartını çıxarmaqdır.

Addım 10: ARDUINO SETUP

Nextion Enhanced ekranı hazırdır və indi növbə Arduino -ya çatdı. Arduino, Nextion Enhanced ekranından Serial mesajları almaq və alınan hərflərə və ya rəqəmlərə əsaslanaraq step motorunu idarə etmək üçün proqramlaşdırılmışdır. Nextion lövhəsindən ötürülən unikal hərflər və ya rəqəmlər, Arduino -ya hansı düyməni basıldığını anlamağa imkan verir və müəyyən addım motor hərəkətlərini yerinə yetirmək üçün kod axını idarə etmək üçün bu rəqəmləri və ya hərfləri istifadə edir.

SoftwareSerial kitabxanası, Arduino ilə Nextion Enhanced ekranı arasında Serial ünsiyyəti təmin etmək üçün istifadə olunur. AccelStepper kitabxanası, step motor nəzarət prosesini asanlaşdırmaq üçün istifadə olunur.

Mühərriklər və əvvəlcədən müəyyən edilmiş bəzi düymələr üçün maksimum və minimum sürəti təyin edin. Nextion displeyinin ilk interfeysindən istifadə edərək mühərriki "tənzimləmək" mümkündür. İstədiyiniz düyməyə çatana qədər motoru daha sürətli və ya yavaş çevirərək bunu edə bilərsiniz. Burada, iTunes tətbiq mağazasındakı "Tuner T1 Pulsuz" proqramı, motorun açar qeyd hazırladığını təyin etmək üçün istifadə olunur. Mühərrik müəyyən bir qeyd hazırlayanda, Serial monitor pəncərəsinə yazılmış step motor sürətini yazardım. Hər dəfə motor sürəti artırıldıqda və ya azaldıqda Arduino kodu sürəti seriyalı monitor pəncərəsinə yazdırır. Arduino kodundakı qeydlər dizisini yeniləmək üçün bu sürətlərdən istifadə edirəm. Notlar serialı, pianonun fərdi notlarına uyğun olan step motor sürətlərini saxlayır. Nextion ekranı əslində notların indeks nömrəsini Arduino üzərindəki notlar silsiləsindən göndərir və bununla da motoru 16 fərqli sürətdə fırlatmaq üçün lazım olan kodu sadələşdirir.

Addım 11: Sxemlərin tamamlanması

Yekunlaşdırma+Sxemalar
Yekunlaşdırma+Sxemalar
Yekunlaşdırma+Sxemalar
Yekunlaşdırma+Sxemalar
Yekunlaşdırma+Sxemalar
Yekunlaşdırma+Sxemalar
Yekunlaşdırma+Sxemalar
Yekunlaşdırma+Sxemalar

Bütün lövhələr söndürüldükdə, növbəti addım Arduino ilə bütün lazımi hardware əlaqələrini qurmaqdır. Düşünmək üçün iki əsas bölmə var:

  • Stepper motor sürücüsü və motoru
  • Nextion Təkmilləşdirilmiş lövhə.

Həm step motoru, həm də Nextion Enhanced lövhəsini gücləndirmək üçün xarici bir enerji mənbəyindən istifadə etdiyinizə əmin olmalısınız. Step motor sürücüsü lövhəsinin özü heç bir problem olmadan Arduino ilə təchiz edilmişdir, lakin faktiki step motorunun xarici enerji təchizatı tələb olunur. Nextion Enhanced lövhəsi də xarici enerji təchizatına ehtiyac duyur, çünki Arduinonun etibarlı şəkildə təmin edə biləcəyindən daha çox cərəyan tələb edir.

İstifadə olunan xarici enerji mənbəyinə diqqət yetirin. Layihənin güc tələblərini yerinə yetirmək üçün kifayət qədər böyük bir enerji təchizatı aldığımdan əmin oldum və bu tələbləri müəyyənləşdirməyimə kömək etmək üçün müvafiq məlumat cədvəllərindən istifadə etdim. Bu layihəni təkrarlamağı planlaşdırırsınızsa, motorunuzun, motor sürücünüzün və Nextion ekranınızın xüsusi güc tələblərini nəzərə aldığınızdan əmin olun. Arduino, 5V pinindən yalnız 400mA cərəyan verə bilər. Hər şey bağlandıqdan sonra Nextion ekranını işə saldım, sonra Arduino -nu işə saldım. Step motor avtomatik olaraq dönməyə başlayır. Motorun istiqamətini və/və ya sürətini dəyişdirmək üçün ilk interfeysdən istifadə etdim. Arduino kodunda qurulan maksimum və minimum sürəti unutmayın. Sonra Nextion Enhanced ekranında ikinci interfeysə keçmək üçün Next düyməsini istifadə etdim. İkinci interfeys pianoya bənzəyir. Piano ekranında bir düyməyə basdığımda, motor basdığım nota uyğun olaraq sürəti dəyişir.

Artıq budur.

Ümid edirəm bəyənəcəksiniz

Tövsiyə: