Оглавление:
- Шаг 1. Необходимые детали
- Шаг 2: Создание интерфейса
- Шаг 3. Ресурсы проекта
- Шаг 4: Импорт изображений
- Шаг 5: Создание графического интерфейса
- Шаг 6: Страница 0 - Начальный экран
- Шаг 7: Страница 1 - Контроллер шагового двигателя
- Шаг 8: Страница 2 - Пианино с шаговым двигателем
- Шаг 9: отладка
- Шаг 10: НАСТРОЙКА ARDUINO
- Шаг 11: Завершение + схемы
Видео: Воспроизведение песен с помощью шагового двигателя !!: 11 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Этот проект посвящен разработке простого динамического интерфейса, который позволит взаимодействовать с шаговым двигателем двумя разными способами.
Первый интерфейс будет управлять направлением и скоростью шагового двигателя с помощью простого графического интерфейса пользователя, который имеет стрелки влево и вправо для направления и стрелки вверх и вниз для скорости.
Второй интерфейс будет более музыкальным, что позволит проигрывать простые песни, используя звуки вращения шагового двигателя.
Шаг 1. Необходимые детали
- Arduino UNO (или совместимая плата)
- Nextion Enhanced NX4827K043 от iTead Studio.
- Плата расширения Nextion для дисплея Nextion Enhanced
- Карта Micro SDHC
- Устройство чтения / записи SD-карт - для передачи файлов с компьютера на SDHC-карту
- Макетная плата
- Шаговый двигатель (42BYGHM809)
- Конденсатор 100 мкФ Драйвер шагового двигателя Duinotech (L298) - [JayCar part # XC4492].
- Внешний источник питания - например, Регулируемый лабораторный источник питания
Шаг 2: Создание интерфейса
Первый шаг - создать интерфейсы в редакторе Nextion на вашем ПК.
Вы можете скачать редактор Nextion здесь.
Загрузите редактор Nextion и создайте новый проект. Когда вы начинаете новый проект, вам необходимо убедиться, что вы выбрали правильное устройство Nextion из доступных опций. Здесь используется устройство Nextion Enhanced NX4827K043.
- Выберите Файл → Создать, выберите имя проекта и сохраните его в подходящем месте на жестком диске.
-
Выберите подходящее устройство Nextion из доступных опций.
У моего устройства размер экрана 480 x 272 пикселей
Шаг 3. Ресурсы проекта
Вам необходимо импортировать все ресурсы (например, изображения и шрифты) в свой проект, а затем разработать интерфейс в соответствии с вашими конкретными потребностями.
Шрифты
Никаких конкретных шрифтов не используется, но если вы хотите написать какой-либо текст на дисплее, вам нужно будет сгенерировать шрифт в редакторе Nextion Editor.
A) Инструменты → Генератор шрифтов
- Выберите высоту шрифта (например, 16).
- Выберите тип кода шрифта (например, iso-8859-2)
- Выберите, хотите ли вы, чтобы он был полужирным или нет
- Выберите шрифт, который хотите использовать (например, Arial).
- Выберите интервал (например, 0)
- И, наконец, дайте этому шрифту уникальное имя (например, Arial_16)
- Нажмите кнопку «Создать шрифт» в правом нижнем углу окна.
После того, как вы нажмете кнопку «Создать шрифт», вы сможете сохранить шрифт с расширением *.zi и автоматически спросит вас, хотите ли вы «Добавить сгенерированный шрифт?» к проекту. Если вы довольны шрифтом и хотели бы использовать этот шрифт в своем проекте, выберите «Да», в противном случае выберите «Нет» и начните заново.
Вы не можете добавить текст в свой проект, пока не импортируете или не добавите шрифт. Все шрифты вашего проекта будут отображаться в окне шрифтов.
** Примечание: каждый шрифт будет автоматически проиндексирован, так что вы можете программно ссылаться на шрифт, если это необходимо. Фактически, всем ресурсам, которые вы добавляете в свой проект, присваивается номер и увеличивается на единицу для каждого добавленного ресурса. Для некоторых ресурсов вы можете увидеть этот номер слева от элемента. Например. На изображении выше шрифт Courier имеет индекс 0, тогда как шрифт Arial имеет индекс 1. Если вы удалите ресурс, номер индекса для этого элемента может измениться.
Шаг 4: Импорт изображений
На устройстве Nextion Enhanced NX4827K043 каждое изображение должно иметь размер 480 x 272 пикселей.
Теперь мы импортируем следующие изображения в редактор Nextion, чтобы использовать их в проекте. В левом нижнем углу редактора Nextion находится окно ресурсов «Шрифты и изображения»:
- Выберите вкладку Изображение
- Затем выберите значок «+»
- Откроется диалоговое окно, в котором вы сможете выбрать изображения для добавления в проект. Вы можете выбрать более одного изображения для импорта.
Для заставки вы можете сделать любое изображение по вашему выбору.
А для интерфейса шагового двигателя и фортепиано вы можете скачать изображение выше.
Шаг 5: Создание графического интерфейса
Каждый ресурс получит идентификатор в зависимости от порядка, в котором он был добавлен, и каждый ресурс автоматически получит имя.
Вы можете изменить имя ресурса или объекта, но не можете изменить идентификатор.
Три страницы будут разработаны в соответствии с критериями, описанными выше.
Чтобы добавить страницу, вы просто выбираете значок «Добавить» в «окне страницы». И продолжайте добавлять страницы, пока у вас не будет всего 3 страниц (page0, page1 и page2).
Шаг 6: Страница 0 - Начальный экран
Когда Nextion включен, заставка будет отображаться в течение 3 секунд, прежде чем появится экран контроллера шагового двигателя. Я использовал следующие шаги, чтобы создать заставку.
Добавьте изображение заставки на страницу 0
- Выберите «страница 0» в окне страницы.
- Выберите «Изображение» в окне «Панель инструментов».
- Дважды щелкните атрибут «pic» в окне «Атрибут».
- Выберите изображение заставки из списка
- Нажмите кнопку ОК
2. Добавьте таймер на страницу 0.
- Выберите Таймер в окне Панели инструментов.
- Измените атрибут «tim» с 400 на 3000 в окне атрибутов.
- Введите «page page1» в разделе кода пользователя события таймера (0). Это событие таймера заставит Nextion перейти на страницу 1 через 3 секунды.
Это событие таймера заставит Nextion перейти на страницу 1 через 3 секунды.
Шаг 7: Страница 1 - Контроллер шагового двигателя
Эта страница предназначена для управления направлением и скоростью шагового двигателя. Там будут две кнопки для направления (влево и вправо) и две кнопки для скорости (быстрее и медленнее). И еще одна кнопка для перехода на следующую страницу (например, страницу с шаговым двигателем). Эти кнопки также будут привязаны к плате расширения Nextion. Тактильные кнопки на плате расширения предоставят альтернативный метод управления двигателем.
Добавьте изображение контроллера шагового двигателя на страницу 1
- Выберите «page1» в окне «Страница».
- Выберите «Изображение» в окне «Панель инструментов».
- Дважды щелкните атрибут «pic» в окне «Атрибут».
- Выберите изображение «Контроллер шагового двигателя» из списка.
- Нажмите кнопку ОК
2. Добавьте горячие точки над каждой кнопкой на изображении контроллера шагового двигателя.
a) Выберите «Hotspot» в окне Toolbox.
б) Перетащите и измените размер точки доступа, чтобы она закрывала кнопку «Влево».
- Это область, которая будет реагировать на нажатие «левой кнопки».
- Он будет прозрачным при загрузке на доску Nextion
c) Выберите вкладку «Touch Press Event» в окне событий.
г) Снимите флажок «Отправить идентификатор компонента».
e) Введите следующий код в раздел «Код пользователя» окна события:
печать «L»
f) Измените имя объекта горячей точки на «Left», используя следующий процесс:
- Выберите objname в окне атрибутов и измените текст с «m0» на «Left».
- Менять имя объекта хотспота не обязательно; однако это поможет позже.
g) Повторите шаги 2a-2f для каждой из других кнопок в следующем порядке и в соответствии с таблицей ниже.
- Верно
- Быстрее
- Помедленнее
- Следующий
Десятичный код ASCII для буквы «L» - 76, поэтому, когда дисплей Nextion Enhanced отправляет букву L в Arduino с помощью команды печати «L», Arduino получит число 76. При нажатии правой кнопки он получит число 82 и так далее. Кнопка «Далее» ничего не передает в Arduino, она просто используется для перехода к следующему интерфейсу на дисплее Nextion Enhanced, отсюда и причина, по которой код пользователя для этой кнопки отличается.
3. сопоставьте кнопки с платой расширения
а) Выберите «page0», а затем «page1» в окне страницы.
б) Выберите вкладку «Preinitialize Event» в окне «Событие».
c) Введите следующий код в поле «Код пользователя» на вкладке «Предварительная инициализация события»:
- cfgpio 5, 1, слева
- cfgpio 2, 1, Вправо
- cfgpio 4, 1, Быстрее
- cfgpio 3, 1, Медленнее
- cfgpio 1, 1, Далее
*** Обратите внимание: между cfgpio и числом рядом с ним есть один пробел, но в каждой строке нет других пробелов. Если вы введете лишние пробелы, он не будет компилироваться. Этот код сопоставляет кнопки на плате расширения с объектами горячей точки на странице 1. Например, когда нажата кнопка «Влево» (IO5) на плате расширения, она имитирует действия или события, связанные с точкой доступа m0 / Left. В этом случае он отправит на Arduino значение «L» (76).
Номер ввода-вывода отмечен в скобках на плате расширения.
Шаг 8: Страница 2 - Пианино с шаговым двигателем
его интерфейс будет выглядеть как пианино и позволит мне управлять шаговым двигателем так, чтобы он воспроизводил ноту в той же клавише, что и та, которую я нажимаю на дисплее Nextion. Шаговый двигатель будет производить банкноту, вращаясь с определенной частотой.
1. Добавьте изображение пианино с шаговым двигателем на страницу 2.
- Выберите «page2» в окне «Страница».
- Выберите «Изображение» в окне «Панель инструментов».
- Дважды щелкните атрибут «pic» в окне «Атрибут».
- Выберите изображение «Stepper Motor Piano» из списка.
- Нажмите кнопку ОК
2. Добавьте точки доступа к каждой клавише на изображении пианино с шаговым двигателем.
a) Выберите «Hotspot» в окне Toolbox.
б) Перетащите и измените размер точки доступа так, чтобы она закрывала клавишу «A». Это область, которая будет реагировать на нажатие клавиши «A». Она будет прозрачной при загрузке на доску Nextion.
c) Выберите вкладку «Touch Press Event» в окне событий.
г) Введите следующее в разделе «Код пользователя».
печать 1
e) Повторите шаги 2a-2d для каждой из других клавиш в соответствии с таблицей ниже.
** При нажатии определенной клавиши плата Nextion Enhanced передаст напечатанный номер, за которым следуют три значения 0x00. Завершающие значения можно игнорировать.
3. Кнопка «Назад» позволит мне вернуться к предыдущему интерфейсу на плате Nextion Enhanced.
а) Создайте точку доступа для кнопки возврата, используя следующий процесс:
- Выберите Hotspot в окне Toolbox.
- Переместите / измените размер активной области над кнопкой «Назад»
б) Выберите окно событий.
c) Убедитесь, что выбрана вкладка «Touch press event».
г) Введите: page page1 в раздел "Код пользователя".
Шаг 9: отладка
Хорошая вещь в редакторе Nextion заключается в том, что вы можете протестировать функциональность интерфейса, прежде чем загружать его на плату.
- Сохраните проект, нажав кнопку сохранения на панели задач.
- Затем нажмите кнопку компиляции
- Затем нажмите кнопку отладки.
Появится окно эмулятора Nextion. Это окно должно реагировать так же, как модуль Nextion, после того, как файл Nextion загружен на плату. Этот эмулятор - отличный способ протестировать ваш интерфейс и убедиться, что он выглядит и работает должным образом. Когда мне понравились интерфейсы, я перенес скомпилированный файл Nextion на SD-карту:
- Нажмите кнопку компиляции
- Файл → Открыть папку сборки
- Выберите файл *.tft с тем же именем, что и у проекта.
- Скопируйте его на карту micro SDHC
- Вставьте SDHC-карту в слот для SD-карты на дисплее Nextion.
- Включите плату Nextion
Подождите, пока файл не будет мигать на плате Nextion, и вы должны увидеть сообщение, которое выглядит следующим образом:
Следующим шагом будет выключение платы Nextion и извлечение SDHC-карты.
Шаг 10: НАСТРОЙКА ARDUINO
Дисплей Nextion Enhanced готов, и теперь настала очередь Arduino. Arduino запрограммирован на получение последовательных сообщений с дисплея Nextion Enhanced и управление шаговым двигателем на основе полученных букв или цифр. Уникальные буквы или цифры, передаваемые с платы Nextion, позволяют Arduino понимать, какая кнопка нажата, и он использует эти цифры или буквы для управления потоком кода для выполнения определенных действий шагового двигателя.
Библиотека SoftwareSerial используется для обеспечения последовательной связи между Arduino и дисплеем Nextion Enhanced. Библиотека AccelStepper используется для упрощения процесса управления шаговым двигателем.
Установите максимальную и минимальную скорость для двигателей и некоторые предварительно определенные ключи. Можно «настроить» двигатель, используя первый интерфейс дисплея Nextion. Вы можете сделать это, заставив двигатель вращаться быстрее или медленнее, пока не достигнете желаемой клавиши. Здесь приложение «Tuner T1 Free» из магазина приложений iTunes используется для определения, КОГДА двигатель выдавал заметку в ключе. Когда двигатель выдавал определенную ноту, я записывал скорость шагового двигателя, которая была напечатана в окне последовательного монитора. Каждый раз, когда скорость двигателя увеличивается или уменьшается, код Arduino выводит скорость в окно последовательного монитора. Затем я использую эти скорости для обновления массива notes в коде Arduino. В массиве notes хранятся скорости шагового двигателя, соответствующие отдельным нотам на фортепиано. Дисплей Nextion по существу отправляет порядковый номер ноты для воспроизведения из массива нот на Arduino, тем самым упрощая код, необходимый для вращения двигателя на 16 различных скоростях.
Шаг 11: Завершение + схемы
Когда все платы выключены, следующим шагом будет выполнение всех необходимых аппаратных подключений к Arduino. Следует рассмотреть два основных раздела:
- Драйвер шагового двигателя и двигатель
- Плата Nextion Enhanced.
Вам необходимо убедиться, что вы используете внешний источник питания для питания как шагового двигателя, так и платы Nextion Enhanced. Сама плата драйвера шагового двигателя без проблем питалась от Arduino, но для самого шагового двигателя потребуется внешний источник питания. Плата Nextion Enhanced также нуждается во внешнем источнике питания, поскольку она требует большего тока, чем может безопасно обеспечить Arduino.
Обратите внимание на используемый внешний источник питания. Я убедился, что у меня достаточно большой блок питания, чтобы удовлетворить требования проекта к питанию, и использовал соответствующие таблицы, чтобы помочь мне определить эти требования. Если вы планируете повторить этот проект, убедитесь, что вы приняли во внимание конкретные требования к мощности вашего двигателя, драйвера двигателя и дисплея Nextion. Arduino может подавать только 400 мА тока с вывода 5 В. Когда все было подключено, я включил дисплей Nextion, затем включил Arduino. Шаговый двигатель начинает вращаться автоматически. Я использовал первый интерфейс, чтобы изменить направление и / или скорость двигателя. Обратите внимание на максимальную и минимальную скорость, установленную в коде Arduino. Затем я использовал кнопку «Далее», чтобы перейти ко второму интерфейсу на дисплее Nextion Enhanced. Второй интерфейс похож на пианино. И когда я нажимаю клавишу на дисплее пианино, мотор меняет скорость в соответствии с нажатой мной нотой.
Вот и все. Теперь все готово.
Надеюсь, вам это понравится
Рекомендуемые:
Управляйте своим компьютером с помощью шагового двигателя !: 9 шагов (с изображениями)
Управляйте своим компьютером с помощью шагового двигателя! В одной из моих предыдущих инструкций я показал вам, как можно использовать шаговый двигатель в качестве поворотного энкодера. В этом руководстве давайте узнаем, как мы можем использовать его для управления нашим компьютером. Итак, без лишних слов, приступим
Создание песен с помощью Arduino и двигателя постоянного тока: 6 шагов
Создание песен с помощью Arduino и двигателя постоянного тока: на днях, просматривая некоторые статьи об Arduino, я заметил интересный проект, в котором для создания коротких мелодий использовались шаговые двигатели, управляемые Arduino. Arduino использовал вывод ШИМ (широтно-импульсной модуляции) для запуска шагового двигателя
Говорящий Ардуино - Воспроизведение MP3 с помощью Arduino без какого-либо модуля - Воспроизведение файла Mp3 из Arduino с использованием PCM: 6 шагов
Говорящий Ардуино | Воспроизведение MP3 с помощью Arduino без какого-либо модуля | Воспроизведение файла Mp3 из Arduino с использованием PCM: в этой инструкции мы узнаем, как воспроизводить файл MP3 с помощью Arduino без использования какого-либо аудиомодуля, здесь мы будем использовать библиотеку PCM для Arduino, которая воспроизводит 16-битный PCM с частотой 8 кГц, поэтому давайте сделаем это
Воспроизведение песен с помощью Arduino с использованием АЦП в ШИМ на обратном трансформаторе или динамике: 4 шага
Воспроизведение песен с помощью Arduino с использованием АЦП в ШИМ на обратном преобразователе или динамике: Здравствуйте, ребята, это вторая часть моего другого инструктажа (что было очень сложно). По сути, в этом проекте я использовал АЦП и ТАЙМЕРЫ на моем Arduino, чтобы преобразовать аудиосигнал в сигнал ШИМ. Это намного проще, чем моя предыдущая инструкция
Воспроизведение песен (MP3) с помощью Arduino с использованием ШИМ на динамике или обратном преобразователе: 6 шагов (с изображениями)
Воспроизведение песен (MP3) с помощью Arduino с использованием ШИМ на динамике или обратном преобразователе: Здравствуйте, ребята, это моя первая инструкция, я надеюсь, вам понравится !! По сути, в этом проекте я использовал последовательную связь между моим Arduino и моим ноутбуком, для передачи музыкальных данных с моего ноутбука на Arduino. И используя ТАЙМЕРЫ Arduino t