Përmbajtje:
- Hapi 1: Lidhni butonat e kontrollit në Arduino
- Hapi 2: Kodimi i Arduino Leonardo:
- Hapi 3:
- Hapi 4:
- Hapi 5:
- Hapi 6:
- Hapi 7:
- Hapi 8: Kodimi i Lëvizjes në Unitet:
- Hapi 9:
- Hapi 10:
- Hapi 11:
- Hapi 12:
- Hapi 13:
- Hapi 14: Lidhja e dritave me Arduino
- Hapi 15: Kodimi i Arduino Uno
- Hapi 16:
- Hapi 17:
- Hapi 18: Kodimi i Dritave Uniteti Side:
- Hapi 19:
- Hapi 20:
- Hapi 21:
- Hapi 22:
- Hapi 23:
- Hapi 24:
Video: Kontrolluesi i lojërave Arduino me dritat që i përgjigjen lojës së unitetit tuaj :: 24 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:20
Fillimisht e kam shkruar këtë me fjalë. Kjo është hera e parë që përdor instruksione, kështu që sa herë që them: shkruaj kodin, kështu që dije që po i referohem imazhit në krye të atij hapi.
Në këtë projekt unë përdor 2 arduino për të ekzekutuar 2 pjesë të veçanta të kodit pasi kam pasur disa probleme që ta punoj me vetëm një
Këta janë Uno dhe Leonardo
në total kjo është ajo që ju nevojitet për të prerë këtë projekt.
· 7 butona shtypi
· 23 tela kërcyes
· 1 kabllo arduino Leonardo + usb
· 4 rezistorë · 4 led
· 1 kabllo arduino uno + usb
· 2 pjata buke
Hapi 1: Lidhni butonat e kontrollit në Arduino
Çfarë ju nevojitet për të lidhur këtë pjesë:
· 7 butona shtypi
· 14 tela kërcyes
· 1 kabllo arduino Leonardo + usb
· Dërrasë buke
Butonat janë mjaft të thjeshtë për t'u lidhur, por shpejt mund të bëhen një rrëmujë për t'u shfaqur në formën e imazhit.
· Së pari nga ju vendosni butonat e shtytjes në pozicionet që kam shënuar në imazhin e mësipërm.
· Së dyti, ju doni të lidhni një kërcyes nga vendi i tokës në arduino Leonardo në rreshtin minus të pjatës.
· Tani lidhni kërcyesit nga kudo në rreshtin minus në rreshtin që është në përputhje me kunjin e djathtë të butonit të shtypjes. kjo do ta ushqejë fuqinë me të.
· Tjetra ju doni të lidhni një tel kërcyes nga një rresht që është në përputhje me kunjin e majtë të butonit tuaj shtytës në lojëra elektronike hyrëse të Leonardos. Për butonat këtu kam përdorur slotin 2 - 3 - 4 - 5 - 6 - 7- 8
Unë vetëm tregova tela që do të hyjë në figurën 8 sepse bëhet një fotografi shumë e çrregullt për t'ju treguar të gjitha telat që kalojnë njëra -tjetrën.
Hapi 2: Kodimi i Arduino Leonardo:
Kështu që t'ju them arsyen pse po e përdor Leonardon për këtë. Becauseshtë sepse ka një çip të caktuar që Uno nuk e bën që kompjuteri ta njohë atë si një pajisje hyrëse usb. Ashtu si do të ishte një tastierë. Kjo na lejon të bëjmë diçka që e bën jetën tonë si programues për këtë projekt shumë më të lehtë. Emulimi i tastierës. Ne do ta mashtrojmë kompjuterin të mendojë se po shtypim disa çelësa në tastierë kur në fakt shtypim butona në kontrolluesin tonë.
Tani do të eci ju menduat kodin hap pas hapi.
Së pari deri në fund, ne përfshijmë Keyboard.h. Kjo do të na lejojë të përdorim funksionet e tastierës që do të përdorim në kodin tonë.
Hapi 3:
Pastaj ne duhet të përcaktojmë lojëra elektronike hyrëse që do të përdorim në
Leonardo për çdo buton.
Unë gjithashtu i kam emëruar secilën prej tyre sipas çelësit që do të imitoj.
Hapi 4:
Nga atje ne hyjmë në funksionin e konfigurimit. Kjo i thotë
arduino çfarë bën kur fillon.
së pari ne shkruajmë Serial.begin i cili do të hap portën serike dhe vendos shpejtësinë e të dhënave në 9600 bps
dhe ne përcaktojmë që të gjitha janë emërtuar kunjat si inpute.
Hapi 5:
Dhe së fundi ne shkruajmë funksionin tonë të lakut i cili do të kontrollojë nëse
butonat po shtypen dhe i tregojnë arduino -s se si t'i përgjigjet kësaj.
Së pari ne shkruajmë Keyboard.begin i cili do t'i tregojë arduino se ai duhet të kujdeset për ne duke përdorur funksionet e tastierës
Hapi 6:
Pastaj për çdo buton ne shkruajmë një deklaratë if/else që shkon kështu
Pra, ajo që i thashë arduino këtu është: Nëse butoni im i majtë është duke u shtypur në kontrollues, bëjeni kompjuterin të mendojë se ne po shtypim butonin "a" dhe nëse nuk është kështu, mendoni se e kemi lënë çelësin.
Ju në thelb përsërisni këtë bllok të kodit për çdo buton në kontrolluesin tuaj. me ndryshime për çdo ndryshore dhe çelësat që ndryshori duhet të imitojë
Hapi 7:
Çelësat që i thamë kompjuterit të godasë këtu janë W - A - S - D të cilat
janë shumë standarde për lëvizjen në lojërat kompjuterike dhe E-Q-dhe shiritin hapësinor i cili në këtë kod njihet si ‘’ cilat janë butonat që përdor për të mbledhur-shkarkuar dhe ndezur në lojën time. Ndjehuni të lirë t'i ndryshoni këto në cilindo çelës që mendoni se funksionojnë më mirë për lojën/kontrolluesin tuaj.
Pastaj së fundi i themi arduino -s të ndalojë kontrollin se cila tastierë.përfundojë
Hapi 8: Kodimi i Lëvizjes në Unitet:
Fillimisht më lejoni t'ju them se po e bëj këtë për një lojë 2d kështu
shembujt që do të shihni janë ndërtuar për këtë. Do të thotë kryesisht se ku përdor vektorët2 nëse jeni duke punuar në 3d do të përdorni vektorët3. sepse do të duhet të shqetësoheni për dimensionin shtesë të lëvizjes në 3D.
Tani arsyeja pse kam përdorur emulimin e tastierës nga ana arduino është sepse Uniteti ka diçka të integruar për të njohur çelësat në tastierë të cilat ne mund t'i përdorim.
Nëse e hapni projektin tuaj në unitet, shkoni te Edit -> Cilësimet e projektit -> Input. Ju mund të shihni në inspektorin tuaj se ai fillon menaxherin e hyrjes. Ku nëse klikoni në Akset mund të shihni një bandë të tërë të emrave të hyrjes të hapura të cilat zakonisht përdoren për kontrolluesit e kompjuterëve si ata që po bëjmë tani. 2 hyrjet që do të përdorim janë horizontale dhe vertikale, të cilat, sipas mendimit tuaj, e morën me mend W-A-S-D.
Së pari ju doni të bëni një objekt Në hierarkinë tuaj të skenave të unitetit i cili do të jetë lojtari juaj. Në rastin tim duke qenë ky djalë i vogël argëtues. Kjo mund të jetë gjithçka që ju nevojitet për të qenë, por për qëllimin e lojës sime e bëra këtë djalë.
Hapi 9:
Ju doni t'i jepni këtij lojtari 2 gjëra. Një përplasës kuti 2d dhe
një Rigidbody 2d dhe modifikoni ato që të jenë si imazhi i mësipërm.
Hapi 10:
Pastaj dëshironi të futeni në dosjen e projekteve tuaja dhe të krijoni një
Shkrimi C#. Të cilën e kam quajtur PlayerMovement.
Në këtë skenar ju do të përcaktoni 2 ndryshore. Një noton publik të cilin e quaj moveSpeed. E cila do të përcaktojë sa shpejt shkoni. Dhe një Rigidbody2D privat të cilin e quaj RigidPlayer. E cila do të kërkojë lojtarët tuaj të ngurtë.
Mos harroni të shkoni te redaktuesi juaj i unitetit, klikoni mbi lojtarin tuaj, shtoni këtë skenar të ri duke e tërhequr atë te inspektori dhe vendosni një vlerë numerike për moveSpeed.
Hapi 11:
tani në Start () tuaj doni të bëni një gjë dhe kjo është për të
sigurohuni që RigidPlayer juaj të gjejë paguesin tuaj të ngurtë 2d. Ju e bëni atë me rreshtin e mëposhtëm të kodit:
Hapi 12:
Pastaj kalojmë në azhurnimin (). Këtu po shkojmë
për ta bërë lojtarin të lëvizë.
ne e bëjmë atë me një deklaratë mjaft të thjeshtë nëse do të shikojë çelësat negativë dhe pozitivë nga Horizontal (AD) dhe Vertikal (SW) dhe e zbatojmë atë si një numër për të detyruar ne do të veshim trupin tonë të ngurtë 2d për të shtyrë lojtarin tonë në nje drejtim. Ai numër do të shumëzohet me ndryshoren moveSpeed.
Hapi 13:
Së fundi, ju doni të siguroheni që lojtari juaj të ndalojë së lëvizuri kur
ju nuk shtypni asgjë. Kjo ju pëlqen kështu:
Tani nëse doni të përdorni 3 butonat tuaj të tjerë për çdo gjë që bëni me këtë deklaratë nëse: nëse (Input. GetKeyDown (Keycode. Space))
për hapësirën hapësinore dhe në vend të hapësirës vendosni shkronjën e çelësave të tjerë që keni zgjedhur të përdorni për çelësat e tjerë.
Hapi 14: Lidhja e dritave me Arduino
·
Çfarë ju nevojitet për të lidhur këtë pjesë:
· 9 tela kërcyes
· 4 rezistorë
· 4 led
· 1 kabllo arduino uno + usb
· Dërrasë buke
Lidhja për dritat do të bëhet përmes Uno.
Do të përfundojë të duket si ky imazh më lart:
Ju i lidhni rezistorët në anën e gjatë të LED -ve. Pastaj lidhni një kërcyes nga një numër dixhital pin në uno me rezistorët. në këtë rast kam përdorur fole dixhitale të kunjave 9 -10 -11 -12 këta numra do të jenë të rëndësishëm kur të arrijmë te kodi për dritat.
Nga atje ju doni të lidhni një kërcyes nga foleja e tokës në arduino Uno tuaj në vendin në tabelën tuaj siç shihet me tela të zezë në imazhin e mësipërm.
Pastaj dëshironi të keni 4 kërcyes të gjithë të çojnë në skajin e shkurtër të secilës LED
Hapi 15: Kodimi i Arduino Uno
Në rregull, së pari ne do të përcaktojmë përsëri ndryshoret tona
Pra, së pari cilat hyrje dixhitale po përdorim për dritat tona. Dhe ne do të bëjmë një karbon të quajtur myCol [20]
Hapi 16:
Pastaj në konfigurim ne duam të bëjmë Serial.fillojmë përsëri. Vendosni të gjitha LED -të tanë në dalje dhe fikini të gjitha kur filloni.
Hapi 17:
Dhe së fundi ju doni të shkruani funksionin tuaj të lakut.
Kjo do të bëjë që Arduino të lexojë çdo të dhënë që vjen përmes serisë derisa të ndodhë një nga dy ngjarjet. Zbulohet ose një karakter i ushqimit të linjës; kjo identifikohet me lf e cila është vendosur në 10 dhe është argumenti i parë ose janë lexuar një sasi e caktuar bajtësh. Ky është argumenti i tretë dhe për këtë shembull është vendosur në vetëm një bajt. Të dhënat ruhen në ndryshoren myCol, e cila është vendosur në char dhe një kufi prej 20. Në readBytesUntil ky është argumenti i dytë. Ose një mënyrë tjetër për ta shpjeguar është Serial.readBytesUntil (terminatorCharacter, buffer, byteLimit);
Dhe deklaratat if do të sigurojnë që dritat e caktuara të ndizen kur uniteti jep sinjalin. Në këtë rast mora 4 drita me ngjyra të ndryshme, kështu që unë bëj që uniteti të dërgojë g që LED jeshil të ndizet, b që LED blu të ndizet, r që LED i kuq të ndizet dhe y për LED të verdhë të ndizet.
Hapi 18: Kodimi i Dritave Uniteti Side:
Oke 2 gjëra së pari para se të hyjmë në këtë.
1. në programin tuaj të kodimit arduino shkoni te Tool -> Port -> dhe kontrolloni për mua në cilën COM është uno juaj. Në rastin tim COM3 e tij (kjo do të jetë e rëndësishme në kod)
2.në unitet Shkoni tek Edit -> Cilësimet e projektit -> Luajtësi pastaj në inspektorin klikoni në cilësimet e tjera shkoni te Niveli i pajtueshmërisë Api dhe Kalojeni atë nga nën -rrjeta. NET 2.0 në vetëm. NET 2.0
Epo kjo është bërë. Le të futemi në të.
Klikoni me të djathtën në hierarkinë tuaj dhe klikoni në Krijo bosh.
Ky do të jetë një objekt i zbrazët i lojës që thjesht do të ekzistojë në lojën tuaj për të mbajtur një skenar për ne. Unë e kam quajtur këtë objekt Init.
Hapi 19:
Pastaj shkoni në skedën e projekteve tuaja dhe krijoni një skenar të ri C#
dhe e quaj Dërgimi.
Gjëja e parë që bëni është t'i shkruani këto rreshta në pjesët e përdorura të kodit tuaj:
duke përdorur System. IO. Ports;
duke përdorur System. Threading;
kjo e bën atë kështu që ne mund të përdorim ndryshoren SerialPort
Hapi 20:
në këtë skenar ne do të bëjmë ndryshoret e mëposhtme. Tani vini re se kam marrë COM3 atje kjo mund të jetë ndryshe për ju siç diskutuam në fillim të këtij hapi. Nëse zëvendësohet 3 me numrin që tha për ju.
Hapi 21:
Në fillim i themi që skripti të përdoret janë OpenConnection
funksionin të cilin do ta shkruajmë pak
përditësimi është më shumë një provë se çdo gjë, por nëse doni ta përfshini atë, është për të testuar mesazhet që dërgohen në unitet. Mund ta injoroni sinqerisht.
Hapi 22:
Ok tani për këtë funksion OpenConnection. Kjo është vetëm një e madhe
if/else deklarata që e mban lidhjen hapur vetëm kopjojeni si të shkruar dhe duhet të jeni mirë.
Hapi 23:
Tani mbani mend nga kodi arduino për të cilin e kam kontrolluar
sinjale që uniteti do t'i dërgojë atij.
mirë, këtu ndodh. Në rastin tim kam marrë 4 drita të lidhura kështu që kam shkruar 4 funksione që janë jashtëzakonisht të thjeshta. E tëra çfarë bëjnë është kur të thirren ata i dërgojnë një letër arduino -s. Kur arduino të marrë atë shkronjë ndez dritën që korrespondon me shkronjën në fjalë.
Hapi 24:
Ju mund të pyesni veten se si ta quaj këtë
funksion? Epo ju e bëni atë me një linjë të thjeshtë në cilindo nga shkrimet tuaja të tjera c# që përdorni për lojën tuaj. Sending. NameFunctionhere ();. Kështu për shembull në lojën time lojtari ka për detyrë të mbledhë 4 rruaza me ngjyrë. Kështu që unë shkrova një skenar të vogël që siguron që kur i afrohet njërit dhe shtyp butonin e djathtë ta marrë atë dhe ai dërgon sinjal në arduino se në këtë rast rruzulli i Verdhë është marrë. Që ta dijë, mirë, duhet ta ndez LED -in e Verdhë:
Ju mund ta vendosni këtë linjë të kodit kudo që dëshironi. Nëse dëshironi që ajo të ndizet kur të fillojë loja vendoseni në funksionin e fillimit. Dëshironi që të ndizet kur të vdesë vendoseni në funksionin tuaj për vdekjen e lojtarëve. Eksperimentoni pak. Unë zgjedh t'i bëj dritat një lloj ui elementi jashtë lojës për të mbajtur nën kontroll orbat që keni për të mbledhur pa rrëmujë ekranin.
Recommended:
Kontrolluesi i lojës Arduino: 5 hapa
Arduino Game Controller: Një kontrollues i lojës është një pajisje e përdorur për të dhënë hyrje në një lojë video për të bërë lëvizjen e personazhit ose objektit. Dizajni dhe funksionaliteti i një kontrolluesi të lojës janë të lehta dhe patjetër do t'ju japin një përvojë të mahnitshme të lojrave, dhe do të jetë më e pavlefshme
Kontrolluesi i lojës së ritmit Arduino (për lojën time): 6 hapa
Kontrolluesi i lojërave të ritmit Arduino (për lojën time): Në këtë udhëzues do t'ju tregoj se si e ndërtoj këtë kontrollues të lojërave të ritmit nga e para. Ai përfshin aftësitë themelore të përpunimit të drurit, aftësitë themelore të printimit 3D dhe aftësitë themelore të bashkimit. Ju ndoshta mund ta ndërtoni këtë projekt me sukses nëse keni zero ish
Kontrolluesi i lojërave të bazuara në Arduino - Kontrolluesi i lojërave Arduino PS2 - Duke luajtur Tekken Me DIY Arduino Gamepad: 7 hapa
Kontrolluesi i lojërave të bazuara në Arduino | Kontrolluesi i lojërave Arduino PS2 | Luajtja e Tekken Me DIY Arduino Gamepad: Përshëndetje djema, të luani lojëra është gjithmonë argëtuese, por të luani me Kontrolluesin tuaj të personalizuar të lojës DIY është më argëtuese. Pra, ne do të bëjmë një Kontrollues të lojës duke përdorur arduino pro micro në këtë udhëzues
Krijimi i një kontrolluesi fizik të lojës: 10 hapa (me fotografi)
Krijimi i një Kontrolluesi Fizik të Lojërave: Kur Nintendo Wii u lançua, lojtarët u inkurajuan, madje nuk u kërkua, të linin divanin dhe të kërcejnë, kërcejnë dhe grinden në mënyrë që të marrin pikë në lojën e tyre të zgjedhur. Ndërsa ekziston një kurbë e madhe e të mësuarit në ndërtimin e Wii, është e lehtë të blini
Kontrolluesi i Thjeshtë i Unitetit: 5 hapa
Kontrolluesi i Thjeshtë i Unitetit: PërshkrimiKy projekt është një kontrollues shumë i thjeshtë që mund t'i japë kontribut Unitetit kur shtypni butonat e kam krijuar atë për të kontrolluar një lojë që kam bërë ku lojtari mund të shkojë majtas dhe djathtas. Sigurisht që gjithmonë mund ta rregulloni për më shumë kontrolle. Nuk ka n