Мазмұны:

Әнді қадамдық мотормен ойнаңыз !!: 11 қадам (суреттермен)
Әнді қадамдық мотормен ойнаңыз !!: 11 қадам (суреттермен)

Бейне: Әнді қадамдық мотормен ойнаңыз !!: 11 қадам (суреттермен)

Бейне: Әнді қадамдық мотормен ойнаңыз !!: 11 қадам (суреттермен)
Бейне: Титаниктің құпиясы: олар айсбергті қалай байқамады?! Ең егжей-тегжейлі оқиға! 2024, Қараша
Anonim
Қадамдық мотормен әндерді ойнаңыз !!
Қадамдық мотормен әндерді ойнаңыз !!

Бұл жоба қадамдық қозғалтқышпен екі түрлі әрекеттесуге мүмкіндік беретін қарапайым динамикалық интерфейсті жобалауға арналған.

Бірінші интерфейс қадамдық қозғалтқыштың бағыты мен жылдамдығын қарапайым GUI көмегімен басқарады, олардың бағыты солға және оңға, ал жылдамдық үшін жоғары және төмен көрсеткілері бар.

Екінші интерфейс музыкалық сипатқа ие болады, бұл қадамдық мотордың айналмалы дыбыстарын қолдана отырып қарапайым әндерді орындауға мүмкіндік береді.

1 -қадам: қажет бөлшектер

  1. Arduino UNO (немесе үйлесімді тақта)
  2. ITead Studio -дан Nextion Enhanced NX4827K043.
  3. Nextion Enhanced дисплейі үшін Nextion кеңейту тақтасы
  4. Micro SDHC картасы
  5. SD Card Reader/Writer - файлдарды компьютерден SDHC картасына тасымалдауға арналған
  6. Нан тақтасы
  7. Қадамдық қозғалтқыш (42BYGHM809)
  8. 100 uF CapacitorDuinotech Stepper мотор драйвері (L298) - [JayCar бөлігі# XC4492].
  9. Сыртқы қуат көзі - мысалы Реттелетін зертханалық қуат көзі

2 -қадам: Интерфейс құру

Интерфейс құру
Интерфейс құру

Бірінші қадам - компьютерде Nextion редакторында интерфейстерді құру.

Nextion редакторын мына жерден жүктей аласыз.

Nextion редакторын жүктеп, жаңа жоба жасаңыз. Жаңа жобаны бастаған кезде, қол жетімді нұсқалардан дұрыс Nextion құрылғысын таңдағаныңызға көз жеткізіңіз. Мұнда «Nextion Enhanced NX4827K043» құрылғысы қолданылады.

  1. Файл → Жаңа тармағын таңдаңыз Жоба үшін атауды таңдаңыз және оны қатты дискідегі сәйкес жерге сақтаңыз.
  2. Қол жетімді нұсқалардан сәйкес Nextion құрылғысын таңдаңыз

    Менің құрылғымда 480 x 272 пиксель өлшемі бар экран бар

3 -қадам: Жобаның ресурстары

Жоба ресурстары
Жоба ресурстары
Жоба ресурстары
Жоба ресурстары
Жоба ресурстары
Жоба ресурстары

Сіз жобаға барлық ресурстарды (мысалы, суреттер мен қаріптерді) импорттауыңыз керек, содан кейін сіздің қажеттіліктеріңізге сәйкес интерфейсті жобалауыңыз керек.

Қаріптер

Қолданылатын арнайы қаріптер жоқ, бірақ егер дисплейге кез келген мәтінді жазғыңыз келсе, Nextion редакторында қаріп құру қажет болады.

A) Құралдар → Қаріп генераторы

  1. Қаріп биіктігін таңдаңыз (мысалы, 16).
  2. Қаріп кодының түрін таңдаңыз (мысалы, iso-8859-2)
  3. Қалың болғысы келетінін немесе болмайтынын таңдаңыз
  4. Қолданылатын қаріпті таңдаңыз (мысалы, Arial)
  5. Аралықты таңдаңыз (мысалы, 0)
  6. Ақырында бұл қаріпке бірегей атау беріңіз (мысалы, Arial_16)
  7. Терезенің төменгі оң жағындағы «Қаріп құру» түймесін басыңыз.

Қаріп құру түймесін басқаннан кейін, ол *.zi кеңейтімін қолдана отырып қаріпті сақтауға мүмкіндік береді және сізден «Жасалған қаріпті қосқыңыз келе ме?» жобаға. Егер сіз қаріпке риза болсаңыз және бұл қаріпті жобаңызда қолданғыңыз келсе, «Иә» таңдаңыз, әйтпесе «Жоқ» таңдаңыз және қайтадан бастаңыз.

Сіз қаріпті импорттамайынша немесе оны қоспайынша, жобаңызға ешқандай мәтін қоса алмайсыз. Жобаның барлық қаріптері қаріптер терезесінде көрсетіледі.

** Ескерту: әр қаріп автоматты түрде индекстеледі, сондықтан қажет болған жағдайда қаріпке грамматикалық түрде сілтеме жасай аласыз. Іс жүзінде сіздің жобаңызға қосатын барлық ресурстарға нөмір беріледі және әрбір қосылған ресурс үшін біреуіне көбейеді. Кейбір ресурстар үшін бұл нөмірді элементтің сол жағында көруге болады. Мысалы, Жоғарыдағы суретте Courier шрифтінде 0 индексі бар, ал Arial шрифтінде 1 индексі бар. Егер сіз ресурсты жойсаңыз, индекс нөмірі сол элемент үшін өзгеруі мүмкін.

4 -қадам: кескіндерді импорттау

Кескіндерді импорттау
Кескіндерді импорттау
Кескіндерді импорттау
Кескіндерді импорттау

Nextion Enhanced NX4827K043 құрылғысында әр суреттің өлшемі 480 x 272 пиксель болуы керек.

Енді біз келесі суреттерді Nextion редакторына импорттаймыз, осылайша біз оларды жобада қолдана аламыз. Nextion редакторының төменгі сол жақ бұрышында «Қаріптер мен сурет» ресурстық терезесі орналасқан:

  1. Сурет қойындысын таңдаңыз
  2. Содан кейін «+» белгісін таңдаңыз
  3. Бұл жобаға қосылатын суреттерді таңдауға мүмкіндік беретін диалогтық терезені ашады. Импорттау үшін бірнеше суретті таңдауға болады.

Экрандық экран үшін сіз өзіңіздің қалауыңыз бойынша кез келген суретті жасай аласыз.

Ал Stepper моторы мен фортепиано интерфейсі үшін жоғарыдағы суретті жүктеуге болады.

5 -қадам: GUI жасау

GUI жасау
GUI жасау

Әрбір ресурс қосылған тәртіпке сәйкес идентификатор алады және әр ресурс автоматты түрде атау алады.

Сіз ресурстың немесе нысанның атын өзгерте аласыз, бірақ идентификаторды өңдей алмайсыз.

Үш бет жоғарыда сипатталған критерийлерге сәйкес келеді.

Бетті қосу үшін «бет терезесінен» «Қосу» белгісін таңдау жеткілікті. Барлығы 3 бет болғанша беттерді қосуды жалғастырыңыз (0 бет, 1 бет және 2 бет).

6-қадам: 0-бет

0-бет
0-бет

Nextion қосылған кезде, экранда Stepper Motor Controller экраны көрсетілмейінше 3 секунд бойы көрсетіледі. Экрандық экран жасау үшін келесі қадамдарды қолдандым.

Экрандық суретті 0 бетке қосыңыз

  • Бет терезесінен «0 бет» таңдаңыз
  • Құралдар терезесінен «Сурет» таңдаңыз
  • Атрибут терезесіндегі «pic» атрибутын екі рет шертіңіз
  • Тізімнен ашылмалы экран суретін таңдаңыз
  • OK түймесін басыңыз

2. 0 бетке Таймерді қосыңыз

  • Аспаптар терезесінен Таймерді таңдаңыз
  • Атрибут терезесінде «tim» төлсипатын 400 -ден 3000 -ға өзгертіңіз
  • Таймер оқиғасының Пайдаланушы коды бөліміне «бет1» енгізіңіз (0) Бұл таймер оқиғасы Nextion 3 секундтан кейін 1 -бетке ауысады.

Бұл таймер оқиғасы Nextion -ды 3 секундтан кейін 1 -бетке көшіреді.

7 -қадам: 1 -бет - Қадамдық мотор контроллері

Бұл бет қадамдық қозғалтқыштың бағыты мен жылдамдығын басқаруға арналған. Бағыт үшін екі түйме болады (Солға және Оңға), және жылдамдыққа арналған екі түйме (Жылдам және Баяу). Келесі бетке өту үшін тағы бір түйме (яғни Stepper Motor Piano беті). Бұл түймелер Nextion кеңейту тақтасына да салыстырылады. Кеңейту тақтасының жанасу түймелері қозғалтқышты басқарудың балама әдісін ұсынады.

Stepper Motor Controller суретін 1 -бетке қосыңыз

  • Бет терезесінен «бет1» таңдаңыз
  • Құралдар терезесінен «Сурет» таңдаңыз
  • Атрибут терезесіндегі «pic» атрибутын екі рет шертіңіз
  • Тізімнен «Қадамдық мотор контроллері» суретін таңдаңыз
  • OK түймесін басыңыз

2. Stepper Motor Controller кескініндегі әрбір түйменің үстіне Hotspots қосыңыз

а) Құралдар жәшігі терезесінен «хотспотты» таңдаңыз

b) Хотспотты «Солға» түймесін жабатын етіп апарыңыз және өлшемін өзгертіңіз

  • Бұл «Сол жақ батырманы» басуға жауап беретін аймақ.
  • Nextion тақтасына жүктелген кезде ол мөлдір болады

в) Оқиға терезесіндегі «Басу оқиғасы» қойындысын таңдаңыз

d) «Компонент идентификаторын жіберу» құсбелгісін алып тастаңыз

e) Оқиғалар терезесінің «Пайдаланушы коды» бөліміне келесі кодты енгізіңіз:

«L» әрпін басып шығару

f) Келесі процесті қолдана отырып, кіру нүктесінің нысан атауын «Солға» өзгерту:

  • Атрибут терезесінен объект атын таңдаңыз және мәтінді «m0» -ден «Солға» өзгертіңіз
  • Хотспот объектісінің атауын өзгерту міндетті емес; бірақ бұл кейінірек көмектеседі.

g) Басқа түймелердің әрқайсысы үшін 2a-2f қадамдарын келесі ретпен және төмендегі кестеге сәйкес қайталаңыз

  • Дұрыс
  • Тезірек
  • Жайрақ
  • Келесі

«L» әрпінің ондық ASCII коды - 76, сондықтан Nextion Enhanced дисплейі L әрпін Arduino -ға «L» баспа командасы арқылы жібергенде, Arduino 76 санын алады. Оң жақ батырманы басқанда, ол 82 санын алады және т.б. «Келесі» батырмасы Arduino -ға ештеңе жібермейді, тек Nextion Enhanced дисплейіндегі келесі интерфейске өту үшін, сол себепті бұл батырманың пайдаланушы коды басқаша болады.

3. Түймелерді кеңейту тақтасына салыңыз

а) Бет терезесінен «бет0», содан кейін «бет1» таңдаңыз

b) Оқиға терезесінен «Оқиғаны алдын ала бастау» қойындысын таңдаңыз

c) Оқиғаны алдын ала бастау қойындысының “Пайдаланушы коды” өрісіне келесі кодты енгізіңіз:

  • cfgpio 5, 1, сол жақ
  • cfgpio 2, 1, Оң жақ
  • cfgpio 4, 1, жылдамырақ
  • cfgpio 3, 1, Баяу
  • cfgpio 1, 1, Келесі

*** Назар аударыңыз: cfgpio мен оның жанындағы сан арасында бір бос орын бар, бірақ әр жолда басқа бос орын жоқ. Егер сіз қосымша бос орындар енгізсеңіз, ол құрастырылмайды. Бұл код кеңейту тақтасындағы түймелерді 1 -беттегі хотспот объектілеріне салыстырады. Мысалы, кеңейту тақтасындағы Сол жақ түймешік (IO5) басылған кезде, m0/Left хотспотына байланысты әрекеттерді немесе оқиғаларды имитациялайды. Бұл жағдайда ол Arduino -ға «L» (76) мәнін жібереді.

IO нөмірі кеңейту тақтасындағы жақшалардың ішінде белгіленеді.

8 -қадам: 2 -бет - Stepper моторлы фортепиано

2 -бет - Қадамдық моторлы фортепиано
2 -бет - Қадамдық моторлы фортепиано
2 -бет - Қадамдық моторлы фортепиано
2 -бет - Қадамдық моторлы фортепиано

оның интерфейсі фортепианоға ұқсайтын етіп жасалған және маған моторды басқаруға мүмкіндік береді, сонда ол Nextion дисплейінде мен басқан пернедегі жазбаны шығарады. Қадамдық қозғалтқыш белгіні белгілі бір жиілікте айналдыру арқылы шығарады.

1. Stepper Motor Piano суретін 2 -бетке қосыңыз.

  • Бет терезесінен «бет 2» таңдаңыз
  • Құралдар терезесінен «Сурет» таңдаңыз
  • Атрибут терезесіндегі «pic» атрибутын екі рет шертіңіз
  • Тізімнен «Stepper Motor Piano» суретін таңдаңыз
  • OK түймесін басыңыз

2. Stepper моторлы фортепиано кескінінің әр пернесінің үстіне Hotspots қосыңыз

а) Құралдар жәшігі терезесінен «хотспотты» таңдаңыз

b) «А» пернесін жабатын етіп Hotspot апарыңыз және өлшемін өзгертіңіз. Бұл «А» пернесін басуға жауап беретін аймақ. Nextion тақтасына жүктелгенде ол мөлдір болады.

в) Оқиға терезесіндегі «Басу оқиғасы» қойындысын таңдаңыз.

d) «Пайдаланушы коды» бөліміне келесіні енгізіңіз

басып шығару 1

e) Төмендегі кестеге сәйкес басқа кілттердің әрқайсысы үшін 2a-2d қадамдарын қайталаңыз.

** Белгілі бір пернені басқанда, Nextion Enhanced тақтасы басып шығарылған нөмірді жібереді, одан кейін үш 0x00 мәні болады. Аяқталатын мәндерді елемеуге болады.

3. «Артқа» түймесі Nextion Enhanced тақтасындағы алдыңғы интерфейске оралуға мүмкіндік береді.

а) Келесі процесті пайдаланып, артқа түймесі үшін хотспот құрыңыз:

  1. Toolbox терезесінен Hotspot таңдаңыз
  2. Хотспотты «Артқа» түймесінің үстіне жылжытыңыз/өлшемін өзгертіңіз

б) Оқиғалар терезесін таңдаңыз.

c) «Touch press event» қойындысының таңдалғанына көз жеткізіңіз

d) теріңіз: 1 -бет беті Пайдаланушы коды бөліміне

9 -қадам: жөндеу

Жөндеу
Жөндеу
Жөндеу
Жөндеу

Nextion редакторының жақсы жағы - интерфейсті тақтаға жүктемес бұрын оның жұмысын тексеруге болады.

  1. Жобаны тапсырмалар тақтасындағы сақтау түймесін басу арқылы сақтаңыз
  2. Содан кейін компиляция түймесін басыңыз
  3. Содан кейін отладка батырмасын басыңыз.

Nextion эмуляторы терезесі пайда болады. Бұл терезе Nextion файлы тақтаға жүктелгеннен кейін Nextion модулі сияқты жауап беруі керек. Бұл эмулятор интерфейсті тексерудің және оның күтілгендей жұмыс істейтініне көз жеткізудің тамаша әдісі. Мен интерфейске (интерфейстерге) риза болғаннан кейін, құрастырылған Nextion файлын SD картасына жібердім:

  1. Компиляция түймесін басыңыз
  2. Файл → Құру қалтасын ашу
  3. Жобаның атымен бірдей *.tft файлын таңдаңыз.
  4. Оны micro SDHC картасына көшіріңіз
  5. SDHC картасын Nextion дисплейіндегі SD картасының ұясына салыңыз
  6. Nextion тақтасын қосыңыз

Файл Nextion тақтасының жыпылықтауын күтіңіз, сіз келесідей хабарды көресіз:

Келесі қадам - Nextion тақтасын өшіру және SDHC картасын алу.

10 -қадам: ARDUINO ОРНАТУ

Nextion Enhanced дисплейі дайын, енді кезек Arduino -ға келді. Arduino Nextion Enhanced дисплейінен сериялық хабарларды алуға және алынған әріптер мен сандарға негізделген қадамдық қозғалтқышты басқаруға арналған. Nextion тақтасынан берілетін бірегей әріптер немесе сандар Arduino -ға қандай батырманың басылып жатқанын түсінуге мүмкіндік береді және ол нақты қадамдық қозғалтқыш әрекеттерін орындау үшін кодтың ағымын басқару үшін сол сандарды немесе әріптерді қолданады.

SoftwareSerial кітапханасы Arduino мен Nextion Enhanced дисплейі арасындағы сериялық байланысты қосу үшін қолданылады. AccelStepper кітапханасы қадамдық қозғалтқышты басқару процесін жеңілдету үшін қолданылады.

Қозғалтқыштар үшін максималды және минималды жылдамдықты және кейбір алдын ала анықталған кілттерді орнатыңыз. Nextion дисплейінің бірінші интерфейсін қолданып, қозғалтқышты «баптауға» болады. Қажетті кілтке жеткенше қозғалтқышты жылдам немесе баяу айналдыру арқылы мұны жасауға болады. Бұл жерде iTunes қосымшалар дүкеніндегі «Tuner T1 Free» қосымшасы қозғалтқыш кілтке жазба шығарғанын анықтау үшін қолданылады. Қозғалтқыш белгілі бір жазбаны шығарған кезде мен сериялық монитор терезесіне басылған қадамдық қозғалтқыштың жылдамдығын жазатын едім. Қозғалтқыш жылдамдығы жоғарылаған немесе төмендеген сайын Arduino коды сериялық монитор терезесіне жылдамдықты басып шығарады. Содан кейін мен осы жылдамдықтарды Arduino кодындағы жазбалар жиынын жаңарту үшін қолданамын. Ноталар массиві фортепианодағы жеке ноталарға сәйкес келетін қадамдық қозғалтқыш жылдамдығын ұстайды. Nextion дисплейі нота индексінің нөмірін Arduino -дағы ноталар массивінен жібереді, осылайша моторды 16 түрлі жылдамдықта айналдыру үшін қажетті кодты жеңілдетеді.

11 -қадам: Қорытындылау+Схемалар

Қорытындылау+Схемалар
Қорытындылау+Схемалар
Қорытындылау+Схемалар
Қорытындылау+Схемалар
Қорытындылау+Схемалар
Қорытындылау+Схемалар
Қорытындылау+Схемалар
Қорытындылау+Схемалар

Барлық тақталар өшірілгенде, келесі қадам - Arduino -ға барлық қажетті аппараттық қосылуларды орнату. Қарастырылатын екі негізгі бөлім бар:

  • Stepper қозғалтқышы мен қозғалтқышы
  • Nextion жақсартылған тақтасы.

Қадамдық қозғалтқышты да, Nextion Enhanced тақтасын да қуаттандыру үшін сыртқы қуат көзін пайдаланғаныңызға сенімді болуыңыз керек. Қадамдық мотор драйверлері тақтасы Arduino -мен еш қиындықсыз жұмыс істейді, бірақ қадамдық қозғалтқышқа сыртқы қуат көзі қажет болады. Nextion Enhanced тақтасы сыртқы қуат көзіне де мұқтаж, себебі ол Arduino қауіпсіз түрде қамтамасыз ете алатын токты қажет етеді.

Қолданылатын сыртқы қуат көзіне назар аударыңыз. Менде жобаның қуат талаптарын қанағаттандыру үшін жеткілікті үлкен қуат көзі бар екеніне көз жеткіздім және осы талаптарды анықтауға көмектесу үшін тиісті деректер кестесін қолдандым. Егер сіз бұл жобаны қайталауды жоспарласаңыз, қозғалтқыштың, қозғалтқыштың драйверінің және Nextion дисплейінің қуат талаптарына назар аударғаныңызға көз жеткізіңіз. Arduino 5В істікшеден тек 400мА ток бере алады. Бәрі қосылғаннан кейін мен Nextion дисплейін, содан кейін Arduino -ны қостым. Қадамдық қозғалтқыш автоматты түрде айнала бастайды. Мен қозғалтқыштың бағытын және/немесе жылдамдығын өзгерту үшін бірінші интерфейсті қолдандым. Arduino кодында орнатылған ең жоғары және ең төменгі жылдамдықтарға назар аударыңыз. Содан кейін мен Nextion Enhanced дисплейіндегі екінші интерфейске өту үшін Келесі түймесін қолдандым. Екінші интерфейс фортепианоға ұқсайды. Мен фортепиано дисплейіндегі пернені басқанда, қозғалтқыш мен басқан нотаға сәйкес жылдамдықты өзгертеді.

Міне, бітті.

Сізге ұнайды деп үміттенемін

Ұсынылған: