Orodha ya maudhui:

Mchezo wa Mwitikio wa Haraka: Toleo la Umbali: Hatua 5 (na Picha)
Mchezo wa Mwitikio wa Haraka: Toleo la Umbali: Hatua 5 (na Picha)

Video: Mchezo wa Mwitikio wa Haraka: Toleo la Umbali: Hatua 5 (na Picha)

Video: Mchezo wa Mwitikio wa Haraka: Toleo la Umbali: Hatua 5 (na Picha)
Video: UKIZIONA DALILI HIZI MAMA MJAMZITO BASI UTAJIFUNGUA MTOTO WA KIUME 2024, Julai
Anonim
Mchezo wa Mwitikio wa Haraka: Toleo la Umbali
Mchezo wa Mwitikio wa Haraka: Toleo la Umbali

Halo. Hii ni ya kufundisha juu ya jinsi ya kuunda mchezo ambao hujaribu wakati wako wa athari na hisia ya umbali. Mradi huu unategemea mradi wa zamani ambao niliwashirikisha wachezaji wawili wakishindana kuona ni nani alikuwa na wakati wa kukabiliana haraka kwa kubofya kitufe wakati taa ilibadilika kuwa kijani. Hii ina madhumuni sawa, isipokuwa ni ya mchezaji-mmoja na badala ya taa kuzima, mchezaji hupewa muda wa kupisha mkono wao nafasi fulani mbali na sensa ya umbali.

Kama miradi yote ya Arduino, mchezo huu utahitaji vifaa kadhaa vya umeme kwenye mzunguko wa Arduino. Vipengele vikuu, isipokuwa waya na Arduino yenyewe, ni pamoja na ubao wa mkate, servo motor, onyesho la LCD, RGB LED, na sensa ya umbali.

Kutumia https://abra-electronics.com, bei ukiondoa waya na Arduino ni $ 32.12 CAD.

Hatua ya 1: Hatua ya 1: Sensor ya Umbali

Hatua ya 1: Sensor ya Umbali
Hatua ya 1: Sensor ya Umbali

Hatua ya kwanza ni kusanidi sensor ya umbali wa ultrasonic kwenye ubao wa mkate na kuipeleka kwa Arduino. Msimamo halisi wa sensa haijalishi, lakini kwa kweli ni karibu na makali ili kuwe na nafasi ya vifaa vingine, kama inavyoonyeshwa kwenye picha hapo juu. Kuna pini nne kwenye sensor; GND, VCC, TRIG, na ECHO. GND na VCC zinastahili kushikamana chini na reli za nguvu mtawaliwa, na waya katika pini zingine mbili kuwa pini mbili kwenye Arduino. Pini mbili nilizotumia zilikuwa 12 za ECHO na 11 za TRIG. Tumia waya zingine mbili kuwezesha reli ya umeme na kutuliza reli ya ardhini kwa kuunganisha reli ya nguvu kwenye pini ya 5V na reli ya ardhini kwa pini ya GND.

Hatua ya 2: Hatua ya 2: Servo Motor

Hatua ya 2: Servo Motor
Hatua ya 2: Servo Motor

Hatua inayofuata ni kusanidi servo motor. Katika mradi huu, gari la servo hufanya kazi kama kipima muda. Itaanza kwa digrii 1, na kwa kipindi cha wakati ambapo mtumiaji anapaswa kuweka mbali mikono yake, atazunguka hadi digrii 180. Nilitumia sekunde 2 kwa wakati mtumiaji atagundua ni mbali gani anapaswa umbali mikono yao, kwa hivyo servo huzunguka digrii 179 kwa kipindi cha pili cha 2, ikizunguka kwa vipindi vifupi. Servo motor ina waya tatu; kawaida ya manjano, nyekundu, na hudhurungi. Nyekundu inaingia kwenye reli ya umeme ambayo tayari imeingiliwa ndani ya 5V, na ile ya hudhurungi inaingia kwenye reli ya ardhini tayari imeingizwa kwenye GND. Waya wa mwisho huziba kwenye pini ya Arduino. Nilichagua pin # 9 kwa hii. Halafu, unahitaji capacitor inayounganisha reli ile ile ambayo ina nguvu ya motor ya servo na waya za ardhini zilizounganishwa, kama inavyoonekana kwenye picha hapo juu.

Hatua ya 3: Hatua ya 3: RGB LED

Hatua ya 3: RGB LED
Hatua ya 3: RGB LED

Kazi ya LED katika hii ni kufanya kama kiwango cha alama. Wakati alama ya mchezaji iko karibu 0, LED itakuwa nyeupe, na itageuka nyekundu zaidi ikiwa alama ya mchezaji itashuka na kijani ikiwa alama ya mchezaji inakwenda juu. LED hii ina miguu minne; mguu mwekundu-mwangaza, mguu mwembamba-wa-bluu, mguu wa taa-kijani kibichi, na cathode ya kawaida iliyoshirikiwa kati ya miguu mingine mitatu. Cathode ya kawaida, mguu mrefu zaidi, umeunganishwa kwenye reli ya nguvu kwa hivyo hupokea volts 5. Ambatanisha vipinga 330 ohm kwa miguu mingine mitatu ya rangi, na ushikamishe ncha zingine za vipinga hivyo kwenye pini za dijiti za PWM kwenye Arduino. Nilizozitumia zilikuwa pini za dijiti 3, 5, na 6 kwa miguu nyekundu, kijani kibichi na bluu kwa mtiririko huo.

Hatua ya 4: Hatua ya 4: LCD

Hatua ya 4: LCD
Hatua ya 4: LCD

Sehemu ya mwisho ni LCD, ambayo inasimama kwa kuonyesha kioevu kioevu. Kusudi la hii ni kumwambia mchezaji alama yao ya sasa na umbali wanaohitaji kuweka mikono yao mbali na sensa. Kuna pini nne hapa; GND, VCC, SDA, na SCL. GND na VCC zitatiwa waya ndani ya ardhi na reli za umeme za ubao wa mkate mtawaliwa. Pini ya SDA inapaswa kuingizwa kwenye pini ya Analog A4, na pini ya SCL inapaswa kuingizwa kwenye pini ya Analog A5. Tofauti na vifaa vingine, lazima uweke waya wa SDA na SCL kwa A4 na A5.

Hatua ya 5: Hatua ya 5: Kanuni

Sasa kwa kuwa tumeunganisha vifaa vyote, tunaweza kuandika nambari hiyo. Sehemu ya kwanza ya nambari ni kuagiza maktaba zinazohitajika na kutangaza vigeuzi vyetu na ambayo pini za vifaa zimetiwa waya. Tunahitaji kuagiza waya, LiquidCrystal_I2C, na maktaba za Servo kwa nambari hii.

# pamoja

# pamoja

# pamoja

Servo myServo;

int const trigPin = 11;

int const echoPin = 12;

nyekundu nyekundu = 3;

int greenPin = 5;

rangi ya bluuPin = 6;

alama ya 0 = 0;

wakati tim = 500;

int ya sasa = nasibu (8, 16); // Thamani ya nasibu ambapo mtumiaji anapaswa kutenga mkono wake mbali na sensorer

LiquidCrystal_I2C LCD (0x27, 16, 2); // Usanidi wa LCD

Sasa tunahitaji kutumia usanidi batili () kutangaza aina zetu za pini na kusanidi vifaa vingine muhimu.

kuanzisha batili () {myServo.ambatanisha (9); Serial. Kuanza (9600); pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); pinMode pinMode (redPin, OUTPUT); pinMode (kijaniPin, OUTPUT); pinMode (bluuPini, OUTPUT); lcd.init (); lcd taa ya nyuma (); lcd kuanza (16, 2); lcd wazi (); // Usanidi wa LCD}

Sasa tunahitaji kusanidi nambari ya RGB ya LED kwa kutumia kazi na PWM:

batili setColor (int nyekundu, int kijani, int bluu) {

nyekundu = 255 - nyekundu;

kijani = 255 - kijani;

bluu = 255 - bluu;

AnalogWrite (nyekunduPini, nyekundu);

Analog Andika (kijaniPini, kijani kibichi);

Analog Andika (bluuPini, bluu);

}

Sasa tunahitaji kuongeza kitanzi batili (). Hapa, tutazalisha nambari kamili na kutumia safu ya taarifa za kudhibiti mchezo kwa mchezaji. Tofauti ya sasa, kusanidi hapo juu, ni kwa umbali wa sasa mchezaji lazima ajitenge mbali na sensa.

Kwa sababu nambari iliyo kwenye kitanzi batili () ni ndefu sana, nitaweka kiunga kwa hati iliyo na nambari hiyo:

docs.google.com/document/d/1DufS0wuX0N6gpv…

Mwishowe, tunahitaji kufanya mahesabu halisi kubadilisha maadili ya sensa ya umbali wa ultrasonic kuwa inchi. Sensorer ya umbali wa ultrasonic haina moja kwa moja kupima umbali; hutoa sauti na kurekodi wakati inachukua kwa sensor kupata sauti tena kutoka kwa kitu chochote ambacho hutoka.

mikrofoni ndefuToInches (mikrofoni ndefu) {

kurudi microseconds / 74/2;

}

Sasa tunaunganisha Arduino iliyotiwa waya kwenye kompyuta na nambari hiyo, weka bandari, na uiendeshe! Kuna njia mbili kwa mchezo huu. Labda unaweza kutumia tu onyesho la LCD, servo motor, sensor, na RGB LED na unajua tu umbali unapaswa kuwa kutoka kwa sensor, ambayo ndio hali ngumu zaidi. Njia rahisi inajumuisha kutumia mfuatiliaji wa serial katika Zana> Serial Monitor, ambayo itasasisha kila sekunde juu ya umbali gani kutoka kwa sensa, ili uweze kufanya marekebisho muhimu.

Asante kwa kusoma!

Ilipendekeza: