Kazalo:

Predvajajte pesmi s koračnim motorjem !!: 11 korakov (s slikami)
Predvajajte pesmi s koračnim motorjem !!: 11 korakov (s slikami)

Video: Predvajajte pesmi s koračnim motorjem !!: 11 korakov (s slikami)

Video: Predvajajte pesmi s koračnim motorjem !!: 11 korakov (s slikami)
Video: ŠC Kranj - Projektne naloge dijakov mehatronike na SŠER (2011 in 2012) 2024, November
Anonim
Predvajajte pesmi z uporabo koračnega motorja !!
Predvajajte pesmi z uporabo koračnega motorja !!

Ta projekt govori o oblikovanju preprostega dinamičnega vmesnika, ki bo omogočal interakcijo s koračnim motorjem na dva različna načina.

Prvi vmesnik bo nadzoroval smer in hitrost koračnega motorja z uporabo preprostega grafičnega vmesnika, ki ima puščici levo in desno za smer ter puščici gor in dol za hitrost.

Drugi vmesnik bo bolj glasbene narave, kar bo omogočalo predvajanje preprostih pesmi z uporabo rotacijskih zvokov koračnega motorja.

1. korak: potrebni deli

  1. Arduino UNO (ali združljiva plošča)
  2. Nextion Enhanced NX4827K043 iz iTead Studia.
  3. Razširitvena plošča Nextion za zaslon Nextion Enhanced
  4. Micro SDHC kartica
  5. Bralnik/zapisovalnik kartic SD - za prenos datotek iz računalnika na kartico SDHC
  6. Ogledna plošča
  7. Koračni motor (42BYGHM809)
  8. 100 uF kondenzator Duinotech gonilnik koračnega motorja (L298) - [del JayCar# XC4492].
  9. Zunanji napajalnik - npr. Regulirano laboratorijsko napajanje

2. korak: Ustvarite vmesnik

Ustvarjanje vmesnika
Ustvarjanje vmesnika

Prvi korak je ustvarjanje vmesnikov v urejevalniku Nextion v računalniku.

Urejevalnik Nextion Editor lahko prenesete tukaj.

Naložite Nextion Editor in ustvarite nov projekt. Ko začnete nov projekt, se prepričajte, da ste med razpoložljivimi možnostmi izbrali pravo napravo Nextion. Tu se uporablja naprava »Nextion Enhanced NX4827K043«.

  1. Izberite Datoteka → Novo Izberite ime projekta in ga shranite na ustrezno mesto na trdem disku.
  2. Med razpoložljivimi možnostmi izberite ustrezno napravo Nextion

    Moja naprava ima velikost zaslona 480 x 272 slikovnih pik

3. korak: Viri projekta

Viri projekta
Viri projekta
Viri projekta
Viri projekta
Viri projekta
Viri projekta

V svoj projekt morate uvoziti vse vire (npr. Slike in pisave) in nato oblikovati vmesnik, ki bo ustrezal vašim posebnim potrebam.

Pisave

Ne uporabljajo se posebne pisave, če pa želite na zaslon vnesti katero koli besedilo, boste morali v urejevalniku Nextion ustvariti pisavo.

A) Orodja → Generator pisav

  1. Izberite višino pisave (npr. 16).
  2. Izberite vrsto kode pisave (npr. Iso-8859-2)
  3. Izberite, ali želite, da je pisano krepko ali ne
  4. Izberite pisavo, ki jo želite uporabiti (npr. Arial)
  5. Izberite razmik (npr. 0)
  6. In končno dajte tej pisavi edinstveno ime (npr. Arial_16)
  7. Pritisnite gumb »Ustvari pisavo« v spodnjem desnem kotu okna.

Ko pritisnete gumb Ustvari pisavo, boste lahko pisavo shranili z razširitvijo *.zi in vas samodejno vprašal, ali želite "Dodati ustvarjeno pisavo?" k projektu. Če ste s pisavo zadovoljni in bi jo radi uporabili v svojem projektu, izberite »Da«, sicer izberite »Ne« in začnite znova.

V projekt ne morete dodati nobenega besedila, dokler niste uvozili ali dodali pisave. Vse vaše pisave projekta bodo prikazane v oknu pisav.

** Opomba: Vsaka pisava bo samodejno indeksirana, tako da se lahko po potrebi sklicujete na pisavo programsko. Pravzaprav je vsem virom, ki jih dodate v projekt, dodeljena številka in se za vsak dodani vir poveča za eno. Za nekatere vire je ta številka prikazana levo od predmeta. Npr. Na zgornji sliki ima pisava Courier indeks 0, pisava Arial pa indeks 1. Če izbrišete vir, se lahko številka indeksa za ta element spremeni.

4. korak: Uvoz slik

Uvoz slik
Uvoz slik
Uvoz slik
Uvoz slik

V napravi Nextion Enhanced NX4827K043 mora biti vsaka slika velikosti 480 x 272 slikovnih pik.

Naslednje slike bomo zdaj uvozili v urejevalnik Nextion, da jih bomo lahko uporabili v projektu. V spodnjem levem kotu urejevalnika Nextion je okno vira »Pisave in slika«:

  1. Izberite zavihek Slika
  2. Nato izberite ikono »+«
  3. Odprlo se bo pogovorno okno, v katerem lahko izberete slike, ki jih želite dodati projektu. Izberete lahko več kot eno sliko za uvoz.

Za Splash Screen lahko naredite katero koli sliko po vaši izbiri.

Za vmesnik koračnega motorja in klavirja lahko prenesete zgornjo sliko.

5. korak: Ustvarjanje grafičnega vmesnika

Ustvarjanje grafičnega vmesnika
Ustvarjanje grafičnega vmesnika

Vsak vir bo dobil ID glede na vrstni red dodajanja in vsak vir bo samodejno dobil ime.

Lahko spremenite ime vira ali predmeta, ne morete pa urejati ID -ja.

Tri strani bodo oblikovane tako, da izpolnjujejo zgoraj opisana merila.

Če želite dodati stran, preprosto izberite ikono »Dodaj« v »oknu strani«. Dodajajte strani, dokler ne dobite skupaj 3 strani (stran0, stran1 in stran2).

Korak 6: Stran 0-Začetni zaslon

Stran 0-Začetni zaslon
Stran 0-Začetni zaslon

Ko je Nextion vklopljen, se bo začetni zaslon prikazal 3 sekunde, preden se prikaže zaslon krmilnika koračnega motorja. Za ustvarjanje začetnega zaslona sem uporabil naslednje korake.

Dodajte sliko za začetni zaslon na stran 0

  • V oknu strani izberite »stran 0«
  • V oknu orodjarne izberite »Slika«
  • Dvokliknite atribut “pic” v oknu Attribute
  • S seznama izberite sliko za začetni zaslon
  • Pritisnite gumb OK

2. Dodajte časovnik na stran 0

  • V oknu Toolbox izberite Timer
  • V oknu Atribut spremenite atribut »tim« s 400 na 3000
  • V razdelek »Uporabniška koda« v dogodku Timer (0) vnesite »page page1« (0) Ta dogodek časovnika bo Nextion skočil na stran 1 po 3 sekundah.

Ta časovnik časovnika bo Nextion skočil na stran 1 po 3 sekundah.

Korak 7: Stran 1 - Krmilnik koračnega motorja

Ta stran je zasnovana za nadzor smeri in hitrosti koračnega motorja. Na voljo bosta dva gumba za smer (levo in desno) in dva gumba za hitrost (hitrejši in počasnejši). In še en gumb za skok na naslednjo stran (tj. Stran Stepper Motor Piano). Ti gumbi bodo preslikani tudi v razširitveno ploščo Nextion. Taktični gumbi razširitvene plošče bodo zagotovili alternativno metodo krmiljenja motorja.

Dodajte sliko krmilnika koračnega motorja na stran 1

  • V oknu strani izberite “page1”
  • V oknu orodjarne izberite »Slika«
  • Dvokliknite atribut “pic” v oknu Attribute
  • S seznama izberite sliko »Krmilnik koračnega motorja«
  • Pritisnite gumb OK

2. Dodajte vroče točke nad vsak gumb na sliki krmilnika koračnega motorja

a) V oknu Toolbox izberite “Hotspot”

b) Povlecite in spremenite velikost vroče točke, tako da pokriva gumb »Levo«

  • To je področje, ki se bo odzvalo na pritiske na levi gumb.
  • Ko bo naložen na ploščo Nextion, bo pregleden

c) V oknu Dogodek izberite zavihek »Pritisnite na dogodek«

d) Počistite potrditveno polje »Pošlji ID komponente«

e) V razdelek »Uporabniška koda« okna Dogodek vnesite naslednjo kodo:

natisni "L"

f) Ime predmeta vroče točke spremenite v »Levo« po naslednjem postopku:

  • V oknu atributov izberite objname in spremenite besedilo iz »m0« v »Levo«
  • Spreminjanje imena predmeta vroče točke ni obvezno; vendar bo kasneje pomagalo.

g) Ponovite korake 2a-2f za vsak drugi gumb v naslednjem vrstnem redu in v skladu s spodnjo tabelo

  • Prav
  • Hitreje
  • Počasnejši
  • Naslednji

Decimalna koda ASCII za črko "L" je 76, zato ko zaslon Nextion Enhanced pošlje črko L v Arduino z ukazom "L" za tiskanje, bo Arduino prejel številko 76. Ko pritisnete desni gumb, bo prejel številko 82 itd. Gumb »Naprej« ne prenaša ničesar na Arduino, preprosto je tam, da skočite na naslednji vmesnik na zaslonu Nextion Enhanced, zato je razlog, zakaj je uporabniška koda za ta gumb drugačna.

3. Označite gumbe na razširitveni plošči

a) V oknu strani izberite “page0” in nato “page1”

b) V oknu Dogodek izberite zavihek »Predinicializiraj dogodek«

c) V polje »Uporabniška koda« na zavihku Predinicializiraj dogodek vnesite naslednjo kodo:

  • cfgpio 5, 1, levo
  • cfgpio 2, 1, desno
  • cfgpio 4, 1, Hitreje
  • cfgpio 3, 1, počasneje
  • cfgpio 1, 1, Naprej

*** Opomba: Med cfgpio in številko poleg njega je en presledek, v vsaki vrstici pa ni drugih presledkov. Če vnesete dodatne presledke, se ne bo prevedel. Ta koda preslika gumbe na razširitveni plošči v objekte vroče točke na strani 1. Na primer, ko pritisnete gumb Levo (IO5) na razširitveni plošči, simulira dejanja ali dogodke, povezane z vročo točko m0/Levo. V tem primeru bo Arduinu poslal vrednost "L" (76).

Številka IO je označena v oklepaju na razširitveni plošči.

8. korak: Stran 2 - Klavir z koračnim motorjem

Stran 2 - Klavir z koračnim motorjem
Stran 2 - Klavir z koračnim motorjem
Stran 2 - Klavir z koračnim motorjem
Stran 2 - Klavir z koračnim motorjem

njegov vmesnik bo oblikovan tako, da bo videti kot klavir, in mi bo omogočal nadzor koračnega motorja tako, da bo ustvarjal noto v isti tipki kot tisto, ki jo pritisnem na zaslonu Nextion. Koračni motor bo zapisoval z vrtenjem pri določeni frekvenci.

1. Dodajte sliko klavirja koračnega motorja na stran 2.

  • V oknu strani izberite “page2”
  • V oknu orodjarne izberite »Slika«
  • Dvokliknite atribut “pic” v oknu Attribute
  • S seznama izberite sliko »Stepper Motor Piano«
  • Pritisnite gumb OK

2. Dodajte vroče točke nad vsako tipko na sliki klavirja koračnega motorja

a) V oknu Toolbox izberite “Hotspot”

b) Povlecite in spremenite velikost vroče točke, tako da pokriva tipko "A." To je področje, ki se bo odzvalo na pritiske tipke "A". Ko bo naloženo na ploščo Nextion, bo pregledno.

c) V oknu Dogodek izberite zavihek »Pritisnite na dogodek«.

d) V razdelek »Uporabniška koda« vnesite naslednje

tisk 1

e) Ponovite korake 2a-2d za vsako drugo tipko, kot je prikazano v spodnji tabeli.

** Ko pritisnete določeno tipko, bo plošča Nextion Enhanced poslala natisnjeno številko, ki ji sledijo tri vrednosti 0x00. Zaključne vrednosti lahko prezrete.

3. Gumb »Nazaj« mi omogoča skok na prejšnji vmesnik na plošči Nextion Enhanced.

a) Ustvarite vročo točko za gumb za nazaj po naslednjem postopku:

  1. V oknu Toolbox izberite Hotspot
  2. Premaknite/spremenite velikost vroče točke preko gumba »Nazaj«

b) Izberite okno Dogodek.

c) Prepričajte se, da je izbran zavihek »Dotik na dogodek«

d) Vnesite: stran page1 v razdelek Uporabniška koda

9. korak: Odpravljanje napak

Odpravljanje napak
Odpravljanje napak
Odpravljanje napak
Odpravljanje napak

Dobra stvar pri urejevalniku Nextion je, da lahko preizkusite delovanje vmesnika, preden ga naložite na ploščo.

  1. Shranite projekt s pritiskom na gumb za shranjevanje v opravilni vrstici
  2. Nato pritisnite gumb za prevajanje
  3. Nato pritisnite gumb za odpravljanje napak.

Prikaže se okno emulatorja Nextion. To okno bi se moralo odzvati na enak način kot modul Nextion, potem ko je datoteka Nextion naložena na ploščo. Ta emulator je odličen način, da preizkusite svoj vmesnik in se prepričate, da deluje in deluje po pričakovanjih. Ko sem bil zadovoljen z vmesniki, sem sestavljeno datoteko Nextion prenesel na kartico SD:

  1. Pritisnite gumb za prevajanje
  2. Datoteka → Odpri mapo zgradbe
  3. Izberite datoteko *.tft z istim imenom kot ime projekta.
  4. Kopirajte ga na kartico micro SDHC
  5. Kartico SDHC vstavite v režo za kartico SD na zaslonu Nextion
  6. Vklopite ploščo Nextion

Počakajte, da datoteka utripa na plošči Nextion, in prikazalo se bo sporočilo, ki izgleda takole:

Naslednji korak je, da izklopite ploščo Nextion in odstranite kartico SDHC.

10. korak: NASTAVITEV ARDUINO

Zaslon Nextion Enhanced je pripravljen, zdaj pa je na vrsti Arduino. Arduino je programiran za sprejemanje serijskih sporočil z zaslona Nextion Enhanced in nadzor koračnega motorja na podlagi prejetih črk ali številk. Edinstvene črke ali številke, ki se prenašajo s plošče Nextion, omogočajo Arduinu, da razume, kateri gumb je pritisnjen, in uporablja te številke ali črke za nadzor pretoka kode za izvajanje posebnih dejanj koračnega motorja.

Knjižnica SoftwareSerial se uporablja za omogočanje serijske komunikacije med Arduinom in zaslonom Nextion Enhanced. Knjižnica AccelStepper se uporablja za poenostavitev postopka krmiljenja koračnega motorja.

Nastavite največjo in najmanjšo hitrost motorjev ter nekaj vnaprej določenih tipk. Motor je mogoče "nastaviti" s prvim vmesnikom zaslona Nextion. To lahko storite tako, da motor hitreje ali počasneje obrača, dokler ne dosežete želene tipke. Tu se aplikacija »Tuner T1 Free« iz trgovine aplikacij iTunes uporablja za ugotavljanje KADA je motor v ključu ustvaril opombo. Ko je motor ustvarjal določeno noto, bi zapisal hitrost koračnega motorja, ki je bila natisnjena na okno serijskega monitorja. Vsakič, ko se hitrost motorja poveča ali zmanjša, koda Arduino natisne hitrost v okno serijskega monitorja. Nato s temi hitrostmi posodobim matriko Notes v kodi Arduino. Niz not vsebuje hitrosti koračnega motorja, ki ustrezajo posameznim notam na klavirju. Zaslon Nextion v bistvu pošlje indeksno številko note za predvajanje iz matrike not na Arduinu, s čimer poenostavi kodo, potrebno za vrtenje motorja pri 16 različnih hitrostih.

11. korak: Dokončanje+sheme

Dokončanje+sheme
Dokončanje+sheme
Dokončanje+sheme
Dokončanje+sheme
Dokončanje+sheme
Dokončanje+sheme
Dokončanje+sheme
Dokončanje+sheme

Ko so vse plošče izklopljene, je naslednji korak vzpostaviti vse potrebne strojne povezave z Arduinom. Upoštevati je treba dva poglavja:

  • Gonilnik in motor koračnega motorja
  • Plošča Nextion Enhanced.

Za napajanje koračnega motorja in plošče Nextion Enhanced morate uporabiti zunanji vir napajanja. Voznikovo ploščo koračnega motorja je brez težav poganjal Arduino, vendar bo dejanski koračni motor potreboval zunanji napajalnik. Plošča Nextion Enhanced potrebuje tudi zunanji napajalnik, ker potrebuje več toka, kot ga Arduino lahko varno zagotovi.

Upoštevajte uporabljeno zunanje napajanje. Poskrbel sem, da imam dovolj velik napajalnik za izpolnjevanje potreb po energiji projekta, in uporabil ustrezne podatkovne liste, ki so mi pomagale prepoznati te zahteve. Če nameravate ponoviti ta projekt, upoštevajte posebne zahteve glede moči vašega motorja, gonilnika motorja in zaslona Nextion. Arduino lahko napaja samo 400 mA toka iz 5V zatiča. Ko sem vse priklopil, sem vklopil zaslon Nextion, nato pa Arduino. Koračni motor se začne samodejno vrteti. S prvim vmesnikom sem spremenil smer in/ali hitrost motorja. Upoštevajte največjo in najmanjšo hitrost, nastavljeno v kodi Arduino. Nato sem z gumbom Naprej skočil na drugi vmesnik na zaslonu Nextion Enhanced. Drugi vmesnik je videti kot klavir. In ko pritisnem tipko na klavirskem zaslonu, motor spremeni hitrost, da se ujema z noto, ki sem jo pritisnil.

To je to. Zdaj ste končali.

Upam, da vam bo všeč

Priporočena: