Cov txheej txheem:

Arduino Video Game Controller: 4 Kauj Ruam
Arduino Video Game Controller: 4 Kauj Ruam

Video: Arduino Video Game Controller: 4 Kauj Ruam

Video: Arduino Video Game Controller: 4 Kauj Ruam
Video: 4 Amazing Arduino Games - DIY Game Console 2024, Hlis ntuj nqeg
Anonim
Arduino Video Game Controller
Arduino Video Game Controller

Koj puas muaj cov khoom siv Arduino tso ncig tab sis tsis muaj qhov qhia tias yuav ua li cas nrog nws? Tej zaum tsis yog, tab sis hauv Phau Ntawv Qhia no kuv yuav qhia koj ib qib zuj zus yuav ua li cas tsim, code thiab koom ua ke Arduino rau hauv koj qhov project. Tam sim no phau ntawv qhia no tsuas yog sim nrog Clickteam Fusion Developer 2.5 tab sis kev tsim thiab Arduino code cov kauj ruam tuaj yeem siv thoob ntiaj teb. Phau ntawv qhia no yuav hloov kho rau Unreal thiab Unity yav tom ntej.

Kauj Ruam 1: Daim Ntawv Khw Muag Khoom

  • Arduino Uno lossis zoo sib xws
  • USB Cable
  • (400 point) Breadboard lossis 1 x perf/strip board
  • Arduino tau tshaj cov xov hlau.
  • Ntau yam Sensors. Kuv siv cov hauv qab no hauv kuv qhov piv txwv qhov project:
  • Vaj huam sib luag mount Potentiometer 10K breadboard tus phooj ywg
  • Photoresistor
  • Qhib rhiab rhiab heev

Kauj ruam 2: Kev sib txuas

Kev sib txuas
Kev sib txuas

Nco tseg: Cov no tsuas yog cov ntsuas uas kuv tau siv tus kheej rau kuv txoj haujlwm. Qhov no txhais tau tias muaj ntau txoj hauv kev xaiv tawm. Cov lus qhia ib kauj ruam ntawm yuav ua li cas xaim cov ntawv tuaj yeem pom ntawm ntau qhov chaw nyob ntawm lub ntsuas.

Kauj Ruam 3: Arduino Code

Luam thiab xa cov cai no rau koj Arduino yog tias koj xav siv tib lub ntsuas cua zoo ib yam li kuv. Txwv tsis pub koj tuaj yeem siv koj tus lej tus lej rau koj lub ntsuas. Tsuas yog ib qho tseem ceeb thoob ntiaj teb uas xav tau yog thev naus laus zis uas koj xav siv hauv koj lub cav game tau luam tawm mus rau tus lej saib lossis tuaj yeem nyeem hauv lwm txoj kev.

// Cov no tau teeb tsa thaum pib thiab tsis hloov pauv thaum lub program ua haujlwm. Zoo li qhov ANALOG IN hauv tus pin siv.

const int potPin = A0; const int fsrAnalogPin = 5; const int photocellPin = 2; // Variables: // LIGHT SENSOR: // Lub teeb qhov sib txawv: int photocellReading; // POTENTIOMETER // Tus nqi ntawm Potentiometer int tus nqi; // PRESSURE SENSOR // Nov yog cov ntaub ntawv nyoos sib txawv los ntawm lub ntsuas siab. koj fsrReading; // Mapped version ntawm fsrReading sib txawv int siab; teeb tsa tsis muaj dab tsi () {// muab koj cov cai teeb tsa ntawm no, kom khiav ib zaug: pinMode (potPin, INPUT); Serial.begin (9600); } void loop () {// PRESSURE SENSOR // Ntawm no peb siv qhov tshwj xeeb fsrAnalogPin nyeem cov ntaub ntawv los ntawm tus pin ntawd. fsrReading = analogRead (fsrAnalogPin); // Daim ntawv qhia nqi 0-1023 txog 0-255. siab = daim ntawv qhia (fsrReading, 0, 1023, 0, 255); // Txheeb xyuas yog tias lub siab nyob hauv qab lossis ntau dua qhov nyiaj luam tawm ib ntawm ob qho. Qhov kev hloov pauv no tau siv tom qab hauv lub cav game. yog (siab 70) {Serial.print ("6"); } // POTENTIOMETER tus nqi = analogRead (potPin); // Nyeem thiab khaws cov txiaj ntsig analog los ntawm tus lej potentiometer = daim ntawv qhia (tus nqi, 0, 1023, 0, 360); // Daim ntawv qhia tus nqi 0-1023 txog 0-360 // Ntawm no peb faib 360 rau rau rau ntu sib txawv. // Koj tuaj yeem hloov tus nqi ntawm ntu rau ntau dua. Txhua ntu yuav muaj ntau yam me dua. Piv txwv li 8 ntu yuav muaj ntau yam ntawm 45 txhua. (360 /tus nqi ntawm ntu) // Yog tias tus nqi tam sim no poob rau hauv ntu nws yuav luam tawm lub npe ntawm ntu ntawd. yog (tus nqi 60 thiab tus nqi 120 thiab tus nqi 180 thiab tus nqi 240 thiab tus nqi 300 thiab tus nqi <375) Serial.print ("Rau"); // LIGHT SENSOR // Ntawm no peb rov nyeem dua thiab teeb tsa qhov sib txawv, hauv qhov no photocellReading. photocellReading = analogRead (photocellPin); // Peb txheeb xyuas qhov pom kev, nrog tsaus thiab tsaus heev luam tawm 3 thiab lub teeb pom kev zoo ib txwm luam tawm 4. yog (photocellReading <10) {Serial.println (" - 3"); } lwm yog (photocellReading <200) {Serial.println (" - 3 -"); } lwm yog (photocellReading <500) {Serial.println (" - 4 -"); } // Cov lej hauv Serial: // Thawj tus lej yog lub ntsuas siab, 5 tsis tau nyem thiab 6 tau nyem. // Tom qab ntawd yog ntu twg Potentiometer tam sim no nyob. // Thiab tus lej kawg yog ib qho 3 = tsaus lossis 4 = lub teeb.

Kauj Ruam 4: Hauv Game Game: Nyem Pab Pawg 2.5

Hauv Tus Thawj Saib Xyuas Haujlwm txuas ntxiv pom Cov Cuab Yeej Siv thiab teeb tsa qhov no.

Muab Lub Hom Phiaj Serial, lub txee thiab ib txoj hlua rau hauv koj lub thav duab. (Txoj cai nyem rau hauv tus ncej - ntxig khoom)

Hauv Tus Thawj Saib Xyuas Haujlwm tsim qhov xwm txheej: Yog tias Cov Ntaub Ntawv tseem tos: teeb tsa txoj hlua hloov mus rau GetData ("Cov Hom Phiaj")

Qhov no yuav teeb tsa txoj hlua rau txhua cov ntaub ntawv uas tau xa los ntawm Arduino, txoj hlua yuav tsum tam sim no zoo ib yam li Serial Monitor.

Tsim lwm qhov xwm txheej Ib txwm: Teeb lub txee rau: Nrhiav (hlua $ ("Txoj hlua"), "4", 0)

Qhov piv txwv no yuav sim nrhiav 4 uas sib npaug rau lub teeb raws li pom hauv Arduino Code.

Yog tias nws pom 4 nws yuav teeb lub txee rau 4, yog tias nws tsis pom 4 lub txee yuav yog -1.

Tam sim no koj tuaj yeem ntxiv qhov xwm txheej tshiab los ua qee yam nrog qhov txiaj ntsig no:

Yog hais tias txee = -1: Ntawm no koj tuaj yeem tso dab tsi yuav tsum tshwm sim yog tias nws tsis yog, zoo li muaj qhov ua kom pom ntawm lub teeb raug tua.

Yog hais tias txee = -1: Qhov no txhais tau tias nws tau pom qhov sib txawv thiab lub txee tau teeb tsa rau qhov twg los qhov sib txawv ntawd yuav yog (tsuav nws tsis yog -1), ntawm no koj tuaj yeem ua nws kom lub teeb pom kev zoo hloov mus rau.

Yeej los ntawm kev siv cov txee uas tau teeb tsa rau -1 uas yog qhov cuav lossis -1 uas yog qhov tseeb koj tuaj yeem ua cov xwm txheej tshwm sim.

Pom zoo: