Sadržaj:

Reproducirajte pjesme pomoću koračnog motora !!: 11 koraka (sa slikama)
Reproducirajte pjesme pomoću koračnog motora !!: 11 koraka (sa slikama)

Video: Reproducirajte pjesme pomoću koračnog motora !!: 11 koraka (sa slikama)

Video: Reproducirajte pjesme pomoću koračnog motora !!: 11 koraka (sa slikama)
Video: SUPERTALENT 2018-Jankova reakcija na nastup "LEVITATORA" 2024, Studeni
Anonim
Reproducirajte pjesme pomoću koračnog motora !!
Reproducirajte pjesme pomoću koračnog motora !!

Ovaj projekt govori o dizajniranju jednostavnog dinamičkog sučelja koje će omogućiti interakciju s koračnim motorom na dva različita načina.

Prvo sučelje kontrolirat će smjer i brzinu koračnog motora upotrebom jednostavnog grafičkog sučelja, koje ima strelice lijevo i desno za smjer, a strelice gore i dolje za brzinu.

Drugo sučelje bit će više glazbene prirode što će omogućiti reprodukciju jednostavnih pjesama pomoću rotacijskih zvukova koračnog motora.

Korak 1: Potrebni dijelovi

  1. Arduino UNO (ili kompatibilna ploča)
  2. Nextion Enhanced NX4827K043 iz iTead Studija.
  3. Nextion ploča za proširenje za Nextion Enhanced zaslon
  4. Micro SDHC kartica
  5. Čitač/pisač SD kartica - za prijenos datoteka s računala na SDHC karticu
  6. Oglasna ploča
  7. Koračni motor (42BYGHM809)
  8. 100 uF kondenzatorDuinotech pokretač koračnog motora (L298) - [JayCar dio# XC4492].
  9. Vanjsko napajanje - npr. Regulirano laboratorijsko napajanje

Korak 2: Stvaranje sučelja

Izrada sučelja
Izrada sučelja

Prvi korak je stvaranje sučelja u Nextion Editoru na vašem računalu.

Nextion Editor možete preuzeti ovdje.

Učitajte Nextion Editor i izradite novi projekt. Kada započinjete novi projekt, morate se pobrinuti da odaberete ispravan Nextion uređaj iz dostupnih opcija. Ovdje se koristi uređaj “Nextion Enhanced NX4827K043”.

  1. Odaberite Datoteka → NovoIzaberite naziv projekta i spremite ga na odgovarajuće mjesto na tvrdom disku.
  2. Od dostupnih opcija odaberite odgovarajući Nextion uređaj

    Moj uređaj ima veličinu zaslona 480 x 272 piksela

Korak 3: Resursi projekta

Resursi projekta
Resursi projekta
Resursi projekta
Resursi projekta
Resursi projekta
Resursi projekta

Morate uvesti sve resurse (npr. Slike i fontove) u svoj projekt, a zatim dizajnirati sučelje prema vašim specifičnim potrebama.

Krstionica

Ne koriste se posebni fontovi, ali ako želite napisati bilo koji tekst na zaslon, morat ćete generirati font u Nextion Editoru.

A) Alati → Generator fontova

  1. Odaberite visinu fonta (npr. 16).
  2. Odaberite vrstu koda fonta (npr. Iso-8859-2)
  3. Odaberite želite li da bude podebljano ili ne
  4. Odaberite font koji želite koristiti (npr. Arial)
  5. Odaberite razmak (npr. 0)
  6. I na kraju dajte ovom fontu jedinstveno ime (npr. Arial_16)
  7. Pritisnite gumb "Generiraj font" u donjem desnom kutu prozora.

Nakon što pritisnete gumb Generiraj font, moći ćete spremiti font pomoću ekstenzije *.zi i automatski će vas upitati želite li "Dodati generirani font?" na projekt. Ako ste zadovoljni fontom i želite ga koristiti u svom projektu, odaberite "Da", u protivnom odaberite "Ne" i počnite ponovno.

Ne možete dodati nikakav tekst u svoj projekt dok ne uvezete ili dodate font. Svi vaši fontovi projekta bit će prikazani u prozoru fontova.

** Napomena: Svaki font će se automatski indeksirati, tako da se po potrebi možete gramatički pozivati na font. Zapravo, svim resursima koje dodate svom projektu dodjeljuje se broj koji se povećava za svaki dodani resurs. Za neke resurse ovaj broj možete vidjeti lijevo od stavke. Npr. Na gornjoj slici font Courier ima indeks 0, dok font Arial ima indeks 1. Ako izbrišete resurs, broj indeksa se za tu stavku može promijeniti.

Korak 4: Uvoz slika

Uvoz slika
Uvoz slika
Uvoz slika
Uvoz slika

Na uređaju Nextion Enhanced NX4827K043 svaka slika mora biti veličine 480 x 272 piksela.

Sada ćemo uvesti sljedeće slike u Nextion Editor kako bismo ih mogli koristiti u projektu. U donjem lijevom kutu uređivača Nextion nalazi se prozor resursa "Fontovi i slika":

  1. Odaberite karticu Slika
  2. Zatim odaberite ikonu "+"
  3. Otvorit će se dijaloški okvir koji će vam omogućiti odabir slika koje ćete dodati projektu. Možete odabrati više slika za uvoz.

Za Splash Screen možete napraviti bilo koju sliku prema vlastitom izboru.

A za sučelje koračnih motora i klavir možete preuzeti gornju sliku.

Korak 5: Izrada grafičkog sučelja

Izrada GUI -ja
Izrada GUI -ja

Svaki će izvor dobiti ID na temelju redoslijeda dodavanja, a svaki će izvor automatski dobiti ime.

Možete promijeniti naziv resursa ili objekta, ali ne možete urediti ID.

Tri stranice će biti dizajnirane tako da zadovoljavaju gore opisane kriterije.

Da biste dodali stranicu, jednostavno odaberite ikonu "Dodaj" u "prozoru stranice". I nastavljajte dodavati stranice dok ne dobijete ukupno 3 stranice (stranica0, stranica1 i stranica2).

Korak 6: Stranica 0-Početni zaslon

Stranica 0-Početni zaslon
Stranica 0-Početni zaslon

Kad je Nextion uključen, početni zaslon bit će prikazan 3 sekunde prije nego što se prikaže zaslon upravljača koračnim motorom. Koristio sam sljedeće korake za stvaranje početnog zaslona.

Dodajte sliku uvodnog zaslona na stranicu 0

  • U prozoru stranice odaberite “stranica 0”
  • Odaberite "Slika" u prozoru Toolbox
  • Dvaput kliknite atribut “pic” u prozoru Atribut
  • Odaberite sliku splash zaslona s popisa
  • Pritisnite tipku OK

2. Dodajte mjerač vremena na stranicu 0

  • Odaberite Timer u prozoru Toolbox
  • Promijenite atribut "tim" s 400 na 3000 u prozoru Atributi
  • Unesite “page page1” u odjeljak User code u Timer Event (0) Ovaj timer događaj će natjerati Nextion da skoči na page1 nakon 3 sekunde.

Ovaj događaj mjerača vremena učinit će Nextion skokom na stranicu 1 nakon 3 sekunde.

Korak 7: Stranica 1 - Upravljač koračnim motorom

Ova stranica je dizajnirana za kontrolu smjera i brzine koračnog motora. Postojat će dva gumba za smjer (lijevo i desno) i dva gumba za brzinu (brže i sporije). I još jedan gumb za prelazak na sljedeću stranicu (tj. Stranicu Stepper Motor Piano). Ovi će gumbi također biti mapirani na ploču za proširenje Nextion. Taktilni gumbi na ploči za proširenje pružit će alternativnu metodu upravljanja motorom.

Dodajte sliku upravljača koračnim motorom na stranicu 1

  • U prozoru stranice odaberite “page1”
  • Odaberite "Slika" u prozoru Toolbox
  • Dvaput kliknite atribut “pic” u prozoru Atribut
  • Odaberite sliku "Kontroler koračnog motora" s popisa
  • Pritisnite tipku OK

2. Dodajte žarišne točke preko svakog gumba na slici kontrolera koračnog motora

a) Odaberite "Hotspot" u prozoru Toolbox

b) Povucite i promijenite veličinu žarišne točke tako da pokriva gumb "Lijevo"

  • Ovo je područje koje će reagirati na pritiske "lijevog gumba".
  • Bit će transparentno kada se učita na Nextion ploču

c) Odaberite karticu "Dodirni Pritisnite događaj" u prozoru Događaj

d) Poništite potvrdni okvir "Pošalji komponentni ID"

e) Upišite sljedeći kôd u odjeljak "Korisnički kôd" prozora Događaj:

ispis "L"

f) Promijenite naziv objekta žarišne točke u "Lijevo" na sljedeći način:

  • Odaberite objname u prozoru atributa i promijenite tekst iz "m0" u "Lijevo"
  • Promjena naziva objekta žarišne točke nije obvezna; no kasnije će pomoći.

g) Ponovite korake 2a-2f za svaki drugi gumb sljedećim redoslijedom i prema donjoj tablici

  • Pravo
  • Brže
  • Sporije
  • Sljedeći

Decimalni ASCII kôd za slovo “L” je 76, stoga kada zaslon Nextion Enhanced šalje slovo L Arduinu pomoću naredbe za ispis “L”, Arduino će primiti broj 76. Kad se pritisne desna tipka, dobit će broj 82 itd. Gumb "Dalje" ne prenosi ništa na Arduino, on je jednostavno tu da skoči na sljedeće sučelje na zaslonu Nextion Enhanced, stoga je razlog zašto se korisnički kod razlikuje za taj gumb.

3. Označite gumbe na ploči za proširenje

a) U prozoru stranice odaberite “page0”, a zatim “page1”

b) U prozoru Događaj odaberite karticu „Predinicijalizacija događaja“

c) Unesite sljedeći kôd u polje "Korisnički kôd" na kartici Predinicijalizacija događaja:

  • cfgpio 5, 1, lijevo
  • cfgpio 2, 1, Desno
  • cfgpio 4, 1, Brže
  • cfgpio 3, 1, Sporije
  • cfgpio 1, 1, Dalje

*** Napomena: Postoji jedan razmak između cfgpio i broja pored njega, ali nema drugih razmaka u svakom retku. Ako uvedete dodatne razmake, neće se sastaviti. Ovaj kod preslikava gumbe na ploči za proširenje u objekte žarišne točke na stranici 1. Na primjer, kada se pritisne lijevi gumb (IO5) na ploči za proširenje, on simulira radnje ili događaje povezane s žarišnom točkom m0/Lijevo. U tom će slučaju Arduinu poslati vrijednost "L" (76).

IO broj je označen unutar zagrada na ploči za proširenje.

Korak 8: Stranica 2 - Klavir s koračnim motorom

Stranica 2 - Klavir s koračnim motorom
Stranica 2 - Klavir s koračnim motorom
Stranica 2 - Klavir s koračnim motorom
Stranica 2 - Klavir s koračnim motorom

njegovo sučelje bit će dizajnirano tako da izgleda poput klavira i dopustit će mi da kontroliram koračni motor tako da proizvodi notu u istoj tipki kao onu koju pritisnem na zaslonu Nextion. Koračni motor će proizvoditi notu rotirajući se na određenoj frekvenciji.

1. Dodajte sliku klavira Stepper Motor na stranicu2.

  • Odaberite „page2“u prozoru Page
  • Odaberite "Slika" u prozoru Toolbox
  • Dvaput kliknite atribut “pic” u prozoru Atribut
  • Odaberite sliku “Stepper Motor Piano” s popisa
  • Pritisnite tipku OK

2. Dodajte žarišne točke iznad svake tipke na slici glasoviranog koračnog motora

a) Odaberite "Hotspot" u prozoru Toolbox

b) Povucite i promijenite veličinu žarišne točke tako da pokriva tipku "A". Ovo je područje koje će reagirati na pritiske "tipke A". Bit će transparentno kada se prenese na Nextion ploču.

c) Odaberite karticu "Dodirni Pritisnite događaj" u prozoru Događaj.

d) U odjeljak "Korisnički kod" upišite sljedeće

ispis 1

e) Ponovite korake 2a-2d za svaku drugu tipku prema donjoj tablici.

** Kad se pritisne određena tipka, ploča Nextion Enhanced će prenijeti ispisani broj, nakon čega slijede tri vrijednosti 0x00. Završne vrijednosti se mogu zanemariti.

3. Gumb "Natrag" omogućit će mi da se vratim na prethodno sučelje na ploči Nextion Enhanced.

a) Izradite žarišnu točku za gumb Natrag pomoću sljedećeg postupka:

  1. Odaberite Hotspot u prozoru Toolbox
  2. Pomaknite/promijenite veličinu žarišne točke preko gumba "Natrag"

b) Odaberite prozor Događaj.

c) Provjerite je li odabrana kartica “Touch press event”

d) Upišite: stranica page1 u odjeljak Korisnički kod

Korak 9: Otklanjanje pogrešaka

Otklanjanje pogrešaka
Otklanjanje pogrešaka
Otklanjanje pogrešaka
Otklanjanje pogrešaka

Dobra stvar u vezi Nextion Editor -a je to što možete isprobati funkcionalnost sučelja prije nego što ga postavite na ploču.

  1. Spremite projekt pritiskom na gumb spremi na traci zadataka
  2. Zatim pritisnite gumb za kompajliranje
  3. Zatim pritisnite gumb za otklanjanje pogrešaka.

Pojavit će se prozor emulatora Nextion. Ovaj prozor trebao bi reagirati na isti način kao Nextion modul nakon što se Nextion datoteka prenese na ploču. Ovaj emulator izvrstan je način da isprobate svoje sučelje i da se uvjerite da izgleda i radi kako se očekuje. Kad sam bio zadovoljan sučeljima, prenio sam sastavljenu datoteku Nextion na SD karticu:

  1. Pritisnite gumb za kompajliranje
  2. Datoteka → Otvori mapu za izgradnju
  3. Odaberite datoteku *.tft s istim imenom kao i ime projekta.
  4. Kopirajte je na mikro SDHC karticu
  5. Umetnite SDHC karticu u utor za SD karticu na zaslonu Nextion
  6. Uključite Nextion ploču

Pričekajte da datoteka počne bljeskati na Nextion ploči i trebali biste vidjeti poruku koja izgleda ovako:

Sljedeći korak je isključivanje Nextion ploče i uklanjanje SDHC kartice.

Korak 10: POSTAVLJANJE ARDUINA

Nextion Enhanced zaslon je spreman, a sada je na redu Arduino. Arduino je programiran za primanje serijskih poruka s zaslona Nextion Enhanced i upravljanje koračnim motorom na temelju primljenih slova ili brojeva. Jedinstvena slova ili brojevi koji se prenose s ploče Nextion omogućuju Arduinu da razumije koji se gumb pritisne i koristi te brojeve ili slova za kontrolu tijeka koda kako bi izveo određene radnje koračnog motora.

Knjižnica SoftwareSerial koristi se za omogućavanje serijske komunikacije između Arduina i zaslona Nextion Enhanced. Knjižnica AccelStepper koristi se za pojednostavljivanje procesa upravljanja koračnim motorom.

Postavite najveću i minimalnu brzinu za motore i neke unaprijed definirane tipke. Moguće je "podešavanje" motora pomoću prvog sučelja Nextion zaslona. To možete učiniti tako da se motor okreće brže ili sporije dok ne dođete do željene tipke. Ovdje se aplikacija “Tuner T1 Free” iz trgovine aplikacija iTunes koristi za identifikaciju KADA je motor proizvodio ključnu bilješku. Kad je motor proizvodio određenu notu, zapisao bih brzinu koračnog motora koja je ispisana na prozoru serijskog monitora. Svaki put kad se brzina motora poveća ili smanji, Arduino kôd ispisuje brzinu u prozoru serijskog monitora. Zatim ovim brzinama ažuriram niz notes u Arduino kodu. Niz bilješki sadrži brzine koračnog motora koje odgovaraju pojedinačnim notama na klaviru. Zaslon Nextion u biti šalje indeksni broj note za sviranje iz niza nota na Arduinu, čime se pojednostavljuje kod potreban za okretanje motora pri 16 različitih brzina.

Korak 11: Dovršavanje+sheme

Dovršavanje+sheme
Dovršavanje+sheme
Dovršavanje+sheme
Dovršavanje+sheme
Dovršavanje+sheme
Dovršavanje+sheme
Dovršavanje+sheme
Dovršavanje+sheme

Kad su sve ploče isključene, sljedeći je korak uspostaviti sve potrebne hardverske veze s Arduinom. Postoje dva glavna odjeljka koja treba uzeti u obzir:

  • Pogonitelj koračnog motora i motor
  • Ploča Nextion Enhanced.

Morate biti sigurni da koristite vanjski izvor napajanja za napajanje koračnog motora i ploče Nextion Enhanced. Samu upravljačku ploču koračnog motora napajao je Arduino bez ikakvih problema, no stvarni koračni motor trebat će vanjsko napajanje. Ploča Nextion Enhanced također treba vanjsko napajanje jer zahtijeva više struje nego što Arduino može sa sigurnošću osigurati.

Zabilježite upotrijebljeno vanjsko napajanje. Uvjerio sam se da imam dovoljno veliko napajanje za podnošenje energetskih zahtjeva projekta i upotrijebio sam relevantne podatkovne tablice kako bih lakše identificirao te zahtjeve. Ako namjeravate ponoviti ovaj projekt, svakako uzmite u obzir posebne zahtjeve snage vašeg motora, vozača motora i zaslona Nextion. Arduino može napajati samo 400mA struje sa 5V pina. Kad je sve spojeno, uključio sam Nextion zaslon, a zatim Arduino. Koračni motor počinje se automatski vrtjeti. Koristio sam prvo sučelje za promjenu smjera i/ili brzine motora. Imajte na umu maksimalne i minimalne brzine postavljene u Arduino kodu. Zatim sam pomoću gumba Dalje prešao na drugo sučelje na zaslonu Nextion Enhanced. Drugo sučelje izgleda poput klavira. A kad pritisnem tipku na ekranu glasovira, motor mijenja brzinu tako da odgovara noti koju sam pritisnuo.

To je to. Sada ste gotovi.

Nadam se da će vam se svidjeti

Preporučeni: