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, Novembar
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 će kontrolirati 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 će biti više muzičke prirode što će omogućiti reprodukciju jednostavnih pjesama koristeći rotacijske zvukove 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 ekran
  4. Micro SDHC kartica
  5. Čitač/pisač SD kartica - za prijenos datoteka s računara na SDHC karticu
  6. Breadboard
  7. Koračni motor (42BYGHM809)
  8. 100 uF kondenzator Duinotech pokretač koračnog motora (L298) - [JayCar dio# XC4492].
  9. Vanjsko napajanje - npr. Regulirano laboratorijsko napajanje

Korak 2: Kreiranje sučelja

Kreiranje interfejsa
Kreiranje interfejsa

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 kreirajte novi projekt. Kada započinjete novi projekt, morate se pobrinuti da odaberete ispravan Nextion uređaj među dostupnim opcijama. 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

    Ekran mog uređaja je 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.

Fontovi

Ne koriste se posebni fontovi, ali ako želite napisati bilo koji tekst na ekranu, 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 dugme „Generiši font“u donjem desnom uglu prozora.

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

Ne možete dodati bilo koji tekst u svoj projekt dok ne uvezete ili dodate font. Svi fontovi vašeg 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 Courier Font ima indeks 0, dok Arial font ima indeks 1. Ako izbrišete resurs, broj indeksa se može promijeniti za tu stavku.

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 Nextion uređivača nalazi se prozor resursa "Fontovi i slika":

  1. Odaberite karticu Slika
  2. Zatim odaberite ikonu “+”
  3. Ovo će otvoriti okvir za dijalog koji će vam omogućiti da odaberete slike koje ćete dodati projektu. Možete izabrati više slika za uvoz.

Za Splash Screen možete napraviti bilo koju sliku po svom izboru.

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

Korak 5: Napravite GUI

Izrada GUI -ja
Izrada GUI -ja

Svaki izvor će dobiti ID na osnovu 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 ekran

Stranica 0-Početni ekran
Stranica 0-Početni ekran

Kada je Nextion uključen, početni ekran će se prikazivati 3 sekunde prije nego što se prikaže ekran Kontroler koračnog motora. Koristio sam sljedeće korake za kreiranje početnog ekrana.

Dodajte sliku s ekrana za prskanje na stranicu 0

  • Odaberite „stranica 0“u prozoru stranice
  • Odaberite „Slika“u prozoru Toolbox
  • Dvaput kliknite na atribut “pic” u prozoru Atribut
  • S popisa odaberite sliku splash ekrana
  • Pritisnite dugme OK

2. Dodajte tajmer na stranicu 0

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

Ovaj događaj tajmera će učiniti da Nextion skoči na stranicu 1 nakon 3 sekunde.

Korak 7: Stranica 1 - Kontroler koračnog motora

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š jedno dugme za prelazak na sljedeću stranicu (tj. Stranicu klavira sa koračnim motorom). Ovi gumbi će se također mapirati na ploču za proširenje Nextion. Taktilni tasteri na ploči za proširenje pružit će alternativnu metodu upravljanja motorom.

Dodajte sliku kontrolera koračnog motora na stranicu 1

  • Odaberite „page1“u prozoru Page
  • Odaberite „Slika“u prozoru Toolbox
  • Dvaput kliknite na atribut “pic” u prozoru Atribut
  • Odaberite sliku “Kontroler koračnog motora” sa popisa
  • Pritisnite dugme OK

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

a) Odaberite „Hotspot“u prozoru Toolbox

b) Povucite i promijenite veličinu žarišne tačke tako da pokriva dugme “Lijevo”

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

c) Odaberite karticu „Dodirnite Pritisnite događaj“u prozoru Događaj

d) Uklonite oznaku iz polja za potvrdu "Pošalji komponentni ID"

e) Unesite sljedeći kôd u odjeljak „Korisnički kod“u prozoru Događaj:

štampa "L"

f) Promijenite naziv objekta žarišne tačke u „Lijevo“koristeći sljedeći postupak:

  • Odaberite objname iz prozora atributa i promijenite tekst iz “m0” u “Lijevo”
  • Nije potrebno mijenjati naziv objekta žarišne tačke; međutim kasnije će pomoći.

g) Ponovite korake 2a-2f za svaki drugi taster sledećim redosledom i prema donjoj tabeli

  • Tačno
  • Brže
  • Sporije
  • Sljedeći

Decimalni ASCII kôd za slovo "L" je 76, pa kada ekran Nextion Enhanced šalje slovo L na Arduino pomoću naredbe za ispis "L", Arduino će primiti broj 76. Kada se pritisne desno dugme, dobit će broj 82 itd. Dugme "Dalje" ne prenosi ništa na Arduino, jednostavno je tu za skok na sljedeće sučelje na zaslonu Nextion Enhanced, stoga je razlog zašto je korisnički kod različit za to dugme.

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

a) Odaberite „page0“, a zatim „page1“u prozoru Page

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 unesete dodatne razmake, neće se kompajlirati. Ovaj kod preslikava gumbe na ploči za proširenje u objekte hotspota na stranici 1. Na primjer, kada se pritisne tipka Lijevo (IO5) na ploči za proširenje, simulira radnje ili događaje povezane s hotspotom m0/Lijevo. U tom slučaju će poslati vrijednost “L” (76) na Arduino.

IO broj je označen u zagradama na ploči za proširenje.

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

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

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

1. Dodajte sliku klavira koračnog motora na stranicu 2.

  • Odaberite „page2“u prozoru Page
  • Odaberite „Slika“u prozoru Toolbox
  • Dvaput kliknite na atribut “pic” u prozoru Atribut
  • Odaberite sliku “Stepper Motor Piano” sa popisa
  • Pritisnite dugme OK

2. Dodajte žarišne tačke preko svakog tastera na slici klavira koračnog motora

a) Odaberite „Hotspot“u prozoru Toolbox

b) Povucite i promijenite veličinu hotspota tako da pokriva tipku “A”. Ovo je područje koje će reagirati na pritiske “tipke A”. Bit će transparentno kada se postavi na Nextion ploču.

c) Odaberite karticu „Dodirnite Pritisnite događaj“u prozoru Događaj.

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

štampa 1

e) Ponovite korake 2a-2d za svaki drugi taster prema donjoj tabeli.

** Kada se pritisne određeni taster, ploča Nextion Enhanced će preneti odštampani broj, nakon čega slede tri vrednosti 0x00. Završne vrijednosti se mogu zanemariti.

3. Dugme "Nazad" će mi omogućiti da se vratim na prethodni interfejs na ploči Nextion Enhanced.

a) Kreirajte žarišnu tačku za dugme Nazad pomoću sledećeg procesa:

  1. Odaberite Hotspot u prozoru Toolbox
  2. Pomaknite/promijenite veličinu žarišne tačke preko dugmeta „Nazad“

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 grešaka

Otklanjanje grešaka
Otklanjanje grešaka
Otklanjanje grešaka
Otklanjanje grešaka

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

  1. Sačuvajte projekat pritiskom na dugme za snimanje na traci zadataka
  2. Zatim pritisnite dugme za kompajliranje
  3. Zatim pritisnite dugme za otklanjanje grešaka.

Pojavit će se prozor Nextion emulatora. Ovaj prozor bi trebao reagirati na isti način kao Nextion modul nakon što se Nextion datoteka učita na ploču. Ovaj emulator odličan je način za testiranje vašeg sučelja i uvjerite se da izgleda i radi kako se očekuje. Kad sam bio zadovoljan sučeljima, prenio sam kompajliranu Nextion datoteku na SD karticu:

  1. Pritisnite dugme za kompajliranje
  2. Datoteka → Otvori fasciklu 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 otvor za SD karticu na Nextion ekranu
  6. Uključite Nextion ploču

Pričekajte da datoteka treperi 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: ARDUINO PODEŠAVANJE

Nextion Enhanced ekran 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 Nextion ploče omogućuju Arduinu da razumije koje se dugme pritisne i koristi te brojeve ili slova za kontrolu protoka koda radi izvođenja određenih radnji koračnog motora.

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

Postavite maksimalnu i minimalnu brzinu za motore i neke unaprijed definirane tipke. Moguće je „podesiti“motor pomoću prvog interfejsa Nextion ekrana. To možete učiniti tako da se motor okreće brže ili sporije dok ne dođete do željenog ključa. Ovdje se aplikacija „Tuner T1 Free“iz trgovine aplikacija iTunes koristi za identifikaciju KADA je motor proizvodio bilješku u ključu. Kada je motor proizvodio određenu notu, zapisao sam brzinu koračnog motora koja je odštampana na prozoru serijskog monitora. Svaki put kada se brzina motora poveća ili smanji, Arduino kôd ispisuje brzinu u prozoru serijskog monitora. Zatim koristim ove brzine za ažuriranje niza Notes u Arduino kodu. Niz not sadrži brzine koračnog motora koje odgovaraju pojedinačnim notama na klaviru. Nextion ekran u osnovi š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 korak je uspostavljanje svih potrebnih hardverskih veza s Arduinom. Postoje dva glavna odjeljka koja treba uzeti u obzir:

  • Upravljački program 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, ali stvarnom koraku motoru će trebati vanjsko napajanje. Pločici Nextion Enhanced također je potrebno 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 potrebe energetske potrebe projekta i upotrijebio sam relevantne tehničke listove koji su mi pomogli da identificiram te zahtjeve. Ako planirate ponoviti ovaj projekt, svakako uzmite u obzir posebne zahtjeve snage vašeg motora, upravljačkog programa motora i vašeg Nextion zaslona. 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 automatski okretati. 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 dugmeta Dalje prešao na drugi interfejs na ekranu Nextion Enhanced. Drugi interfejs izgleda kao klavir. A kada pritisnem taster na ekranu klavira, motor menja brzinu u skladu sa notom koju sam pritisnuo.

To je to. Sada ste završili.

Nadam se da će vam se svideti

Preporučuje se: