Мазмұны:
- 1 -қадам: басқару түймелерін Arduino -ға қосу
- 2 -қадам: Ардуино Леонардоны кодтау:
- 3 -қадам:
- 4 -қадам:
- 5 -қадам:
- 6 -қадам:
- 7 -қадам:
- 8 -қадам: Бірлікте кодтау қозғалысы:
- 9 -қадам:
- 10 -қадам:
- 11 -қадам:
- 12 -қадам:
- 13 -қадам:
- 14 -қадам: Ардуиноға жарық қосу
- 15 -қадам: Arduino Uno кодтау
- 16 -қадам:
- 17 -қадам:
- 18 -қадам: Шамдарды кодтау бірлігі жағы:
- 19 -қадам:
- 20 -қадам:
- 21 -қадам:
- 22 -қадам:
- 23 -қадам:
- 24 -қадам:
Бейне: Arduino ойын контроллері сіздің бірлік ойынына жауап беретін шамдармен :: 24 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:25
Біріншіден, мен бұл нәрсені сөзбен жаздым. Мен бірінші рет нұсқаулықты қолданамын, сондықтан мен: кодты жазыңыз, сол қадамның жоғарғы жағындағы кескінге сілтеме жасайтынымды біліңіз.
Бұл жобада мен 2 бөлек кодты іске қосу үшін 2 arduino -ны қолданамын, себебі мен оны тек бірімен жұмыс істей алмай қиналдым.
Бұл Юно мен Леонардо
бұл сізге бұл жобаны іске қосу үшін қажет нәрсе.
· 7 түйме
· 23 секіргіш сым
· 1 arduino Leonardo + usb кабелі
· 4 резистор · 4 жарықдиодты
· 1 arduino uno + usb кабелі
· 2 нан тақтасы
1 -қадам: басқару түймелерін Arduino -ға қосу
Бұл бөлікті бекіту үшін сізге не қажет:
· 7 түйме
· 14 секіргіш сым
· 1 arduino Leonardo + usb кабелі
· Нан тақтасы
Түймелерді қосу өте қарапайым, бірақ тез кескін түрінде көрсету үшін тәртіпсіздікке айналуы мүмкін.
· Алдымен түймелерді жоғарыдағы суретте мен белгілеген орындарға қойыңыз.
· Екіншіден, сіз секіргішті Леонардо ардуиносындағы слоттан нан тақтасының минус қатарына қосқыңыз келеді.
· Енді сіз минус жолдың кез келген жерінен секіргіштерді түйменің оң жақ түйреуішіне сәйкес келетін қатарға қосасыз. бұл оған қуат береді.
· Әрі қарай, сіз басқыштың сол жақ түйреуішіне сәйкес келетін қатардағы қосқыш сымды Леонардоның сандық кіріс ұяларына қосқыңыз келеді. Бұл жердегі түймелер үшін мен 2 - 3 - 4 - 5 - 6 - 7-8 ұяшығын қолдандым
Мен тек суретке 8 -ге кіретін сымды көрсеттім, себебі ол барлық сымдардың бір -бірінен өтетінін көрсетеді.
2 -қадам: Ардуино Леонардоны кодтау:
Сізге бұл үшін Леонардоны қолданатын себебімді айту үшін. Себебі Uno -да белгілі бір микросхема бар, бұл оны компьютерді USB енгізу құрылғысы ретінде тани алмайды. Бұл пернетақта сияқты. Бұл бізге осы жобаның бағдарламашысы ретінде өмірімізді айтарлықтай жеңілдететін нәрсе жасауға мүмкіндік береді. Пернетақта эмуляциясы. Біз компьютерді алдағы уақытта контроллердегі батырмаларды басқанда пернетақтадағы кейбір пернелерді басамыз деп ойлаймыз.
Енді мен сіз кодты біртіндеп ойластырғаныңызды айтамын.
Біріншіден, біз жоғарыда Keyboard.h қосамыз. Бұл біздің кодта қолданылатын пернетақта функцияларын пайдалануға мүмкіндік береді.
3 -қадам:
Содан кейін біз қолданатын цифрлық кіріс ұяларын анықтауымыз керек
Әр түйме үшін Леонардо.
Мен олардың әрқайсысына мен еліктегім келетін кілттің атын бердім.
4 -қадам:
Ол жерден біз орнату функциясына кіреміз. Бұл айтады
arduino іске қосылғанда не істейді.
алдымен біз Serial.begin жазамыз, ол сериялық портты ашады және деректер жылдамдығын 9600 бит / с дейін орнатады
және біз олардың барлығын түйін деп атаймыз.
5 -қадам:
Ақырында біз цикл функциясын жазамыз, ол тексереді
түймелер басылады және arduino -ға бұған қалай жауап беру керектігін айтады.
Алдымен біз Keyboard.begin жазамыз, ол arduinoға пернетақта функцияларын қолдана отырып, бізді іздеуі керектігін айтады
6 -қадам:
Содан кейін біз әр түйме үшін if/else операторын жазамыз
Мен мұнда arduino -ға айттым: егер контроллерде менің сол жақ батырмам басылса, компьютер бізді «а» пернесін басамыз деп ойлайды, егер олай болмаса, бізді пернені жіберіп қойдық деп ойлаңыз.
Сіз бұл код блогын контроллердегі әр түйме үшін қайталайсыз. әр айнымалыға және айнымалының эмуляциясы қажет кілттерге өзгерістер енгізіледі
7 -қадам:
Біз компьютерге осында басуды айтқан пернелер - W - A - S - D
бұл дербес компьютерлік ойындар мен E-Q-қозғалысының стандарты, және бұл кодта бос орын «мен ойнау кезінде өшіру мен өшіру үшін қолданылатын түймелер» деп танылады. Оларды ойынға/контроллерге жақсы жұмыс істейтін кез келген кілттерге ауыстыруға болады.
Соңында біз arduino -ға Keyboard.end тексеруді тоқтатуды айтамыз
8 -қадам: Бірлікте кодтау қозғалысы:
Біріншіден, мен мұны 2 -ші ойын үшін жасап жатқанымды айтайын
сіз көретін мысалдар сол үшін жасалған. Мен вектор2 -ді қайда қолданатынымды білдіреді, егер сіз 3d -де жұмыс жасасаңыз, сіз вектор3 -ті қолданасыз. өйткені сіз 3d -де қозғалыстың қосымша өлшемі туралы алаңдауыңыз керек.
Енді мен arduino жағында пернетақтаның эмуляциясын қолдандым, себебі Unity -де біз қолдана алатын пернетақтадағы пернелерді тануға арналған бір нәрсе бар.
Егер сіз жобаңызды бірлесе ашсаңыз, Өңдеу -> Жоба параметрлері -> Енгізу тармағына өтіңіз. Сіз инспекторыңызда кіріс менеджерінің жүктелетінін көре аласыз. Егер сіз осьті бассаңыз, әдетте біз жасайтын компьютерлік контроллерлер үшін қолданылатын кіріс атауының толық жиынтығын көре аласыз. Біз қолданатын 2 кіріс-бұл көлденең және тік, сіз оны W-A-S-D деп есептейсіз.
Алдымен сіз бірлік сахналарында сіздің ойыншы болатын иерархияға объект жасағыңыз келеді. Менің жағдайда бұл көңілді кішкентай бала. Бұл сізге қажет нәрсе болуы мүмкін, бірақ мен бұл жігітті ойынның мақсаты үшін жасадым.
9 -қадам:
Сіз бұл ойыншыға 2 нәрсе бергіңіз келеді. 2d және
a Rigidbody 2d және оларды жоғарыдағы суреттегідей етіп өңдеңіз.
10 -қадам:
Содан кейін сіз өзіңіздің жобалар қалтасына кіріп, а
C# сценарийі. Мен оны PlayerMovement деп атадым.
Бұл сценарийде сіз 2 айнымалы мәнді анықтайсыз. Мен MoveSpeed деп аталатын жалпыға ортақ флот. Бұл сіздің қаншалықты жылдам жүретініңізді анықтайды. Мен RigidPlayer деп атайтын жеке Rigidbody2D. Бұл сіздің ойыншыларды қатты адам ретінде іздейді.
Бірлік редакторына кіруді ұмытпаңыз, ойнатқышты тексерушіге сүйреп апарып, жаңа сценарийді қосыңыз және moveSpeed үшін сан мәнін орнатыңыз.
11 -қадам:
енді Start () ішінде сіз бір нәрсені жасағыңыз келеді - бұл
сіздің RigidPlayer сіздің төлеуші rigidbody 2d таба алатынына көз жеткізіңіз. Сіз мұны келесі код жолымен жасайсыз:
12 -қадам:
Содан кейін біз жаңартуға көшеміз (). Міне, біз қайда барамыз
ойыншыны қозғалысқа келтіру үшін.
Біз мұны көлденең (AD) және тік (SW) теріс және оң кілттерге қарайтын және мұны ойыншыға итермелеу үшін қатаң денемізге 2d қоятын күш ретінде қолданатын өте қарапайым if мәлімдемесімен жасаймыз. бағыт. Бұл сан moveSpeed айнымалысына көбейтіледі.
13 -қадам:
Ақырында, сіз ойыншының қозғалысын тоқтатқанына көз жеткізгіңіз келеді
сіз ештеңені баспайсыз. Сізге бұл ұнайды:
Егер сіз басқа 3 түймені кез келген нәрсе үшін қолданғыңыз келсе, мұны if операторымен орындаңыз: if (Input. GetKeyDown (Keycode. Space))
бос орын үшін және бос орын орнына басқа пернелер үшін пайдалануды таңдаған басқа пернелердің әрпін қойыңыз.
14 -қадам: Ардуиноға жарық қосу
·
Бұл бөлікті бекіту үшін сізге не қажет:
· 9 өтпелі сымдар
· 4 резистор
· 4 светодиод
· 1 arduino uno + usb кабелі
· Нан тақтасы
Жарықтарды қосу Uno арқылы жүзеге асады.
Бұл жоғарыдағы суретке ұқсайды:
Сіз резисторларды светодиодтың ұзын жағына қосасыз. Содан кейін сіз сандық түйреуіштің санынан секіргішті резисторға қосасыз. Бұл жағдайда мен 9 -10 -11 -12 цифрлық пин слоттарын қолдандым, бұл сандар шамдардың кодына жеткенде маңызды болады.
Осы жерден сіз жоғарыдағы суреттегі қара сыммен көрсетілгендей, Arduino Uno жердегі ұясынан тақтадағы жерге секіргішті қосқыңыз келеді.
Содан кейін сіз 4 жарықтандырғыштың барлығын әр жарық диодының қысқа ұшына апарғыңыз келеді
15 -қадам: Arduino Uno кодтау
Жақсы, алдымен біз айнымалыларды анықтаймыз
Алдымен біз шамдар үшін қандай сандық кірістерді қолданамыз. Біз myCol деп аталатын таңбаны жасамақпыз [20]
16 -қадам:
Содан кейін орнатуда біз Serial.begin қайта жасағымыз келеді. Барлық жарықдиодты жарықдиодты қосыңыз және іске қосу кезінде олардың барлығын өшіріңіз.
17 -қадам:
Ақырында сіз цикл функциясын жазғыңыз келеді.
Бұл Arduino -ға екі оқиғаның біреуі болғанша сериялық кіретін кез келген деректерді оқуға әкеледі. Жолдың берілу таңбасы анықталады; Бұл lf арқылы анықталады, ол 10 -ға орнатылады және бірінші аргумент немесе белгілі бір байт саны оқылады. Бұл үшінші аргумент және бұл мысал тек бір байтқа орнатылған. Деректер myCol айнымалысында сақталады, ол char және 20 шегіне орнатылады. ReadBytesUnill дейін бұл екінші аргумент. Немесе оны түсіндірудің басқа әдісі - Serial.readBytesUntil (terminatorCharacter, buffer, byteLimit);
Егер if операторлары бірлік сигнал бергенде белгілі бір шамдардың қосылатынына көз жеткізеді. Бұл жағдайда менде 4 түрлі түсті шамдар бар, сондықтан мен жасыл жарық диодты қосу үшін g, көк жарық диодты қосу үшін b, қызыл жарықдиодты қосу үшін r және сары жарықдиодты қосу үшін бірлік жіберемін.
18 -қадам: Шамдарды кодтау бірлігі жағы:
Бұған кіріспес бұрын алдымен 2 нәрсені ескеріңіз.
1. arduino кодтау бағдарламасында Tool -> Port -> тармағына өтіңіз және сіздің UNO қай COM қосылғанын тексеріңіз. Менің жағдайда оның COM3 (бұл кодта маңызды болады)
2. бірлікте Өңдеу -> Жоба параметрлері -> Ойыншыға өтіңіз, содан кейін инспекторда Api үйлесімділік деңгейіне өтіңіз және оны. NET 2.0 ішкі желісінен жай ғана. NET 2.0 -ге ауыстырыңыз.
Ой, бұл жасалды. Оған енейік.
Иерархияңызды тінтуірдің оң жақ түймесімен нұқыңыз және бос құруды басыңыз.
Бұл біз үшін бір сценарийді сақтау үшін сіздің ойыныңызда болатын бос ойын нысаны болады. Мен бұл объектіні Init деп атадым.
19 -қадам:
Содан кейін сіздің жобалар қойындысына өтіп, жаңа C# сценарийін жасаңыз
және оны Жіберу деп атаңыз.
Сіз жасай алатын бірінші нәрсе - бұл кодты пайдалану бөлімдеріндегі жолдарға жазу:
System. IO. Ports пайдалану;
System. Threading қолдану;
бұл SerialPort айнымалысын қолдануға мүмкіндік береді
20 -қадам:
бұл сценарийде біз келесі айнымалыларды жасаймыз. Енді менде COM3 бар екенін ескеріңіз, бұл сіз үшін басқаша болуы мүмкін, біз осы қадамның басында талқылағанбыз. Егер ол 3 -ті сізге айтқан санмен алмастырса.
21 -қадам:
Басында біз сценарийді OpenConnection деп айтамыз
біз біраз уақыттан кейін жазатын функция
жаңарту - бұл кез келген нәрсе, бірақ егер сіз оны бірлікке жіберілетін хабарларды тексеру үшін қосқыңыз келсе. Сіз мұны адал түрде елемеуіңіз мүмкін.
22 -қадам:
Осы OpenConnection функциясын қолданыңыз. Бұл жай ғана үлкен
if/else байланысын ашық ұстайтын мәлімдеме оны жазылғандай көшіріңіз және сіз жақсы болуыңыз керек.
23 -қадам:
Енді мен тексерген arduino кодынан есте сақтаңыз
оған бірлік жіберетінін көрсетеді.
жақсы, бұл жерде болады. Менің жағдайда менде 4 шам қосылды, сондықтан мен өте қарапайым 4 функцияны жаздым. Олар тек шақырылған кезде arduino -ға хат жібереді. Ардуино бұл әріпті алған кезде, ол осы әріпке сәйкес келетін шамды жанады.
24 -қадам:
Сіз мұны қалай атай аламын деп ойлайтын шығарсыз
функция? Сіз мұны ойынға пайдаланатын кез келген басқа с# сценарийлерінде бір қарапайым жолмен жасайсыз. Sending. NameFunctionhere ();. Мысалы, менің ойынымда ойыншыға 4 түсті шарды жинау тапсырылады. Мен кішкене сценарий жаздым, ол оның біреуіне жақындап, оң жақ батырманы басқанда, ол оны алады және бұл жағдайда ардуиноға сары шарды алғанын білдіреді. Білу үшін мен сары жарық диодты қосуым керек:
Сіз бұл кодтың бір жолын қалаған жеріңізге қоя аласыз. Егер сіз ойын басталған кезде оның жануын қаласаңыз, оны старт функциясына қойыңыз. Ол өлгенде жанып тұрғанын қалайсыз ба, оны ойыншылардың өліміне арналған функцияңызға қойыңыз. Аздап тәжірибе жасаңыз. Мен экранды бұзбай жинау керек шарларды қадағалау үшін шамдарды ойыннан тыс интерфейс элементіне айналдыруды таңдаймын.
Ұсынылған:
Arduino негізіндегі DIY ойын контроллері - Arduino PS2 ойын контроллері - DIY Arduino Gamepad көмегімен Tekken ойнау: 7 қадам
Arduino негізіндегі DIY ойын контроллері | Arduino PS2 ойын контроллері | DIY Arduino Gamepad көмегімен Tekken ойнау: Сәлеметсіздер ме, балалар, ойындарды ойнау әрқашан қызықты, бірақ өзіңіздің жеке DIY контроллеріңізбен ойнау қызықты, сондықтан біз осы нұсқаулықта arduino pro micro көмегімен ойын контроллерін жасаймыз
Arduino Led Strip жауап беретін жүрек соғу сенсоры: 5 қадам
Arduino Led Strip жауап беретін жүрек соғу сенсоры: Мен жасаған бірінші нәрсе - бұл Grove -дегі жүрек соғу жиілігі сенсорымды Arduino -ға YouTube -те өте қарапайым оқулық арқылы қосу. https://www.youtube.com/watch?v=Dzq4tnJ0LjAhttps://www.kiwi-electronics.nl/grove-finger-clip
Кірістер: жауап беретін материал: 12 қадам (суреттермен)
Кірістер: Жауап беретін материал: Сыйымдылық - бұл заттың электр зарядын сақтау қабілеті. Бұл оқулықта біз денеміздің сыйымдылығына жауап беретін және осы электр тізбегін аяқтау үшін қолданылатын тоқыма сенсорларын құрастырамыз және тоқамыз. Бұл оқулықта сіз
Музыкаға жауап беретін жарық шоғы: 7 қадам (суреттермен)
Музыкаға жауап беретін жарық шоғы күрте: Бұл оқу құралы менің Нью -Йорк университетінде музыкалық технологиялар мен қолданбалы электроника мамандығы бойынша оқудың соңғы курсының жобасы аясында шығарылды. Ол электроникаға қызығушылығы бар музыканттарға арналған. Дайын өнім жарықдиодты матрица болады
Тривиа ойынына жауап беру түймелері: 8 қадам (суреттермен)
Тривиа ойынына жауап беру түймелері: Бұл схемамен сіз өзіңіздің жеке ойын шоуыңызды жүргізе аласыз. Қораптың екі жағындағы ойнатқыш түймелерінің біреуін басқанда, оның тиісті шамы қосылады, ал сұрақтарға кім жауап бергенін көрсету үшін басқа түйме өшіріледі