Përmbajtje:

Luaj këngë duke përdorur Stepper Motor !!: 11 hapa (me fotografi)
Luaj këngë duke përdorur Stepper Motor !!: 11 hapa (me fotografi)

Video: Luaj këngë duke përdorur Stepper Motor !!: 11 hapa (me fotografi)

Video: Luaj këngë duke përdorur Stepper Motor !!: 11 hapa (me fotografi)
Video: ТАКОВ МОЙ ПУТЬ В L4D2 2024, Nëntor
Anonim
Luaj këngë duke përdorur Stepper Motor !!
Luaj këngë duke përdorur Stepper Motor !!

Ky projekt ka të bëjë me hartimin e një ndërfaqeje të thjeshtë dinamike, e cila do të lejojë ndërveprimin me një motor stepper në dy mënyra të ndryshme.

Ndërfaqja e parë do të kontrollojë drejtimin dhe shpejtësinë e motorit stepper përmes përdorimit të një GUI të thjeshtë, të cilët kanë shigjeta majtas dhe djathtas për drejtimin, dhe shigjeta lart e poshtë për shpejtësinë.

Ndërfaqja e dytë do të jetë më shumë në natyrë muzikore e cila do të lejojë të luajë këngë të thjeshta duke përdorur tingujt rrotullues të motorit stepper.

Hapi 1: Pjesët e kërkuara

  1. Arduino UNO (ose bordi i pajtueshëm)
  2. Nextion Enhanced NX4827K043 nga iTead Studio.
  3. Tabela e Zgjerimit Nextion për ekranin e zgjeruar Nextion
  4. Kartë mikro SDHC
  5. SD Card Reader/Writer - për të transferuar skedarë nga kompjuteri në kartën SDHC
  6. Breadboard
  7. Stepper Motor (42BYGHM809)
  8. 100 uF CapacitorDuinotech Stepper Motor Driver (L298) - [Pjesa JayCar# XC4492].
  9. Furnizimi me energji të jashtme - p.sh. Furnizimi me energji i rregulluar i laboratorit

Hapi 2: Krijimi i ndërfaqes

Krijimi i ndërfaqes
Krijimi i ndërfaqes

Hapi i parë është krijimi i ndërfaqeve në Editorin Nextion në kompjuterin tuaj.

Këtu mund të shkarkoni Redaktorin Nextion.

Ngarkoni Editorin Nextion dhe krijoni një projekt të ri. Kur filloni një projekt të ri, duhet të siguroheni që keni zgjedhur pajisjen e duhur Nextion nga opsionet në dispozicion. Këtu përdoret pajisja "Nextion Enhanced NX4827K043".

  1. Zgjidhni Skedarin → E ReZgjidhni një emër për projektin dhe ruajeni në një vend të përshtatshëm në hard disk.
  2. Zgjidhni pajisjen e duhur Nextion nga opsionet e disponueshme

    Pajisja ime ka një madhësi të ekranit 480 x 272 piksele

Hapi 3: Burimet e projektit

Burimet e projektit
Burimet e projektit
Burimet e Projektit
Burimet e Projektit
Burimet e projektit
Burimet e projektit

Ju duhet të importoni të gjitha burimet (p.sh. fotografitë dhe fontet) në projektin tuaj, dhe pastaj të krijoni ndërfaqen që i përshtatet nevojave tuaja specifike.

Fontet

Nuk përdoren shkronja të veçanta, por nëse doni të shkruani ndonjë tekst në ekran, do t'ju duhet të krijoni një font në Redaktorin Nextion.

A) Mjetet → Gjenerator fontesh

  1. Zgjidhni Lartësinë e Fontit (p.sh. 16).
  2. Zgjidhni llojin e kodit të fontit (p.sh. iso-8859-2)
  3. Zgjidhni nëse doni që të jetë në Bold ose jo
  4. Zgjidhni Fontin që dëshironi të përdorni (p.sh. Arial)
  5. Zgjidhni distancën (p.sh. 0)
  6. Dhe së fundi jepini këtij Fonti një emër unik (p.sh. Arial_16)
  7. Shtypni butonin "Generate Font" në pjesën e poshtme të djathtë të dritares.

Pasi të shtypni butonin Generate Font, do t’ju bëjë të ruani fontin duke përdorur një shtrirje *.zi dhe automatikisht do t’ju pyesë nëse dëshironi të "Shtoni fontin e krijuar?" ndaj projektit. Nëse jeni të kënaqur me fontin dhe dëshironi të përdorni këtë font në projektin tuaj, atëherë zgjidhni "Po", përndryshe zgjidhni "Jo" dhe filloni përsëri.

Ju nuk mund të shtoni asnjë tekst në projektin tuaj derisa të keni importuar ose shtuar një font. Të gjitha shkronjat e projektit tuaj do të shfaqen në dritaren e shkronjave.

** Shënim: Çdo font do të indeksohet automatikisht, kështu që ju mund t'i referoheni fontit në mënyrë gramatikore nëse kërkohet. Në fakt, të gjitha burimet që i shtoni projektit tuaj caktohen një numër dhe rriten me një për çdo burim të shtuar. Për disa burime, mund ta shihni këtë numër në të majtë të artikullit. P.sh. Në foton e mësipërme, Fonti Courier ka një indeks prej 0, ndërsa fonti Arial ka një indeks prej 1. Nëse fshini një burim, numri i indeksit mund të ndryshojë për atë artikull.

Hapi 4: Importimi i imazheve

Importimi i imazheve
Importimi i imazheve
Importimi i imazheve
Importimi i imazheve

Në pajisjen Nextion Enhanced NX4827K043, secila fotografi duhet të jetë 480 x 272 pixel në madhësi.

Tani do të importojmë fotografitë e mëposhtme në Editorin Nextion në mënyrë që t'i përdorim ato në projekt. Në këndin e poshtëm të majtë të redaktuesit Nextion është dritarja e burimeve "Fonts and Picture":

  1. Zgjidhni skedën Figura
  2. Pastaj zgjidhni ikonën "+"
  3. Kjo do të hapë një kuti dialogu për t'ju lejuar të zgjidhni fotografinë (et) për t'i shtuar në projekt. Mund të zgjidhni më shumë se një fotografi për t'u importuar.

Për Splash Screen ju mund të bëni çdo imazh sipas zgjedhjes suaj.

Dhe për ndërfaqen Stepper motor dhe piano ju mund të shkarkoni imazhin e mësipërm.

Hapi 5: Krijimi i GUI

Duke bërë GUI
Duke bërë GUI

Çdo burim do të marrë një ID bazuar në rendin që shtohet, dhe secili burim automatikisht do të marrë një emër.

Ju mund të ndryshoni emrin e burimit ose objektit, por nuk mund ta ndryshoni ID -në.

Tre faqe do të hartohen për të përmbushur kriteret e përshkruara më sipër.

Për të shtuar një faqe, thjesht zgjidhni ikonën "Shto" nga "dritarja e faqes". Dhe vazhdoni të shtoni faqe derisa të keni gjithsej 3 faqe (faqe0, faqe1 dhe faqe2).

Hapi 6: Faqja 0-Ekrani i spërkatjes

Faqe 0-Ekrani i spërkatjes
Faqe 0-Ekrani i spërkatjes

Kur Nextion të ndizet, ekrani i spërkatjes do të shfaqet për 3 sekonda para se të shfaqë ekranin e kontrolluesit të Stepper Motor. Kam përdorur hapat e mëposhtëm për të krijuar spërkatjen e ekranit.

Shtoni figurën e ekranit splash në faqen 0

  • Zgjidhni "faqen 0" nga dritarja e Faqes
  • Zgjidhni "Picture" nga dritarja Toolbox
  • Klikoni dy herë mbi atributin "pic" nga dritarja Atribut
  • Zgjidhni imazhin e spërkatjes së ekranit nga lista
  • Shtypni butonin OK

2. Shtoni një kohëmatës në faqen 0

  • Zgjidhni Timer nga dritarja Toolbox
  • Ndryshoni atributin "tim" nga 400 në 3000 në dritaren Atribut
  • Shkruani "faqen faqe 1" në seksionin e Kodit të Përdoruesit të Ngjarjes së Kohëmatësit (0) Kjo ngjarje e kohëmatësit do të bëjë që Nextion të hidhet në faqen 1 pas 3 sekondash.

Kjo ngjarje e kohëmatësit do ta bëjë Nextion të hidhet në faqen 1 pas 3 sekondash.

Hapi 7: Faqja 1 - Kontrolluesi Stepper Motor

Kjo faqe është krijuar për të kontrolluar drejtimin dhe shpejtësinë e motorit stepper. Do të ketë dy butona për drejtimin (majtas dhe djathtas), dhe dy butona për shpejtësinë (më shpejt dhe më ngadalë). Dhe një buton më shumë për të kaluar në faqen tjetër (dmth. Faqja e Pianos me Motor Stepper). Këta butona gjithashtu do të hartohen në tabelën e zgjerimit Nextion. Butonat prekës të bordit të zgjerimit do të ofrojnë një metodë alternative të kontrollit të motorit.

Shtoni foton e Stepper Motor Controller në faqen 1

  • Zgjidhni "page1" nga dritarja e Faqes
  • Zgjidhni "Picture" nga dritarja Toolbox
  • Klikoni dy herë mbi atributin "pic" nga dritarja Atribut
  • Zgjidhni imazhin "Stepper Motor Controller" nga lista
  • Shtypni butonin OK

2. Shtoni pika të nxehta mbi secilin buton në imazhin e kontrolluesit Stepper Motor

a) Zgjidhni "Hotspot" nga dritarja Toolbox

b) Tërhiqeni dhe ndryshoni madhësinë e Hotspot në mënyrë që të mbulojë butonin "Majtas"

  • Kjo është zona që do t'i përgjigjet shtypjeve "Butoni i majtë".
  • Do të jetë transparente kur të ngarkohet në tabelën Nextion

c) Zgjidhni skedën "Prekni Ngjarjen e Shtypit" në dritaren e Ngjarjes

d) Hiqni kutinë e zgjedhjes "Dërgo ID të Komponentit"

e) Shkruani kodin e mëposhtëm në seksionin "Kodi i Përdoruesit" në dritaren e Ngjarjes:

shtyp "L"

f) Ndryshoni emrin e objektit të pikës së nxehtë në "Majtas" duke përdorur procesin e mëposhtëm:

  • Zgjidhni objname nga dritarja e atributeve dhe ndryshoni tekstin nga "m0" në "Majtas"
  • Nuk është i detyrueshëm ndryshimi i emrit të objektit të nxehtë; megjithatë do të ndihmojë më vonë.

g) Përsëritni hapat 2a-2f për secilin prej butonave të tjerë sipas rendit të mëposhtëm dhe sipas tabelës më poshtë

  • E drejtë
  • Më shpejt
  • Më ngadalë
  • Tjetra

Kodi dhjetor ASCII për shkronjën "L" është 76, prandaj kur ekrani Nextion Enhanced i dërgon shkronjën L Arduino duke përdorur komandën "L" të printuar, Arduino do të marrë numrin 76. Kur shtypet butoni i djathtë, ai do të marrë numrin 82, e kështu me radhë. Butoni "Next" nuk transmeton asgjë në Arduino, ai është thjesht atje për të kaluar në ndërfaqen tjetër në ekranin Nextion Enhanced, prandaj arsyeja pse kodi i përdoruesit është i ndryshëm për atë buton.

3. Hartoni butonat në tabelën e Zgjerimit

a) Zgjidhni "page0" dhe pastaj "page1" nga dritarja e Faqes

b) Zgjidhni skedën "Preinitialize Event" nga dritarja Event

c) Shkruani kodin e mëposhtëm në fushën "Kodi i përdoruesit" në skedën Preinitialize Event:

  • cfgpio 5, 1, Majtas
  • cfgpio 2, 1, Djathtas
  • cfgpio 4, 1, më shpejt
  • cfgpio 3, 1, Ngadalë
  • cfgpio 1, 1, Tjetra

*** Ju lutemi vini re: Ka një hapësirë midis cfgpio dhe numrit ngjitur me të, por nuk ka hapësira të tjera në secilën rresht. Nëse futni hapësira shtesë, nuk do të përpilohet. Ky kod harton butonat në tabelën e zgjerimit në objektet e nxehta në faqen 1. Për shembull, kur shtypet butoni Majtas (IO5) në tabelën e zgjerimit, ai simulon veprimet ose ngjarjet që lidhen me pikën e nxehtë m0/Majtas. Në këtë rast do të dërgojë një vlerë prej "L" (76) në Arduino.

Numri IO shënohet brenda kllapave në tabelën e zgjerimit.

Hapi 8: Faqja 2 - Stepper Motor Piano

Faqe 2 - Piano Stepper Motor
Faqe 2 - Piano Stepper Motor
Faqe 2 - Stepper Motor Piano
Faqe 2 - Stepper Motor Piano

ndërfaqja e tij do të jetë e dizajnuar që të duket si një piano dhe do të më lejojë të kontrolloj motorin stepper në mënyrë që të prodhojë një shënim në të njëjtin çelës si ai që shtyp në ekranin Nextion. Motori stepper do të prodhojë shënimin duke u rrotulluar në një frekuencë të caktuar.

1. Shtoni foton e Piano Stepper Motor në faqen 2.

  • Zgjidhni "page2" nga dritarja e Faqes
  • Zgjidhni "Picture" nga dritarja Toolbox
  • Klikoni dy herë mbi atributin "pic" nga dritarja Atribut
  • Zgjidhni imazhin "Stepper Motor Piano" nga lista
  • Shtypni butonin OK

2. Shtoni pika të nxehta mbi secilin çelës në imazhin e Stepper Motor Piano

a) Zgjidhni "Hotspot" nga dritarja Toolbox

b) Tërhiqeni dhe ndryshoni madhësinë e Hotspot në mënyrë që të mbulojë çelësin "A". Kjo është zona që do t'i përgjigjet shtypjeve të "A-key". Do të jetë transparente kur ngarkohet në tabelën Nextion.

c) Zgjidhni skedën "Prekni Ngjarjen e Shtypit" në dritaren e Ngjarjes.

d) Shkruani sa vijon në seksionin "Kodi i Përdoruesit"

shtyp 1

e) Përsëritni hapat 2a-2d për secilin nga çelësat e tjerë sipas tabelës më poshtë.

** Kur shtypet çelësi specifik, tabela Nextion Enhanced do të transmetojë numrin e printuar, i ndjekur nga tre vlera 0x00. Vlerat përfundimtare mund të injorohen.

3. Butoni "Back" do të më lejojë të kthehem në ndërfaqen e mëparshme në tabelën Nextion Enhanced.

a) Krijoni një pikë të nxehtë për butonin e pasmë duke përdorur procesin e mëposhtëm:

  1. Zgjidhni Hotspot nga dritarja Toolbox
  2. Zhvendos/ndrysho madhësinë e pikës së nxehtë mbi butonin "Prapa"

b) Zgjidhni dritaren e Ngjarjes.

c) Sigurohuni që të jetë përzgjedhur skeda “Touch press event”

d) Shkruani: faqe faqe 1 në seksionin Kodi i Përdoruesit

Hapi 9: Debugging

Debugging
Debugging
Debugging
Debugging

Gjëja e mirë për Redaktorin Nextion, është se ju mund të provoni funksionalitetin e ndërfaqes para se ta ngarkoni në tabelë.

  1. Ruani projektin duke shtypur butonin ruaj në shiritin e detyrave
  2. Pastaj shtypni butonin e përpilimit
  3. Pastaj shtypni butonin e korrigjimit.

Do të shfaqet një dritare emulator Nextion. Kjo dritare duhet të përgjigjet në të njëjtën mënyrë si moduli Nextion pasi skedari Nextion të jetë ngarkuar në tabelë. Ky emulator është një mënyrë e shkëlqyeshme për të provuar ndërfaqen tuaj dhe për t'u siguruar që duket dhe funksionon siç pritej. Pasi isha i kënaqur me ndërfaqen (et), transferova skedarin e përpiluar Nextion në një kartë SD:

  1. Shtypni butonin e përpilimit
  2. Skedari → Hapni Dosjen e Ndërtimit
  3. Zgjidhni skedarin *.tft me të njëjtin emër si ai i projektit.
  4. Kopjoni atë në një kartë micro SDHC
  5. Futni kartën SDHC në folenë e kartës SD në ekranin Nextion
  6. Ndizni bordin Nextion

Prisni që skedari të ndizet në tabelën Nextion dhe do të shihni një mesazh që duket kështu:

Hapi tjetër është të fikni bordin Nextion dhe të hiqni kartën SDHC.

Hapi 10: ARDUINO SETUP

Ekrani Nextion Enhanced është gati, dhe tani është radha e Arduino. Arduino është programuar për të marrë mesazhe serike nga ekrani i Përforcuar Nextion dhe kontrolluar motorin stepper bazuar në shkronjat ose numrat e marrë. Shkronjat ose numrat unikë që transmetohen nga tabela Nextion, lejojnë që Arduino të kuptojë se çfarë butoni po shtypet dhe i përdor ata numra ose shkronja për të kontrolluar rrjedhën e kodit në mënyrë që të kryejë veprime specifike të motorit stepper.

Biblioteka SoftwareSerial përdoret për të mundësuar komunikimin serik midis Arduino dhe ekranit Nextion Enhanced. Biblioteka AccelStepper përdoret për të thjeshtuar procesin e kontrollit të motorit stepper.

Vendosni një shpejtësi maksimale dhe minimale për motorët dhe disa çelësa të paracaktuar. Motorshtë e mundur të "rregulloni" motorin duke përdorur ndërfaqen e parë të ekranit Nextion. Ju mund ta bëni këtë duke e bërë motorin të kthehet më shpejt ose më ngadalë derisa të arrini çelësin e dëshiruar. Këtu aplikacioni "Tuner T1 Free" nga dyqani i aplikacioneve iTunes përdoret për të identifikuar KUR motori po prodhonte një shënim në çelës. Kur motori po prodhonte një shënim specifik, unë do të shkruaja shpejtësinë e motorit stepper që ishte shtypur në dritaren e monitorit Serial. Sa herë që shpejtësia e motorit rritet ose zvogëlohet, kodi Arduino printon shpejtësinë në dritaren e serisë së monitorit. Unë pastaj i përdor këto shpejtësi për të azhurnuar grupin e shënimeve në kodin Arduino. Grupi i shënimeve mban shpejtësitë e motorit stepper që korrespondojnë me shënimet individuale në piano. Ekrani Nextion në thelb dërgon numrin e indeksit të shënimit për të luajtur nga grupi i shënimeve në Arduino, duke thjeshtuar kështu kodin e kërkuar për të rrotulluar motorin me 16 shpejtësi të ndryshme.

Hapi 11: Përfundimi+Skemat

Përfundimi+Skemat
Përfundimi+Skemat
Përfundimi+Skemat
Përfundimi+Skemat
Përfundimi+Skemat
Përfundimi+Skemat
Përfundimi+Skemat
Përfundimi+Skemat

Me të gjitha bordet e fikura, hapi tjetër është të bëni të gjitha lidhjet e nevojshme të harduerit me Arduino. Ekzistojnë dy pjesë kryesore për t'u marrë parasysh:

  • Shoferi i motorit Stepper dhe motori
  • Bordi i Përmirësuar Nextion.

Ju duhet të siguroheni që përdorni një burim të jashtëm energjie për të fuqizuar motorin stepper dhe bordin Nextion Enhanced. Vetë bordi i drejtuesit të motorit stepper ishte mundësuar nga Arduino pa asnjë problem, por motori stepper aktual do të ketë nevojë për një furnizim me energji të jashtme. Bordi Nextion Enhanced gjithashtu ka nevojë për një furnizim me energji të jashtme sepse kërkon më shumë rrymë sesa Arduino mund të sigurojë në mënyrë të sigurt.

Mbani shënim furnizimin me energji të jashtme të përdorur. Unë u sigurova që kisha një furnizim me energji mjaft të madhe për të trajtuar kërkesat e energjisë të projektit dhe shfrytëzova fletët e të dhënave përkatëse për të më ndihmuar të identifikoja ato kërkesa. Nëse planifikoni të përsërisni këtë projekt, sigurohuni që të merrni parasysh kërkesat specifike të fuqisë së motorit tuaj, drejtuesit të motorit tuaj dhe ekranit tuaj Nextion. Arduino mund të furnizojë vetëm 400mA rrymë nga kunja 5V. Me gjithçka të lidhur, aktivizova ekranin Nextion, pastaj aktivizova Arduino. Motori stepper fillon të rrotullohet automatikisht. Kam përdorur ndërfaqen e parë për të ndryshuar drejtimin dhe/ose shpejtësinë e motorit. Ju lutemi vini re shpejtësitë maksimale dhe minimale të vendosura në kodin Arduino. Unë pastaj përdor butonin Next për të kaluar në ndërfaqen e dytë në ekranin Nextion Enhanced. Ndërfaqja e dytë duket si një piano. Dhe kur shtyp një buton në ekranin e pianos, motori ndryshon shpejtësinë që të përputhet me shënimin që kam shtypur.

Kjo është ajo. Tani ju jeni bërë.

Shpresoj se do t'ju pëlqejë

Recommended: