Obsah:

Hrajte skladby pomocou krokového motora !!: 11 krokov (s obrázkami)
Hrajte skladby pomocou krokového motora !!: 11 krokov (s obrázkami)

Video: Hrajte skladby pomocou krokového motora !!: 11 krokov (s obrázkami)

Video: Hrajte skladby pomocou krokového motora !!: 11 krokov (s obrázkami)
Video: OKRADLI MĚ ZLODĚJI… 2024, November
Anonim
Hrajte piesne pomocou krokového motora !!
Hrajte piesne pomocou krokového motora !!

Tento projekt je o navrhnutí jednoduchého dynamického rozhrania, ktoré umožní interakciu s krokovým motorom dvoma rôznymi spôsobmi.

Prvé rozhranie bude ovládať smer a rýchlosť krokového motora pomocou jednoduchého grafického používateľského rozhrania, ktoré má šípku doľava a doprava pre smer a šípku hore a dole pre rýchlosť.

Druhé rozhranie bude hudobnejšie, čo umožní hrať jednoduché piesne pomocou rotačných zvukov krokového motora.

Krok 1: Potrebné diely

  1. Arduino UNO (alebo kompatibilná doska)
  2. Nextion Enhanced NX4827K043 od iTead Studio.
  3. Rozširujúca doska Nextion pre vylepšený displej Nextion
  4. Micro SDHC karta
  5. Čítačka/zapisovačka kariet SD - na prenos súborov z počítača na kartu SDHC
  6. Breadboard
  7. Krokový motor (42BYGHM809)
  8. Ovládač krokového motora 100 uF kondenzátora Duinotech (L298) - [časť JayCar# XC4492].
  9. Externé napájanie - napr. Regulovaný laboratórny napájací zdroj

Krok 2: Vytvorenie rozhrania

Vytvorenie rozhrania
Vytvorenie rozhrania

Prvým krokom je vytvorenie rozhraní v programe Nextion Editor na počítači.

Editor Nextion si môžete stiahnuť tu.

Načítajte editor Nextion a vytvorte nový projekt. Keď začínate s novým projektom, musíte sa uistiť, že z dostupných možností vyberiete správne zariadenie Nextion. Tu sa používa zariadenie „Nextion Enhanced NX4827K043“.

  1. Vyberte Súbor → Nový Vyberte názov projektu a uložte ho na vhodné miesto na pevnom disku.
  2. Z dostupných možností vyberte príslušné zariadenie Nextion

    Moje zariadenie má veľkosť obrazovky 480 x 272 pixelov

Krok 3: Zdroje projektu

Zdroje projektu
Zdroje projektu
Zdroje projektu
Zdroje projektu
Zdroje projektu
Zdroje projektu

Do svojho projektu musíte importovať všetky zdroje (napr. Obrázky a písma) a potom navrhnúť rozhranie tak, aby vyhovovalo vašim konkrétnym potrebám.

Písma

Nepoužívajú sa žiadne konkrétne písma, ale ak chcete na displej napísať ľubovoľný text, budete musieť vygenerovať písmo v editore Nextion.

A) Nástroje → Generátor písem

  1. Vyberte výšku písma (napr. 16).
  2. Vyberte typ kódu písma (napr. Iso-8859-2)
  3. Vyberte, či má byť tučné alebo nie
  4. Vyberte písmo, ktoré chcete použiť (napr. Arial)
  5. Vyberte medzery (napr. 0)
  6. A nakoniec dajte tomuto písmu jedinečný názov (napr. Arial_16)
  7. V pravom dolnom rohu okna kliknite na tlačidlo „Generovať písmo“.

Po stlačení tlačidla Generovať písmo sa vám zobrazí výzva na uloženie písma pomocou rozšírenia *.zi a automaticky sa vás opýta, či chcete „pridať vygenerované písmo?“k projektu. Ak ste s písmom spokojní a chceli by ste toto písmo použiť vo svojom projekte, zvoľte „Áno“, v opačnom prípade vyberte „Nie“a začnite znova.

Do projektu nemôžete pridať žiadny text, kým neimportujete alebo nepridáte písmo. V okne písem sa zobrazia všetky vaše písma projektu.

** Poznámka: Každé písmo bude automaticky indexované, aby ste na písmo mohli v prípade potreby gramaticky odkazovať. V skutočnosti sú všetkým zdrojom, ktoré pridáte do svojho projektu, priradené číslo a pre každý pridaný zdroj sa zvýši o jeden. Pri niektorých zdrojoch môžete toto číslo vidieť naľavo od položky. Napr. Na obrázku vyššie má písmo Courier index 0, zatiaľ čo písmo Arial má index 1. Ak odstránite zdroj, číslo indexu sa pre túto položku môže zmeniť.

Krok 4: Importovanie obrázkov

Import obrázkov
Import obrázkov
Import obrázkov
Import obrázkov

V zariadení Nextion Enhanced NX4827K043 musí mať každý obrázok veľkosť 480 x 272 pixelov.

Nasledujúce obrázky teraz importujeme do editora Nextion, aby sme ich mohli použiť v projekte. V ľavom dolnom rohu editora Nextion je okno zdroja „Fonty a obrázky“:

  1. Vyberte kartu Obrázok
  2. Potom vyberte ikonu „+“
  3. Otvorí sa dialógové okno, ktoré vám umožní vybrať obrázky, ktoré chcete pridať do projektu. Na import môžete vybrať viac ako jeden obrázok.

Pre úvodnú obrazovku môžete vytvoriť ľubovoľný obrázok podľa vlastného výberu.

A pre rozhranie krokového motora a klavíra si môžete stiahnuť vyššie uvedený obrázok.

Krok 5: Vytvorenie GUI

Tvorba GUI
Tvorba GUI

Každý zdroj dostane ID na základe poradia, v ktorom je pridaný, a každý zdroj automaticky dostane názov.

Môžete zmeniť názov zdroja alebo objektu, ale nemôžete upraviť ID.

Tri strany budú navrhnuté tak, aby spĺňali vyššie popísané kritériá.

Ak chcete pridať stránku, jednoducho vyberte ikonu „Pridať“v „okne stránky“. Pokračujte v pridávaní strán, kým nebudete mať celkom 3 strany (strana0, strana1 a strana2).

Krok 6: Úvodná obrazovka stránky 0

Stránka 0-Úvodná obrazovka
Stránka 0-Úvodná obrazovka

Keď je Nextion zapnutý, na 3 sekundy sa zobrazí úvodná obrazovka a potom sa zobrazí obrazovka ovládača krokového motora. Na vytvorenie úvodnej obrazovky som použil nasledujúce kroky.

Pridajte obrázok úvodnej obrazovky na stránku 0

  • V okne Stránka zvoľte „stránku 0“
  • V okne Toolbox zvoľte „Picture“
  • V okne Atribút dvakrát kliknite na atribút „pic“
  • V zozname vyberte obrázok úvodnej obrazovky
  • Stlačte tlačidlo OK

2. Pridajte časovač na stránku 0

  • V okne Panela s nástrojmi vyberte Časovač
  • V okne Atribút zmeňte atribút „tim“zo 400 na 3 000
  • V sekcii Používateľský kód udalosti časovača zadajte „stránku page1“(0) Táto udalosť časovača spôsobí, že Nextion po 3 sekundách preskočí na stránku1.

Táto udalosť časovača preskočí Nextion na stránku 1 po 3 sekundách.

Krok 7: Stránka 1 - Ovládač krokového motora

Táto stránka je určená na ovládanie smeru a rýchlosti krokového motora. K dispozícii budú dve tlačidlá pre smer (vľavo a vpravo) a dve tlačidlá pre rýchlosť (rýchlejšie a pomalšie). A ešte jedno tlačidlo na preskočenie na nasledujúcu stránku (t. J. Stránku klavíra s krokovým motorom). Tieto tlačidlá budú tiež mapované na rozširujúcu dosku Nextion. Hmatové tlačidlá rozširujúcej dosky poskytnú alternatívny spôsob ovládania motora.

Pridajte obrázok ovládača krokového motora na stránku1

  • V okne Stránka zvoľte „stránku1“
  • V okne Toolbox zvoľte „Picture“
  • V okne Atribút dvakrát kliknite na atribút „pic“
  • V zozname vyberte obrázok „Ovládač krokového motora“
  • Stlačte tlačidlo OK

2. Pridajte hotspoty na každé tlačidlo na obrázku ovládača krokového motora

a) V okne Toolbox zvoľte „Hotspot“

b) Potiahnite a zmeňte veľkosť hotspotu tak, aby zakryl tlačidlo „Vľavo“

  • Toto je oblasť, ktorá bude reagovať na stlačenia ľavého tlačidla.
  • Po nahraní na dosku Nextion bude transparentný

c) V okne Udalosť vyberte kartu „Touch Press Event“

d) Zrušte začiarknutie políčka „Odoslať ID komponentu“

e) V časti Udalosť zadajte do sekcie „Používateľský kód“nasledujúci kód:

vytlačiť „L“

f) Zmeňte názov objektu hotspotu na „Vľavo“pomocou nasledujúceho postupu:

  • V okne atribútu vyberte názov objektu a zmeňte text z „m0“na „vľavo“
  • Zmena názvu objektu hotspotu nie je povinná; neskôr to však pomôže.

g) Kroky 2a-2f zopakujte pre každé ďalšie tlačidlo v nasledujúcom poradí a podľa nižšie uvedenej tabuľky

  • Správny
  • Rýchlejšie
  • Pomalšie
  • Ďalšie

Desatinný ASCII kód pre písmeno „L“je 76, a preto keď displej Nextion Enhanced odošle Arduinu písmeno L pomocou príkazu „L“, Arduino dostane číslo 76. Keď stlačíte pravé tlačidlo, dostane číslo 82 a tak ďalej. Tlačidlo „Ďalej“do Arduina nič neprenáša, je tam jednoducho na skok k ďalšiemu rozhraniu na displeji Nextion Enhanced, a preto je dôvod, prečo sa užívateľský kód pre toto tlačidlo líši.

3. Namapujte tlačidlá na rozširujúcu dosku

a) V okne Stránka vyberte „stránku0“a potom „stránku1“

b) V okne Udalosť vyberte kartu „Predinicializovať udalosť“

c) Do poľa „Používateľský kód“na karte Udalosť pred inicializáciou zadajte nasledujúci kód:

  • cfgpio 5, 1, vľavo
  • cfgpio 2, 1, Správne
  • cfgpio 4, 1, Rýchlejšie
  • cfgpio 3, 1, Pomalšie
  • cfgpio 1, 1, Ďalej

*** Poznámka: Medzi cfgpio a číslom vedľa neho je jedna medzera, ale na každom riadku nie sú žiadne ďalšie medzery. Ak zadáte ďalšie medzery, nebude sa prekladať. Tento kód mapuje tlačidlá na rozširujúcej doske k objektom hotspotu na strane 1. Keď napríklad stlačíte tlačidlo Vľavo (IO5) na rozširujúcej doske, simuluje to akcie alebo udalosti súvisiace s hotspotom m0/Left. V takom prípade pošle Arduinu hodnotu „L“(76).

Číslo IO je vyznačené v zátvorkách na rozširujúcej doske.

Krok 8: Stránka 2 - Klavír s krokovým motorom

Strana 2 - Klavír s krokovým motorom
Strana 2 - Klavír s krokovým motorom
Strana 2 - Klavír s krokovým motorom
Strana 2 - Klavír s krokovým motorom

jeho rozhranie bude navrhnuté tak, aby vyzeralo ako klavír, a umožní mi ovládať krokový motor tak, aby produkoval notu v rovnakom tlačidle, aké stlačím na displeji Nextion. Krokový motor bude vytvárať notu otáčaním na konkrétnej frekvencii.

1. Pridajte obrázok klavíra krokového motora na stranu 2.

  • V okne Stránka zvoľte „stránku2“
  • V okne Toolbox zvoľte „Picture“
  • V okne Atribút dvakrát kliknite na atribút „pic“
  • V zozname vyberte obrázok „Stepper Motor Piano“
  • Stlačte tlačidlo OK

2. Pridajte hotspoty na každý kláves na obrázku Stepper Motor Piano

a) V okne Toolbox zvoľte „Hotspot“

b) Potiahnite a zmeňte veľkosť hotspotu tak, aby zakrýval kláves „A“. Toto je oblasť, ktorá bude reagovať na stlačenie „klávesu A“. Po nahraní na nástenku Nextion bude transparentné.

c) V okne Udalosť vyberte kartu „Touch Press Event“.

d) Do časti „Používateľský kód“zadajte nasledujúce

vytlačiť 1

e) Kroky 2a až 2d zopakujte pre všetky ostatné klávesy podľa nižšie uvedenej tabuľky.

** Po stlačení konkrétneho klávesu doska Nextion Enhanced odošle vytlačené číslo, za ktorým nasledujú tri hodnoty 0x00. Koncové hodnoty je možné ignorovať.

3. Tlačidlo „Späť“mi umožní vrátiť sa na predchádzajúce rozhranie na doske Nextion Enhanced.

a) Vytvorte hotspot pre tlačidlo Späť pomocou nasledujúceho postupu:

  1. V okne Toolbox zvoľte Hotspot
  2. Presuňte/zmeňte veľkosť hotspotu cez tlačidlo „Späť“

b) Vyberte okno Udalosť.

c) Uistite sa, že je vybratá karta „Udalosť stlačenia dotykom“

d) Do sekcie Užívateľský kód zadajte: strana 1

Krok 9: Ladenie

Ladenie
Ladenie
Ladenie
Ladenie

Dobrá vec na programe Nextion Editor je, že si môžete pred odoslaním na nástenku vyskúšať funkčnosť rozhrania.

  1. Projekt uložte stlačením tlačidla uložiť na paneli úloh
  2. Potom stlačte tlačidlo kompilácie
  3. Potom stlačte tlačidlo ladenia.

Zobrazí sa okno emulátora Nextion. Toto okno by malo reagovať rovnakým spôsobom ako modul Nextion po nahraní súboru Nextion na tabuľu. Tento emulátor je úžasný spôsob, ako otestovať rozhranie a uistiť sa, že vyzerá a funguje podľa očakávania. Keď som bol s rozhraniami spokojný, preniesol som skompilovaný súbor Nextion na kartu SD:

  1. Stlačte tlačidlo kompilácie
  2. Súbor → Otvoriť priečinok zostavenia
  3. Vyberte súbor *.tft s rovnakým názvom ako projekt.
  4. Skopírujte ho na kartu micro SDHC
  5. Vložte kartu SDHC do otvoru pre kartu SD na displeji Nextion
  6. Zapnite dosku Nextion

Počkajte, kým súbor zabliká na doske Nextion, a mala by sa vám zobraziť správa, ktorá vyzerá takto:

Ďalším krokom je vypnutie dosky Nextion a vybratie karty SDHC.

Krok 10: NASTAVENIE ARDUINO

Displej Nextion Enhanced je pripravený a teraz je na rade Arduino. Arduino je naprogramované na príjem sériových správ z displeja Nextion Enhanced a ovládanie krokového motora na základe prijatých písmen alebo číslic. Jedinečné písmena alebo čísla prenášané z dosky Nextion umožňujú Arduinu pochopiť, aké tlačidlo sa stlačí, a tieto čísla alebo písmená používa na ovládanie toku kódu na vykonávanie konkrétnych akcií krokového motora.

Knižnica SoftwareSerial sa používa na povolenie sériovej komunikácie medzi displejom Arduino a displejom Nextion Enhanced. Knižnica AccelStepper sa používa na zjednodušenie procesu riadenia krokového motora.

Nastavte maximálnu a minimálnu rýchlosť pre motory a niektoré vopred definované kľúče. Motor je možné „vyladiť“pomocou prvého rozhrania displeja Nextion. Môžete to urobiť tak, že sa motor bude otáčať rýchlejšie alebo pomalšie, kým nedosiahnete požadovaný kľúč. Tu sa aplikácia „Tuner T1 Free“z obchodu s aplikáciami iTunes používa na identifikáciu, KEDY motor produkoval poznámku v kľúči. Keď motor produkoval konkrétnu poznámku, zapísal som si rýchlosť krokového motora, ktorá bola vytlačená do okna sériového monitora. Zakaždým, keď sa rýchlosť motora zvýši alebo zníži, kód Arduino vytlačí rýchlosť do okna sériového monitora. Tieto rýchlosti potom použijem na aktualizáciu poľa Notes v kóde Arduino. Pole not obsahuje otáčky krokového motora, ktoré zodpovedajú jednotlivým notám na klavíri. Displej Nextion v podstate odosiela indexové číslo noty, ktorá sa má hrať, z poľa poznámok na Arduine, čím sa zjednodušuje kód potrebný na roztočenie motora 16 rôznymi rýchlosťami.

Krok 11: Dokončenie+schémy

Dokončovanie+schémy
Dokončovanie+schémy
Dokončovanie+schémy
Dokončovanie+schémy
Dokončovanie+schémy
Dokončovanie+schémy
Dokončovanie+schémy
Dokončovanie+schémy

Keď sú všetky dosky vypnuté, ďalším krokom je vykonať všetky potrebné hardvérové pripojenia k Arduinu. Je potrebné zvážiť dve hlavné sekcie:

  • Ovládač a motor krokového motora
  • Doska Nextion Enhanced.

Musíte zaistiť, aby ste na napájanie krokového motora aj dosky Nextion Enhanced používali externý zdroj energie. Samotná doska ovládača krokového motora bola napájaná Arduino bez problémov, ale skutočný krokový motor bude potrebovať externé napájanie. Doska Nextion Enhanced tiež potrebuje externé napájanie, pretože vyžaduje viac prúdu, ako môže Arduino bezpečne poskytnúť.

Poznamenajte si použitý externý napájací zdroj. Uistil som sa, že mám dostatočne veľký napájací zdroj, ktorý zvládne požiadavky na výkon projektu, a použil som príslušné technické listy, ktoré mi pomohli tieto požiadavky identifikovať. Ak plánujete replikovať tento projekt, uistite sa, že vezmete do úvahy špecifické požiadavky na výkon vášho motora, vášho ovládača motora a displeja Nextion. Arduino môže dodávať prúd iba 400mA z 5V kolíka. Keď bolo všetko zapojené, zapol som displej Nextion a potom zapol Arduino. Krokový motor sa začne automaticky otáčať. Prvé rozhranie som použil na zmenu smeru a/alebo rýchlosti motora. Upozorňujeme na maximálne a minimálne rýchlosti nastavené v kóde Arduino. Potom som pomocou tlačidla Ďalej preskočil do druhého rozhrania na displeji Nextion Enhanced. Druhé rozhranie vyzerá ako klavír. A keď stlačím kláves na displeji klavíra, motor zmení rýchlosť tak, aby zodpovedala note, ktorú som stlačil.

To je všetko. Teraz ste hotoví.

Snáď sa vám bude páčiť

Odporúča: