Sisällysluettelo:

Toista kappaleita askelmoottorilla !!: 11 vaihetta (kuvilla)
Toista kappaleita askelmoottorilla !!: 11 vaihetta (kuvilla)

Video: Toista kappaleita askelmoottorilla !!: 11 vaihetta (kuvilla)

Video: Toista kappaleita askelmoottorilla !!: 11 vaihetta (kuvilla)
Video: 11 Things that almost EVERYONE always does WRONG💥(You too?)🤯 2024, Marraskuu
Anonim
Toista kappaleita askelmoottorilla !!
Toista kappaleita askelmoottorilla !!

Tässä projektissa suunnitellaan yksinkertainen dynaaminen käyttöliittymä, joka mahdollistaa vuorovaikutuksen askelmoottorin kanssa kahdella eri tavalla.

Ensimmäinen käyttöliittymä ohjaa askelmoottorin suuntaa ja nopeutta käyttämällä yksinkertaista graafista käyttöliittymää, jossa on vasemmalle ja oikealle osoittavat nuolet suuntaan ja nopeus ylös ja alas.

Toinen käyttöliittymä on luonteeltaan musiikillisempi, mikä mahdollistaa yksinkertaisten kappaleiden toistamisen käyttämällä askelmoottorin pyöriviä ääniä.

Vaihe 1: Tarvittavat osat

  1. Arduino UNO (tai yhteensopiva levy)
  2. Nextion Enhanced NX4827K043 iTead Studiosta.
  3. Nextion -laajennuskortti Nextion Enhanced -näyttöön
  4. Micro SDHC -kortti
  5. SD -kortinlukija/-kirjoitin - siirtää tiedostoja tietokoneelta SDHC -kortille
  6. Leipälauta
  7. Askelmoottori (42BYGHM809)
  8. 100 uF -kondensaattorinDuinotech -askelmoottorin ohjain (L298) - [JayCar -osanumero XC4492].
  9. Ulkoinen virtalähde - esim. Säädetty Lab -virtalähde

Vaihe 2: Käyttöliittymän luominen

Käyttöliittymän luominen
Käyttöliittymän luominen

Ensimmäinen vaihe on luoda rajapinnat tietokoneen Nextion Editorissa.

Voit ladata Nextion Editorin täältä.

Lataa Nextion Editor ja luo uusi projekti. Kun aloitat uuden projektin, sinun on varmistettava, että valitset oikean Nextion -laitteen käytettävissä olevista vaihtoehdoista. Tässä käytetään "Nextion Enhanced NX4827K043" -laitetta.

  1. Valitse Tiedosto → Uusi Valitse projektille nimi ja tallenna se sopivaan paikkaan kiintolevyllä.
  2. Valitse sopiva Nextion -laite käytettävissä olevista vaihtoehdoista

    Laitteeni näytön koko on 480 x 272 pikseliä

Vaihe 3: Projektin resurssit

Projektin resurssit
Projektin resurssit
Projektin resurssit
Projektin resurssit
Projektin resurssit
Projektin resurssit

Sinun on tuotava kaikki resurssit (esim. Kuvat ja fontit) projektiin ja suunniteltava käyttöliittymä omien tarpeidesi mukaan.

Fontit

Tiettyjä fontteja ei käytetä, mutta jos haluat kirjoittaa tekstiä näytölle, sinun on luotava fontti Nextion Editorissa.

A) Työkalut → Fontin luonti

  1. Valitse fontin korkeus (esim. 16).
  2. Valitse fonttikoodityyppi (esim. Iso-8859-2)
  3. Valitse, haluatko sen lihavoituna vai ei
  4. Valitse käytettävä fontti (esim. Arial)
  5. Valitse väli (esim. 0)
  6. Ja lopuksi anna tälle fontille ainutlaatuinen nimi (esim. Arial_16)
  7. Paina "Luo fontti" -painiketta ikkunan oikeassa alakulmassa.

Kun painat Luo fontti -painiketta, kirjain tallennetaan *.zi -laajennuksella ja se kysyy automaattisesti, haluatko "Lisää luotu fontti?" hankkeeseen. Jos olet tyytyväinen kirjasimeen ja haluat käyttää tätä fonttia projektissasi, valitse”Kyllä”, muussa tapauksessa valitse”Ei” ja aloita uudelleen.

Et voi lisätä tekstiä projektiin, ennen kuin olet tuonut tai lisännyt fontin. Kaikki projektisi fontit näkyvät kirjasimet -ikkunassa.

** Huomautus: Jokainen fontti indeksoidaan automaattisesti, jotta voit tarvittaessa viitata fonttiin kieliopillisesti. Itse asiassa kaikille projektiin lisäämillesi resursseille annetaan numero ja niitä lisätään yhdellä jokaisesta lisätystä resurssista. Joidenkin resurssien kohdalla näet tämän numeron kohteen vasemmalla puolella. Esim. Yllä olevassa kuvassa Courier -fontin indeksi on 0, kun taas Arial -fontin indeksi on 1. Jos poistat resurssin, indeksin numero voi muuttua kyseiselle kohteelle.

Vaihe 4: Kuvien tuominen

Kuvien tuominen
Kuvien tuominen
Kuvien tuominen
Kuvien tuominen

Nextion Enhanced NX4827K043 -laitteessa jokaisen kuvan on oltava kooltaan 480 x 272 pikseliä.

Tuomme nyt seuraavat kuvat Nextion Editoriin, jotta voimme käyttää niitä projektissa. Nextion -editorin vasemmassa alakulmassa on Fonts and Picture -resurssi -ikkuna:

  1. Valitse Kuva -välilehti
  2. Valitse sitten "+" -kuvake
  3. Tämä avaa valintaikkunan, jossa voit valita projektiin lisättävät kuvat. Voit valita useamman kuin yhden tuodun kuvan.

Aloitusnäytössä voit tehdä minkä tahansa kuvan valintasi mukaan.

Ja Stepper -moottorin ja pianon käyttöliittymälle voit ladata yllä olevan kuvan.

Vaihe 5: Tee käyttöliittymä

GUI: n tekeminen
GUI: n tekeminen

Jokainen resurssi saa tunnuksen sen lisäämisjärjestyksen perusteella, ja jokainen resurssi saa automaattisesti nimen.

Voit muuttaa resurssin tai objektin nimen, mutta et voi muokata tunnusta.

Kolme sivua suunnitellaan täyttämään edellä kuvatut kriteerit.

Voit lisätä sivun valitsemalla "Lisää" -kuvakkeen "sivuikkunasta". Lisää sivuja, kunnes sinulla on yhteensä 3 sivua (sivu0, sivu1 ja sivu2).

Vaihe 6: Sivu 0-aloitusnäyttö

Sivu 0-Aloitusnäyttö
Sivu 0-Aloitusnäyttö

Kun Nextion käynnistetään, aloitusnäyttö näkyy 3 sekunnin ajan, ennen kuin se näyttää Stepper Motor Controller -näytön. Olen luonut aloitusnäytön seuraavasti.

Lisää aloitusnäytön kuva sivulle 0

  • Valitse sivu -ikkunasta "sivu 0"
  • Valitse Työkalut -ikkunasta”Kuva”
  • Kaksoisnapsauta Attribuutti-ikkunassa "pic" -attribuuttia
  • Valitse aloitusnäytön kuva luettelosta
  • Paina OK -painiketta

2. Lisää ajastin sivulle 0

  • Valitse ajastin Toolbox -ikkunasta
  • Muuta attribuutti -ikkunan tim -attribuutti arvosta 400 arvoon 3000
  • Kirjoita “page page1” Ajastustapahtuman käyttäjäkoodi -osioon (0) Tämä ajastintoiminto saa Nextionin siirtymään sivulle 1 3 sekunnin kuluttua.

Tämä ajastintoiminto saa Nextionin siirtymään sivulle 1 3 sekunnin kuluttua.

Vaihe 7: Sivu 1 - Askelmoottorin ohjain

Tämä sivu on suunniteltu ohjaamaan askelmoottorin suuntaa ja nopeutta. Suuntanäppäimiä on kaksi (vasen ja oikea) ja kaksi nopeuden painiketta (nopeampi ja hitaampi). Ja vielä yksi painike siirtyäksesi seuraavalle sivulle (eli Stepper Motor Piano -sivulle). Nämä painikkeet yhdistetään myös Nextion -laajennuskorttiin. Laajennuslevyn kosketuspainikkeet tarjoavat vaihtoehtoisen tavan ohjata moottoria.

Lisää askelmoottorin ohjaimen kuva sivulle 1

  • Valitse Sivu -ikkunasta “sivu1”
  • Valitse Työkalut -ikkunasta”Kuva”
  • Kaksoisnapsauta Attribuutti-ikkunassa "pic" -attribuuttia
  • Valitse”Stepper Motor Controller” -kuva luettelosta
  • Paina OK -painiketta

2. Lisää hotspotteja Stepper Motor Controller -kuvan jokaisen painikkeen päälle

a) Valitse”Hotspot” Toolbox -ikkunasta

b) Vedä ja muuta hotspotin kokoa niin, että se peittää vasemman painikkeen

  • Tämä on alue, joka reagoi vasemman painikkeen painalluksiin.
  • Se on läpinäkyvä, kun se ladataan Nextion -taululle

c) Valitse Tapahtuma -ikkunasta "Kosketa paina tapahtumaa" -välilehti

d) Poista Lähetä komponentin tunnus -valintaruudun valinta

e) Kirjoita seuraava koodi Tapahtuma -ikkunan Käyttäjäkoodi -osioon:

tulosta "L"

f) Muuta yhteyspisteen objektinimeksi "Vasen" seuraavalla tavalla:

  • Valitse objname attribuutti -ikkunasta ja muuta teksti "m0" - "vasen"
  • Hotspot -objektin nimen muuttaminen ei ole pakollista; siitä on kuitenkin apua myöhemmin.

g) Toista vaiheet 2a-2f kaikille muille painikkeille seuraavassa järjestyksessä ja alla olevan taulukon mukaisesti

  • Aivan
  • Nopeampi
  • Hitaammin
  • Seuraava

ASCII -desimaalikoodi kirjaimelle “L” on 76, joten kun Nextion Enhanced -näyttö lähettää L -kirjaimen Arduinolle käyttämällä”L” -komentoa, Arduino vastaanottaa numeron 76. Kun oikeaa painiketta painetaan, saa numeron 82 ja niin edelleen. "Seuraava" -painike ei lähetä mitään Arduinolle, se on yksinkertaisesti siellä, jossa siirrytään seuraavaan käyttöliittymään Nextion Enhanced -näytössä, joten syy siihen, miksi käyttäjäkoodi on erilainen kyseiselle painikkeelle.

3. Kytke painikkeet laajennuskorttiin

a) Valitse sivu -ikkunasta “page0” ja sitten “page1”

b) Valitse Tapahtuma -ikkunasta”Esialusta tapahtuma” -välilehti

c) Kirjoita seuraava koodi Preinitialize Event -välilehden User Code -kenttään:

  • cfgpio 5, 1, Vasen
  • cfgpio 2, 1, Oikea
  • cfgpio 4, 1, nopeampi
  • cfgpio 3, 1, Hitaampi
  • cfgpio 1, 1, Seuraava

*** Huomaa: cfgpion ja sen vieressä olevan numeron välillä on yksi välilyönti, mutta jokaisella rivillä ei ole muita välilyöntejä. Jos lisäät ylimääräisiä välilyöntejä, sitä ei käännetä. Tämä koodi yhdistää laajennuskortin painikkeet hotspot -objekteihin sivulla 1. Esimerkiksi kun laajennuskortin vasenta painiketta (IO5) painetaan, se simuloi hotspot m0/Left -toimintoon liittyviä tapahtumia tai tapahtumia. Tässä tapauksessa se lähettää arvon “L” (76) Arduinolle.

IO -numero on merkitty laajennuskortin sulkeisiin.

Vaihe 8: Sivu 2 - Askelmoottoripiano

Sivu 2 - Askelmoottoripiano
Sivu 2 - Askelmoottoripiano
Sivu 2 - Askelmoottoripiano
Sivu 2 - Askelmoottoripiano

hänen käyttöliittymänsä on suunniteltu näyttämään pianolta, ja sen avulla voin ohjata askelmoottoria niin, että se tuottaa nuotin samassa näppäimessä kuin mitä painan Nextion -näytössä. Askelmoottori tuottaa nuotin pyörimällä tietyllä taajuudella.

1. Lisää Stepper Motor Piano -kuva sivulle 2.

  • Valitse sivu -ikkunasta "page2"
  • Valitse Työkalut -ikkunasta”Kuva”
  • Kaksoisnapsauta Attribuutti-ikkunassa "pic" -attribuuttia
  • Valitse Stepper Motor Piano -kuva luettelosta
  • Paina OK -painiketta

2. Lisää hotspotteja Stepper Motor Piano -kuvan jokaisen näppäimen päälle

a) Valitse”Hotspot” Toolbox -ikkunasta

b) Vedä ja muuta hotspotin kokoa niin, että se peittää "A" -näppäimen. Tämä on alue, joka reagoi "A-näppäimen" painalluksiin. Se on läpinäkyvä, kun se ladataan Nextion-taululle.

c) Valitse Tapahtuma -ikkunasta "Kosketa paina tapahtumaa" -välilehti.

d) Kirjoita seuraava osa "Käyttäjäkoodi" -osaan

tulosta 1

e) Toista vaiheet 2a-2d kullekin muulle näppäimelle alla olevan taulukon mukaisesti.

** Kun tiettyä näppäintä painetaan, Nextion Enhanced -levy lähettää tulostetun numeron ja sen jälkeen kolme 0x00 -arvoa. Päätearvot voidaan jättää huomiotta.

3. "Takaisin" -painikkeen avulla voin siirtyä takaisin Nextion Enhanced -levyn edelliseen käyttöliittymään.

a) Luo hotspot paluunäppäimelle seuraavasti:

  1. Valitse Hotspot Toolbox -ikkunasta
  2. Siirrä hotspotin kokoa "Back" -painikkeen päälle

b) Valitse Tapahtuma -ikkuna.

c) Varmista, että kosketusnäytön tapahtuma -välilehti on valittuna

d) Kirjoita: sivu sivu1 käyttäjäkoodiosioon

Vaihe 9: Virheenkorjaus

Virheenkorjaus
Virheenkorjaus
Virheenkorjaus
Virheenkorjaus

Nextion Editorin hyvä puoli on, että voit testata käyttöliittymän toiminnallisuutta ennen sen lataamista taululle.

  1. Tallenna projekti painamalla tehtäväpalkin Tallenna -painiketta
  2. Paina sitten kääntämispainiketta
  3. Paina sitten virheenkorjauspainiketta.

Nextion -emulaattori -ikkuna tulee näkyviin. Tämän ikkunan pitäisi vastata samalla tavalla kuin Nextion -moduuli sen jälkeen, kun Nextion -tiedosto on ladattu taululle. Tämä emulaattori on loistava tapa testata käyttöliittymääsi ja varmistaa, että se näyttää ja toimii odotetulla tavalla. Kun olin tyytyväinen käyttöliittymään, siirrän kootun Nextion -tiedoston SD -kortille:

  1. Paina käännöspainiketta
  2. Tiedosto → Avaa koontikansio
  3. Valitse *.tft -tiedosto, jolla on sama nimi kuin projektilla.
  4. Kopioi se micro SDHC -kortille
  5. Aseta SDHC -kortti Nextion -näytön SD -korttipaikkaan
  6. Käynnistä Nextion -levy

Odota, että tiedosto vilkkuu Nextion -kortilla, ja näet seuraavanlaisen viestin:

Seuraava vaihe on sammuttaa Nextion -kortti ja poistaa SDHC -kortti.

Vaihe 10: ARDUINO -ASETUKSET

Nextion Enhanced -näyttö on valmis, ja nyt on Arduinon vuoro. Arduino on ohjelmoitu vastaanottamaan sarjasanomia Nextion Enhanced -näytöstä ja ohjaamaan askelmoottoria vastaanotettujen kirjainten tai numeroiden perusteella. Ainutlaatuiset kirjaimet tai numerot, jotka lähetetään Nextion -taululta, antavat Arduinolle ymmärtää, mitä painiketta painetaan, ja se käyttää näitä numeroita tai kirjaimia koodivirran hallintaan tiettyjen askelmoottoritoimintojen suorittamiseksi.

SoftwareSerial -kirjastoa käytetään sarjaliikenteen mahdollistamiseen Arduinon ja Nextion Enhanced -näytön välillä. AccelStepper -kirjastoa käytetään yksinkertaistamaan askelmoottorin ohjausta.

Aseta moottorien suurin ja pienin nopeus ja jotkut ennalta määritetyt näppäimet. Moottoria voidaan "virittää" Nextion -näytön ensimmäisen käyttöliittymän avulla. Voit tehdä tämän asettamalla moottorin pyörimään nopeammin tai hitaammin, kunnes saavutat halutun avaimen. Tässä iTunes -sovelluskaupan”Tuner T1 Free” -sovellusta käytetään tunnistamaan, MIKSI moottori tuotti muistiinpanon avaimessa. Kun moottori tuotti tietyn huomautuksen, kirjoitin ylös askelmoottorin nopeuden, joka tulostettiin sarjamonitori -ikkunaan. Aina kun moottorin nopeutta lisätään tai vähennetään, Arduino -koodi tulostaa nopeuden sarjavalvontaikkunaan. Käytän sitten näitä nopeuksia Arduino -koodin notes -matriisin päivittämiseen. Notes -taulukko sisältää askelmoottorin nopeudet, jotka vastaavat yksittäisiä pianon nuotteja. Nextion -näyttö lähettää olennaisesti nuotin hakemistonumeron Arduinon nuottijoukosta, mikä yksinkertaistaa koodia, jota tarvitaan moottorin pyörimiseen 16 eri nopeudella.

Vaihe 11: Viimeistely+kaaviot

Viimeistely+kaaviot
Viimeistely+kaaviot
Viimeistely+kaaviot
Viimeistely+kaaviot
Viimeistely+kaaviot
Viimeistely+kaaviot
Viimeistely+kaaviot
Viimeistely+kaaviot

Kun kaikki levyt on sammutettu, seuraava askel on tehdä kaikki tarvittavat laitteistoyhteydet Arduinoon. On otettava huomioon kaksi pääosaa:

  • Askelmoottorin ohjain ja moottori
  • Nextion Enhanced -levy.

Sinun on varmistettava, että käytät ulkoista virtalähdettä sekä askelmoottorin että Nextion Enhanced -levyn virtalähteeksi. Itse askelmoottorin ohjainkortti sai virtaa Arduinolta ilman ongelmia, mutta varsinainen askelmoottori tarvitsee ulkoisen virtalähteen. Nextion Enhanced -levy tarvitsee myös ulkoisen virtalähteen, koska se vaatii enemmän virtaa kuin Arduino voi turvallisesti tarjota.

Merkitse käytetty ulkoinen virtalähde muistiin. Varmistin, että minulla oli tarpeeksi suuri virtalähde projektin tehontarpeen hoitamiseksi, ja käytin asiaankuuluvia tietolomakkeita auttaakseni tunnistamaan nämä vaatimukset. Jos aiot toistaa tämän projektin, muista ottaa huomioon moottorin, moottorin ohjaimen ja Nextion -näytön erityiset tehovaatimukset. Arduino voi syöttää vain 400 mA virtaa 5 V: n nastasta. Kun kaikki oli kytketty, käynnistin Nextion -näytön ja sitten Arduinon. Askelmoottori alkaa pyöriä automaattisesti. Käytin ensimmäistä käyttöliittymää moottorin suunnan ja/tai nopeuden muuttamiseen. Huomaa Arduino -koodissa asetetut enimmäis- ja vähimmäisnopeudet. Hyppäsin sitten Seuraava -painikkeella Nextion Enhanced -näytön toiseen käyttöliittymään. Toinen käyttöliittymä näyttää pianolta. Ja kun painan näppäintä pianonäytössä, moottori muuttaa nopeutta vastaamaan painamaani nuottia.

Siinä se. Nyt olet valmis.

Toivottavasti pidät siitä

Suositeltava: