Съдържание:

Пускайте песни с помощта на стъпков двигател !!: 11 стъпки (със снимки)
Пускайте песни с помощта на стъпков двигател !!: 11 стъпки (със снимки)

Видео: Пускайте песни с помощта на стъпков двигател !!: 11 стъпки (със снимки)

Видео: Пускайте песни с помощта на стъпков двигател !!: 11 стъпки (със снимки)
Видео: Детето ми се храни само със зеленчуци 2024, Ноември
Anonim
Пускайте песни с помощта на стъпков двигател !!
Пускайте песни с помощта на стъпков двигател !!

Този проект е за проектиране на прост динамичен интерфейс, който ще позволи взаимодействието със стъпков двигател по два различни начина.

Първият интерфейс ще контролира посоката и скоростта на стъпковия двигател чрез използването на обикновен графичен интерфейс, който има стрелки наляво и надясно за посоката, и стрелки нагоре и надолу за скоростта.

Вторият интерфейс ще има по -музикален характер, което ще позволи да се изпълняват прости песни, използвайки ротационните звуци на стъпковия двигател.

Стъпка 1: Необходими части

  1. Arduino UNO (или съвместима платка)
  2. Nextion подобрен NX4827K043 от iTead Studio.
  3. Разширителна платка Nextion за Nextion подобрен дисплей
  4. Micro SDHC карта
  5. Четец/писател на SD карти - за прехвърляне на файлове от компютър на SDHC карта
  6. Платка
  7. Стъпков двигател (42BYGHM809)
  8. 100 uF кондензатор Duinotech стъпков двигател (L298) - [част JayCar# XC4492].
  9. Външно захранване - напр. Регулирано лабораторно захранване

Стъпка 2: Създаване на интерфейс

Създаване на интерфейс
Създаване на интерфейс

Първата стъпка е да създадете интерфейсите в Nextion Editor на вашия компютър.

Можете да изтеглите Nextion Editor тук.

Заредете Nextion Editor и създайте нов проект. Когато стартирате нов проект, трябва да се уверите, че сте избрали правилното Nextion устройство от наличните опции. Тук се използва устройство „Nextion Enhanced NX4827K043“.

  1. Изберете Файл → Ново Изберете име на проекта и го запазете на подходящо място на твърдия диск.
  2. Изберете подходящото устройство Nextion от наличните опции

    Устройството ми има размер на екрана 480 x 272 пиксела

Стъпка 3: Ресурси на проекта

Ресурси на проекта
Ресурси на проекта
Ресурси на проекта
Ресурси на проекта
Ресурси на проекта
Ресурси на проекта

Трябва да импортирате всички ресурси (напр. Снимки и шрифтове) във вашия проект и след това да проектирате интерфейса според вашите специфични нужди.

Шрифтове

Не се използват конкретни шрифтове, но ако искате да напишете текст на дисплея, ще трябва да генерирате шрифт в Nextion Editor.

A) Инструменти → Генератор на шрифтове

  1. Изберете височината на шрифта (напр. 16).
  2. Изберете типа код на шрифта (напр. Iso-8859-2)
  3. Изберете дали искате да е с удебелен шрифт или не
  4. Изберете шрифта, който искате да използвате (напр. Arial)
  5. Изберете интервал (напр. 0)
  6. И накрая дайте на този шрифт уникално име (например Arial_16)
  7. Натиснете бутона „Генериране на шрифт“в долния десен ъгъл на прозореца.

След като натиснете бутона Генериране на шрифт, той ще ви накара да запазите шрифта с помощта на разширение *.zi и автоматично ще ви попита дали искате да добавите генерирания шрифт? към проекта. Ако сте доволни от шрифта и искате да използвате този шрифт във вашия проект, изберете „Да“, в противен случай изберете „Не“и започнете отново.

Не можете да добавяте текст към проекта си, докато не сте импортирали или добавили шрифт. Всички ваши шрифтове на проекта ще бъдат показани в прозореца за шрифтове.

** Забележка: Всеки шрифт ще бъде индексиран автоматично, така че можете да го позовавате граматически, ако е необходимо. Всъщност всички ресурси, които добавяте към вашия проект, получават номер и се увеличават с един за всеки добавен ресурс. За някои ресурси можете да видите този номер вляво от елемента. Напр. На горната снимка куриерският шрифт има индекс 0, докато шрифтът Arial има индекс 1. Ако изтриете ресурс, номерът на индекса може да се промени за този елемент.

Стъпка 4: Импортиране на изображения

Импортиране на изображения
Импортиране на изображения
Импортиране на изображения
Импортиране на изображения

На устройството Nextion Enhanced NX4827K043 всяка картина трябва да бъде с размер 480 x 272 пиксела.

Сега ще импортираме следните снимки в Nextion Editor, за да можем да ги използваме в проекта. В долния ляв ъгъл на редактора Nextion е прозорецът с ресурси „Шрифтове и картина“:

  1. Изберете раздела Картина
  2. След това изберете иконата „+“
  3. Това ще отвори диалогов прозорец, който ще ви позволи да изберете картината (ите), която да добавите към проекта. Можете да изберете повече от една снимка за импортиране.

За Splash Screen можете да направите всяко изображение по ваш избор.

А за стъпков двигател и интерфейс за пиано можете да изтеглите горното изображение.

Стъпка 5: Създаване на GUI

Създаване на GUI
Създаване на GUI

Всеки ресурс ще получи идентификатор въз основа на реда, в който е добавен, и всеки ресурс автоматично ще получи име.

Можете да промените името на ресурса или обекта, но не можете да редактирате идентификатора.

Три страници ще бъдат проектирани да отговарят на описаните по -горе критерии.

За да добавите страница, просто изберете иконата „Добавяне“от „прозореца на страницата“. И продължавайте да добавяте страници, докато имате общо 3 страници (страница0, страница1 и страница2).

Стъпка 6: Страница 0-Начален екран

Страница 0-Екран за пръскане
Страница 0-Екран за пръскане

Когато Nextion е включен, началният екран ще се показва в продължение на 3 секунди, преди да покаже екрана на контролера на стъпков двигател. Използвах следните стъпки, за да създам начален екран.

Добавете снимката на началния екран към страница 0

  • Изберете „страница 0“от прозореца на страницата
  • Изберете „Картина“от прозореца на инструментариума
  • Щракнете двукратно върху атрибута “pic” от прозореца на атрибута
  • Изберете изображението на началния екран от списъка
  • Натиснете бутона OK

2. Добавете таймер към страница 0

  • Изберете Таймер от прозореца на Toolbox
  • Променете атрибута „tim“от 400 на 3000 в прозореца Attribute
  • Въведете „page page1“в секцията User code на Timer Event (0) Това събитие на таймера ще накара Nextion да скочи на page1 след 3 секунди.

Това събитие с таймер ще накара Nextion да скочи на страница 1 след 3 секунди.

Стъпка 7: Страница 1 - Контролер за стъпков двигател

Тази страница е предназначена да контролира посоката и скоростта на стъпковия двигател. Ще има два бутона за посоката (наляво и надясно) и два бутона за скоростта (по -бързо и по -бавно). И още един бутон, за да преминете към следващата страница (т.е. страницата на пиано със стъпков двигател). Тези бутони също ще бъдат съпоставени с платката за разширение Nextion. Тактилните бутони на платката за разширение ще осигурят алтернативен метод за управление на двигателя.

Добавете снимка на контролера на стъпков двигател към страница 1

  • Изберете „страница1“от прозореца на страницата
  • Изберете „Картина“от прозореца на инструментариума
  • Щракнете двукратно върху атрибута “pic” от прозореца на атрибута
  • Изберете изображението „Контролер на стъпков двигател“от списъка
  • Натиснете бутона OK

2. Добавете горещи точки над всеки бутон на изображението на контролера на стъпков двигател

а) Изберете „Hotspot“от прозореца на Toolbox

б) Плъзнете и преоразмерете горещата точка, така че да покрива бутона „Наляво“

  • Това е областта, която ще реагира на натискане на „ляв бутон“.
  • Той ще бъде прозрачен, когато бъде качен на платката Nextion

в) Изберете раздела „Докоснете Натиснете Събитие“в прозореца Събитие

г) Премахнете отметката от квадратчето „Изпращане на идентификатор на компонент“

д) Въведете следния код в раздела „Потребителски код“на прозореца на събитието:

отпечатайте „L“

е) Променете името на обекта на горещата точка на „Наляво“, като използвате следния процес:

  • Изберете objname от прозореца на атрибута и променете текста от „m0“на „Наляво“
  • Не е задължително да се променя името на обекта на гореща точка; обаче ще помогне по -късно.

ж) Повторете стъпки 2a-2f за всеки от другите бутони в следния ред и съгласно таблицата по-долу

  • Точно така
  • По -бързо
  • По -бавно
  • Следващия

Десетичният ASCII код за буквата „L“е 76, следователно, когато дисплеят Nextion Enhanced изпраща буквата L на Arduino с помощта на командата за печат „L“, Arduino ще получи номер 76. Когато десният бутон е натиснат, той ще получи номер 82 и т.н. Бутонът „Напред“не предава нищо към Arduino, той просто е там, за да премине към следващия интерфейс на дисплея Nextion Enhanced, оттук и причината, поради която потребителският код е различен за този бутон.

3. Картирайте бутоните към платката за разширение

а) Изберете „страница0“и след това „страница1“от прозореца на страницата

б) Изберете раздела „Предварително инициализиране на събитие“от прозореца на събитието

в) Въведете следния код в полето „Потребителски код“на раздела Предварително инициализиране на събитие:

  • cfgpio 5, 1, Ляво
  • cfgpio 2, 1, Вдясно
  • cfgpio 4, 1, По -бързо
  • cfgpio 3, 1, По -бавно
  • cfgpio 1, 1, Напред

*** Моля, обърнете внимание: Има едно интервал между cfgpio и номера до него, но няма други интервали на всеки ред. Ако въведете допълнителни интервали, той няма да се компилира. Този код картографира бутоните на платката за разширение към обектите на гореща точка на страница 1. Например, когато бутонът наляво (IO5) на платката за разширение е натиснат, той симулира действията или събитията, свързани с hotspot m0/Left. В този случай той ще изпрати стойност „L“(76) към Arduino.

IO номерът е отбелязан в скоби на платката за разширение.

Стъпка 8: Страница 2 - Пиано със стъпков двигател

Страница 2 - Пиано със стъпков двигател
Страница 2 - Пиано със стъпков двигател
Страница 2 - Пиано със стъпков двигател
Страница 2 - Пиано със стъпков двигател

неговият интерфейс ще бъде проектиран да прилича на пиано и ще ми позволи да контролирам стъпковия двигател така, че да издава бележка в същия ключ като този, който натискам на дисплея Nextion. Стъпковият двигател ще произвежда нотата, като се върти на определена честота.

1. Добавете снимка на пиано със стъпков двигател към страница 2.

  • Изберете „page2“от прозореца Page
  • Изберете „Картина“от прозореца на инструментариума
  • Щракнете двукратно върху атрибута “pic” от прозореца на атрибута
  • Изберете изображението „Stepper Motor Piano“от списъка
  • Натиснете бутона OK

2. Добавете горещи точки над всеки клавиш върху изображението на пиано на Stepper Motor

а) Изберете „Hotspot“от прозореца на Toolbox

б) Плъзнете и преоразмерете точката за достъп, така че да покрива клавиша „A“. Това е областта, която ще реагира на натискане на клавиш „A“. Тя ще бъде прозрачна, когато бъде качена на платката Nextion.

в) Изберете раздела „Докоснете Натиснете Събитие“в прозореца Събитие.

г) Въведете следното в раздела „Потребителски код“

печат 1

д) Повторете стъпки 2a-2d за всеки от другите клавиши съгласно таблицата по-долу.

** Когато се натисне конкретният клавиш, платката Nextion Enhanced ще предаде отпечатания номер, последван от три стойности 0x00. Завършващите стойности могат да бъдат игнорирани.

3. Бутонът „Назад“ще ми позволи да се върна към предишния интерфейс на платката Nextion Enhanced.

а) Създайте гореща точка за бутона за връщане, като използвате следния процес:

  1. Изберете Hotspot от прозореца на Toolbox
  2. Преместете/преоразмерете горещата точка над бутона „Назад“

б) Изберете прозореца на събитието.

в) Уверете се, че е избран раздел „Събитие при натискане при натискане“

г) Въведете: страница страница1 в секцията Код на потребителя

Стъпка 9: Отстраняване на грешки

Отстраняване на грешки
Отстраняване на грешки
Отстраняване на грешки
Отстраняване на грешки

Хубавото на Nextion Editor е, че можете да тествате функционалността на интерфейса, преди да го качите на дъската.

  1. Запазете проекта, като натиснете бутона за запазване на лентата със задачи
  2. След това натиснете бутона за компилиране
  3. След това натиснете бутона за отстраняване на грешки.

Ще се появи прозорец на емулатор на Nextion. Този прозорец трябва да реагира по същия начин като модула Nextion, след като файлът Nextion бъде качен на дъската. Този емулатор е чудесен начин да тествате вашия интерфейс и да се уверите, че изглежда и работи според очакванията. След като бях доволен от интерфейса (ите), прехвърлих компилирания Nextion файл на SD карта:

  1. Натиснете бутона за компилиране
  2. Файл → Отваряне на папка за изграждане
  3. Изберете файла *.tft със същото име като това на проекта.
  4. Копирайте го на micro SDHC карта
  5. Поставете SDHC картата в слота за SD карта на дисплея Nextion
  6. Включете платката Nextion

Изчакайте файлът да премигне на платката Nextion и трябва да видите съобщение, което изглежда така:

Следващата стъпка е да изключите платката Nextion и да извадите SDHC картата.

Стъпка 10: НАСТРОЙКА НА ARDUINO

Подобреният дисплей на Nextion е готов и сега е ред на Arduino. Arduino е програмиран да получава серийни съобщения от дисплея Nextion Enhanced и да контролира стъпковия двигател въз основа на получените букви или цифри. Уникалните букви или цифри, предавани от платката Nextion, позволяват на Arduino да разбере кой бутон е натиснат и използва тези цифри или букви, за да контролира потока от код, за да изпълнява специфични стъпкови двигателни действия.

Библиотеката SoftwareSerial се използва за активиране на серийна комуникация между Arduino и дисплея Nextion Enhanced. Библиотеката AccelStepper се използва за опростяване на процеса на управление на стъпков двигател.

Задайте максимална и минимална скорост за двигателите и някои предварително определени бутони. Възможно е да "настроите" двигателя чрез първия интерфейс на дисплея Nextion. Можете да направите това, като накарате двигателя да се върти по -бързо или по -бавно, докато достигнете желания ключ. Тук приложението „Tuner T1 Free“от магазина за приложения на iTunes се използва за идентифициране КОГА двигателят е издавал бележка в ключ. Когато двигателят произвеждаше конкретна бележка, записвах скоростта на стъпковия двигател, която беше отпечатана в прозореца на серийния монитор. Всеки път, когато скоростта на двигателя се увеличава или намалява, кодът на Arduino отпечатва скоростта в прозореца на серийния монитор. След това използвам тези скорости, за да актуализирам масива Notes в кода на Arduino. Масивът с ноти съдържа скоростите на стъпковия двигател, които съответстват на отделните ноти на пианото. Дисплеят на Nextion по същество изпраща индексния номер на нотата за възпроизвеждане от масива от бележки на Arduino, като по този начин опростява кода, необходим за въртене на двигателя с 16 различни скорости.

Стъпка 11: Завършване+схеми

Завършване+схеми
Завършване+схеми
Завършване+схеми
Завършване+схеми
Завършване+схеми
Завършване+схеми
Завършване+схеми
Завършване+схеми

След като всички платки са изключени, следващата стъпка е да направите всички необходими хардуерни връзки към Arduino. Има два основни раздела, които трябва да се вземат предвид:

  • Драйверът и двигателят на стъпковия двигател
  • Подобрената платка Nextion.

Трябва да се уверите, че използвате външен източник на захранване, за да захранвате както стъпковия двигател, така и платката Nextion Enhanced. Самата платка на драйвера на стъпков двигател се захранваше от Arduino без никакви проблеми, но действителният стъпков двигател ще се нуждае от външно захранване. Платката Nextion Enhanced също се нуждае от външно захранване, тъй като изисква повече ток, отколкото Arduino може безопасно да осигури.

Обърнете внимание на използваното външно захранване. Уверих се, че имам достатъчно голямо захранване, за да се справя с изискванията за мощност на проекта, и използвах съответните таблици с данни, за да ми помогна да идентифицирам тези изисквания. Ако планирате да повторите този проект, не забравяйте да вземете предвид специфичните изисквания за мощност на вашия двигател, драйвера на двигателя и дисплея Nextion. Arduino може да захранва само 400mA ток от 5V щифта. С всичко свързано, включих дисплея на Nextion, след което захранвах Arduino. Стъпковият двигател започва да се върти автоматично. Използвах първия интерфейс за промяна на посоката и/или скоростта на двигателя. Моля, обърнете внимание на максималните и минималните скорости, зададени в кода на Arduino. След това използвах бутона Напред, за да премина към втория интерфейс на дисплея Nextion Enhanced. Вторият интерфейс прилича на пиано. И когато натисна клавиш на дисплея на пианото, двигателят променя скоростта, за да съответства на нотата, която натиснах.

Това е. Сега сте готови.

Дано да ви хареса

Препоръчано: