Obsah:

Přehrávejte skladby pomocí krokového motoru !!: 11 kroků (s obrázky)
Přehrávejte skladby pomocí krokového motoru !!: 11 kroků (s obrázky)

Video: Přehrávejte skladby pomocí krokového motoru !!: 11 kroků (s obrázky)

Video: Přehrávejte skladby pomocí krokového motoru !!: 11 kroků (s obrázky)
Video: Vánoční Písničky 2022 🎅🏻 Nejlepší České Vánoční Koledy 2022 🎅🏻Všechny Vánoční Písničky 2022 Playlist 2024, Listopad
Anonim
Přehrávejte skladby pomocí krokového motoru !!
Přehrávejte skladby pomocí krokového motoru !!

Tento projekt je o návrhu jednoduchého dynamického rozhraní, které umožní interakci s krokovým motorem dvěma různými způsoby.

První rozhraní bude řídit směr a rychlost krokového motoru pomocí jednoduchého grafického uživatelského rozhraní, které má šipky vlevo a vpravo pro směr a šipky nahoru a dolů pro rychlost.

Druhé rozhraní bude více hudební povahy, což umožní hrát jednoduché písně pomocí rotačních zvuků krokového motoru.

Krok 1: Potřebné díly

  1. Arduino UNO (nebo kompatibilní deska)
  2. Nextion Enhanced NX4827K043 od iTead Studio.
  3. Rozšiřující deska Nextion pro vylepšený displej Nextion
  4. Micro SDHC karta
  5. Čtečka/zapisovačka karet SD - pro přenos souborů z počítače na kartu SDHC
  6. Prkénko
  7. Krokový motor (42BYGHM809)
  8. Ovladač krokového motoru 100 uF CapacitorDuinotech (L298) - [část JayCar# XC4492].
  9. Externí napájení - např. Regulovaný laboratorní napájecí zdroj

Krok 2: Vytvoření rozhraní

Vytváření rozhraní
Vytváření rozhraní

Prvním krokem je vytvoření rozhraní v editoru Nextion na počítači.

Zde si můžete stáhnout editor Nextion.

Načtěte editor Nextion a vytvořte nový projekt. Když spustíte nový projekt, musíte se ujistit, že z dostupných možností vyberete správné zařízení Nextion. Zde se používá zařízení „Nextion Enhanced NX4827K043“.

  1. Vyberte Soubor → Nový Vyberte název projektu a uložte jej na vhodné místo na pevném disku.
  2. Vyberte z dostupných možností příslušné zařízení Nextion

    Moje zařízení má velikost obrazovky 480 x 272 pixelů

Krok 3: Zdroje projektu

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

Do projektu musíte importovat všechny zdroje (např. Obrázky a písma) a poté navrhnout rozhraní tak, aby vyhovovalo vašim konkrétním potřebám.

Písma

Nejsou použita žádná konkrétní písma, ale pokud chcete na displej napsat jakýkoli text, budete muset vygenerovat písmo v editoru Nextion.

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

  1. Vyberte výšku písma (např. 16).
  2. Vyberte typ kódu písma (např. Iso-8859-2)
  3. Vyberte, zda má být tučně nebo ne
  4. Vyberte písmo, které chcete použít (např. Arial)
  5. Vyberte mezery (např. 0)
  6. A nakonec dejte tomuto Písmu jedinečný název (např. Arial_16)
  7. Stiskněte tlačítko „Generovat písmo“v pravé dolní části okna.

Jakmile stisknete tlačítko Generovat písmo, uloží vás písmo pomocí přípony *.zi a automaticky se vás zeptá, zda chcete „přidat vygenerované písmo?“k projektu. Pokud jste s písmem spokojeni a chtěli byste toto písmo použít ve svém projektu, vyberte „Ano“, jinak vyberte „Ne“a začněte znovu.

Do projektu nemůžete přidat žádný text, dokud neimportujete nebo nepřidáte písmo. V okně písem se zobrazí všechna vaše písma projektu.

** Poznámka: Každé písmo bude automaticky indexováno, takže na písmo můžete v případě potřeby odkazovat gramaticky. Ve skutečnosti jsou všem zdrojům, které přidáte do svého projektu, přiřazeno číslo a pro každý přidaný zdroj se zvýší o jeden. U některých zdrojů můžete vidět toto číslo nalevo od položky. Např. Na výše uvedeném obrázku má písmo Courier index 0, zatímco písmo Arial má index 1. Pokud odstraníte zdroj, číslo indexu se u této položky může změnit.

Krok 4: Import obrázků

Import obrázků
Import obrázků
Import obrázků
Import obrázků

Na zařízení Nextion Enhanced NX4827K043 musí mít každý obrázek velikost 480 x 272 pixelů.

Nyní importujeme následující obrázky do editoru Nextion, abychom je mohli použít v projektu. V levém dolním rohu editoru Nextion je okno zdroje „Fonts and Picture“:

  1. Vyberte kartu Obrázek
  2. Poté vyberte ikonu „+“
  3. Otevře se dialogové okno, které vám umožní vybrat obrázky, které chcete přidat do projektu. Pro import můžete vybrat více než jeden obrázek.

Pro úvodní obrazovku můžete vytvořit libovolný obrázek podle svého výběru.

A pro rozhraní krokového motoru a klavíru si můžete stáhnout výše uvedený obrázek.

Krok 5: Vytvoření GUI

Tvorba GUI
Tvorba GUI

Každý prostředek získá ID na základě pořadí, v jakém je přidán, a každý prostředek automaticky získá název.

Můžete změnit název prostředku nebo objektu, ale nemůžete upravit ID.

Tři stránky budou navrženy tak, aby splňovaly výše popsaná kritéria.

Chcete -li přidat stránku, jednoduše vyberte ikonu „Přidat“v „okně stránky“. A přidávejte stránky, dokud nebudete mít celkem 3 stránky (strana0, strana1 a stránka2).

Krok 6: Stránka 0-úvodní obrazovka

Stránka 0-úvodní obrazovka
Stránka 0-úvodní obrazovka

Když je Nextion zapnutý, na 3 sekundy se zobrazí úvodní obrazovka, než se zobrazí obrazovka ovladače krokového motoru. K vytvoření úvodní obrazovky jsem použil následující kroky.

Přidejte obrázek úvodní obrazovky na stránku 0

  • V okně Stránka vyberte „stránku 0“
  • V okně Toolbox vyberte „Picture“
  • Poklepejte na atribut „pic“v okně Atribut
  • Ze seznamu vyberte obrázek úvodní obrazovky
  • Stiskněte tlačítko OK

2. Přidejte časovač na stránku 0

  • V okně Toolbox vyberte Timer
  • V okně Atribut změňte atribut „tim“ze 400 na 3000
  • Zadejte „stránku page1“do sekce Uživatelský kód události časovače (0) Tato událost časovače přeskočí Nextion na stránku 1 po 3 sekundách.

Tato událost časovače přeskočí Nextion na stránku 1 po 3 sekundách.

Krok 7: Stránka 1 - Ovladač krokového motoru

Tato stránka je určena k ovládání směru a rychlosti krokového motoru. K dispozici budou dvě tlačítka pro směr (doleva a doprava) a dvě tlačítka pro rychlost (rychlejší a pomalejší). A ještě jedno tlačítko pro skok na další stránku (tj. Stránku klavíru Stepper Motor). Tato tlačítka budou také mapována na rozšiřující desku Nextion. Hmatová tlačítka rozšiřující desky poskytnou alternativní způsob ovládání motoru.

Přidejte obrázek ovladače krokového motoru na stránku1

  • V okně Stránka vyberte „stránku1“
  • V okně Toolbox vyberte „Picture“
  • Poklepejte na atribut „pic“v okně Atribut
  • Vyberte ze seznamu obrázek „Ovladač krokového motoru“
  • Stiskněte tlačítko OK

2. Přidejte hotspoty na každé tlačítko na obrázku ovladače krokového motoru

a) V okně Toolbox vyberte „Hotspot“

b) Přetáhněte a změňte velikost hotspotu tak, aby zakryl tlačítko „Vlevo“

  • Toto je oblast, která bude reagovat na stisknutí „levého tlačítka“.
  • Po nahrání na desku Nextion bude transparentní

c) V okně Událost vyberte kartu „Touch Press Event“

d) Zrušte zaškrtnutí políčka „Odeslat ID součásti“

e) V části Událost zadejte do části „Uživatelský kód“následující kód:

tisk „L“

f) Změňte název objektu hotspotu na „Vlevo“následujícím postupem:

  • V okně atributu vyberte objname a změňte text z „m0“na „vlevo“
  • Změnit název objektu hotspotu není povinné; nicméně to pomůže později.

g) Opakujte kroky 2a-2f pro všechna další tlačítka v následujícím pořadí a podle níže uvedené tabulky

  • Že jo
  • Rychleji
  • Pomaleji
  • další

Desetinný kód ASCII pro písmeno „L“je 76, a proto když displej Nextion Enhanced odešle do Arduina písmeno L pomocí příkazu „L“pro tisk, Arduino obdrží číslo 76. Když stisknete pravé tlačítko, obdrží číslo 82 atd. Tlačítko „Další“do Arduina nic nepřenáší, je tam jednoduše k přeskočení na další rozhraní na displeji Nextion Enhanced, a proto je důvod, proč se uživatelský kód pro toto tlačítko liší.

3. Namapujte tlačítka na rozšiřující desku

a) V okně Stránka vyberte „stránku0“a poté „stránku1“

b) V okně Událost vyberte kartu „Předinicializovat událost“

c) Do pole „Uživatelský kód“na kartě Událost před inicializací zadejte následující kód:

  • cfgpio 5, 1, vlevo
  • cfgpio 2, 1, vpravo
  • cfgpio 4, 1, Rychleji
  • cfgpio 3, 1, Pomalejší
  • cfgpio 1, 1, Další

*** Vezměte prosím na vědomí: Mezi cfgpio a číslem vedle něj je jedna mezera, ale na každém řádku nejsou žádné další mezery. Pokud vložíte další mezery, nebude se kompilovat. Tento kód mapuje tlačítka na rozšiřující desce na objekty hotspotů na stránce1. Když například stisknete tlačítko Left (IO5) na rozšiřující desce, simuluje to akce nebo události spojené s hotspotem m0/Left. V tomto případě pošle Arduinu hodnotu „L“(76).

Číslo IO je vyznačeno v závorkách na rozšiřující desce.

Krok 8: Stránka 2 - Krokový motorový klavír

Stránka 2 - Krokový motorový klavír
Stránka 2 - Krokový motorový klavír
Stránka 2 - Krokový motorový klavír
Stránka 2 - Krokový motorový klavír

jeho rozhraní bude navrženo tak, aby vypadalo jako piano, a umožní mi ovládat krokový motor tak, aby produkovalo notu ve stejné tónině, jakou stisknu na displeji Nextion. Krokový motor vytvoří notu otáčením na konkrétní frekvenci.

1. Přidejte obrázek klavíru krokového motoru na stranu 2.

  • V okně Stránka vyberte „stránku2“
  • V okně Toolbox vyberte „Picture“
  • Poklepejte na atribut „pic“v okně Atribut
  • Ze seznamu vyberte obrázek „Stepper Motor Piano“
  • Stiskněte tlačítko OK

2. Přidejte hotspoty na každou klávesu obrazu Stepper Motor Piano

a) V okně Toolbox vyberte „Hotspot“

b) Přetáhněte a změňte velikost hotspotu tak, aby zakryl klávesu „A“. Toto je oblast, která bude reagovat na stisknutí „klávesy A“. Po nahrání na desku Nextion bude transparentní.

c) V okně Událost vyberte kartu „Touch Press Event“.

d) Do části „Uživatelský kód“zadejte následující

tisk 1

e) Opakujte kroky 2a-2d pro všechny ostatní klíče podle níže uvedené tabulky.

** Po stisknutí konkrétní klávesy deska Nextion Enhanced odešle vytištěné číslo, následované třemi hodnotami 0x00. Koncové hodnoty lze ignorovat.

3. Tlačítko „Zpět“mi umožní přeskočit zpět na předchozí rozhraní na desce Nextion Enhanced.

a) Vytvořte hotspot pro tlačítko Zpět pomocí následujícího postupu:

  1. V okně Toolbox vyberte Hotspot
  2. Přesuňte/změňte velikost hotspotu přes tlačítko „Zpět“

b) Vyberte okno Událost.

c) Ujistěte se, že je vybrána karta „Událost dotyku“

d) Do části User Code zadejte: page1

Krok 9: Ladění

Ladění
Ladění
Ladění
Ladění

Dobrá věc na editoru Nextion je, že si můžete před odesláním na desku vyzkoušet funkčnost rozhraní.

  1. Uložte projekt stisknutím tlačítka Uložit na hlavním panelu
  2. Poté stiskněte tlačítko kompilace
  3. Poté stiskněte tlačítko ladění.

Zobrazí se okno emulátoru Nextion. Po nahrání souboru Nextion na desku by toto okno mělo reagovat stejným způsobem jako modul Nextion. Tento emulátor je skvělý způsob, jak otestovat rozhraní a ujistit se, že vypadá a funguje podle očekávání. Jakmile jsem byl s rozhraním spokojen, přenesl jsem kompilovaný soubor Nextion na kartu SD:

  1. Stiskněte tlačítko kompilace
  2. Soubor → Otevřít složku sestavení
  3. Vyberte soubor *.tft se stejným názvem, jaký má projekt.
  4. Zkopírujte jej na kartu micro SDHC
  5. Vložte kartu SDHC do slotu pro kartu SD na displeji Nextion
  6. Zapněte desku Nextion

Počkejte, až soubor bliká na desce Nextion, a měla by se zobrazit zpráva, která vypadá takto:

Dalším krokem je vypnutí desky Nextion a vyjmutí karty SDHC.

Krok 10: NASTAVENÍ ARDUINO

Displej Nextion Enhanced je připraven a nyní je řada na Arduinu. Arduino je naprogramováno tak, aby přijímalo sériové zprávy z displeje Nextion Enhanced a ovládalo krokový motor na základě přijatých písmen nebo číslic. Jedinečná písmena nebo čísla přenášená z desky Nextion umožňují Arduinu pochopit, jaké tlačítko je stisknuto, a tato čísla nebo písmena používá k řízení toku kódu za účelem provádění konkrétních akcí krokového motoru.

Knihovna SoftwareSerial slouží k povolení sériové komunikace mezi Arduinem a displejem Nextion Enhanced. Ke zjednodušení procesu řízení krokového motoru slouží knihovna AccelStepper.

Nastavte maximální a minimální rychlost pro motory a některé předdefinované klíče. Motor je možné „vyladit“pomocí prvního rozhraní displeje Nextion. Toho dosáhnete tak, že se motor bude otáčet rychleji nebo pomaleji, dokud nedosáhnete požadované klávesy. Zde se aplikace „Tuner T1 Free“z obchodu s aplikacemi iTunes používá k identifikaci, KDY motor produkoval poznámku v klíči. Když motor produkoval konkrétní poznámku, zapsal jsem si rychlost krokového motoru, která byla vytištěna do okna sériového monitoru. Pokaždé, když se rychlost motoru zvýší nebo sníží, kód Arduino vytiskne rychlost do okna sériového monitoru. Tyto rychlosti pak používám k aktualizaci pole Notes v kódu Arduino. Pole not obsahuje otáčky krokového motoru, které odpovídají jednotlivým notám na klavíru. Displej Nextion v podstatě odesílá indexové číslo noty, která má být přehrána, z pole not na Arduinu, čímž zjednodušuje kód potřebný k roztočení motoru 16 různými rychlostmi.

Krok 11: Dokončení+schémata

Dokončení+schémata
Dokončení+schémata
Dokončení+schémata
Dokončení+schémata
Dokončení+schémata
Dokončení+schémata
Dokončení+schémata
Dokončení+schémata

Když jsou všechny desky vypnuté, dalším krokem je provést všechna potřebná hardwarová připojení k Arduinu. Je třeba zvážit dvě hlavní části:

  • Ovladač a motor krokového motoru
  • Deska Nextion Enhanced.

Musíte zajistit, že k napájení krokového motoru i desky Nextion Enhanced použijete externí zdroj energie. Samotná deska ovladače krokového motoru byla napájena Arduinem bez problémů, ale skutečný krokový motor bude potřebovat externí napájení. Deska Nextion Enhanced také potřebuje externí napájení, protože vyžaduje více proudu, než může Arduino bezpečně poskytnout.

Poznamenejte si použité externí napájení. Ujistil jsem se, že mám dostatečně velký napájecí zdroj, abych zvládl energetické požadavky projektu, a použil jsem příslušné datové listy, které mi pomohly tyto požadavky identifikovat. Pokud plánujete replikovat tento projekt, nezapomeňte vzít v úvahu specifické požadavky na výkon vašeho motoru, ovladače motoru a displeje Nextion. Arduino může dodávat proud pouze 400mA z pinu 5V. Když bylo vše připojeno, zapnul jsem displej Nextion a poté zapnul Arduino. Krokový motor se začne automaticky otáčet. První rozhraní jsem použil ke změně směru a/nebo rychlosti motoru. Vezměte prosím na vědomí maximální a minimální rychlosti nastavené v kódu Arduino. Poté jsem pomocí tlačítka Další přeskočil na druhé rozhraní na displeji Nextion Enhanced. Druhé rozhraní vypadá jako piano. A když stisknu klávesu na displeji klavíru, motor změní rychlost tak, aby odpovídala notě, kterou jsem stiskl.

To je vše. Nyní jste hotovi.

Snad se vám bude líbit

Doporučuje: