Мазмұны:

Жылдам әрекет ету ойыны: қашықтағы нұсқа: 5 қадам (суреттермен)
Жылдам әрекет ету ойыны: қашықтағы нұсқа: 5 қадам (суреттермен)

Бейне: Жылдам әрекет ету ойыны: қашықтағы нұсқа: 5 қадам (суреттермен)

Бейне: Жылдам әрекет ету ойыны: қашықтағы нұсқа: 5 қадам (суреттермен)
Бейне: Өлді деп жерлемек болған еді. Бірақ Алланың қалауымен тірілген Бала 2024, Желтоқсан
Anonim
Жылдам әрекет ету ойыны: қашықтық нұсқасы
Жылдам әрекет ету ойыны: қашықтық нұсқасы

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

Барлық Arduino жобалары сияқты, бұл ойынға Arduino схемасында көптеген электрлік компоненттер қажет болады. Сымдар мен Arduino -дан басқа негізгі компоненттерге нан тақтасы, серво қозғалтқышы, СКД дисплейі, RGB светодиоды және қашықтық сенсоры кіреді.

Https://abra-electronics.com көмегімен сымдар мен Arduino-ны қоспағанда баға 32,12 АҚШ долларын құрайды.

1 -қадам: 1 -қадам: Қашықтық сенсоры

1 -қадам: қашықтық сенсоры
1 -қадам: қашықтық сенсоры

Бірінші қадам - ультрадыбыстық қашықтық датчигін нан тақтасына орнату және оны Arduino -ға қосу. Сенсордың нақты орналасуы маңызды емес, бірақ жоғарыда суретте көрсетілгендей, басқа компоненттерге орын болатындай, ол шетіне жақын. Сенсорда төрт түйреуіш бар; GND, VCC, TRIG және ECHO. GND және VCC тиісінше жерге және қуат рельстеріне, ал қалған екі істікшенің сымдары Arduino -дегі екі істікке қосылады. Мен қолданған екі түйреуіш ECHO үшін 12 және TRIG үшін 11 болды. Қуат рельсін 5В істікшеге және жерге тұйықтау жолын GND істігіне қосу арқылы электр рельсін қосу және жердегі рельсті жерге қосу үшін басқа екі сымды қолданыңыз.

2 -қадам: 2 -қадам: Серво қозғалтқышы

2 -қадам: Серво моторы
2 -қадам: Серво моторы

Келесі қадам - серво қозғалтқышты орнату. Бұл жобада серво қозғалтқышы таймер ретінде жұмыс істейді. Ол 1 градустан басталады және пайдаланушы қолын алшақтатуы керек уақыт аралығында 180 градусқа бұрылады. Мен пайдаланушы қолдарын қанша қашықтықта ұстау керектігін білген кезде мен 2 секунд қолдандым, сондықтан серво 2 секунд ішінде 179 градусқа бұрылып, қысқа аралықта айналады. Серво қозғалтқышында үш сым бар; әдетте сары, қызыл және қоңыр болады. Қызыл 5В -қа қосылған электр рельсіне түседі, ал қоңыр GND -ге қосылған жер рельсіне түседі. Соңғы сым Arduino түйреуішіне қосылады. Мен бұл үшін №9 түйреуішті таңдадым. Содан кейін, жоғарыдағы суретте көрсетілгендей, серво қозғалтқышы мен жерге қосылған сымдары қосылған сол рельсті қосатын конденсатор қажет.

3 -қадам: 3 -қадам: RGB жарық диоды

3 -қадам: LED RGB
3 -қадам: LED RGB

Жарық диодының функциясы - бұл балл үшін шкала ретінде әрекет ету. Ойыншының ұпайы 0 шамасында болғанда, жарық диоды ақ болады, ал егер ойыншының ұпайы төмен түссе қызыл түске, ал егер ойыншының ұпайы жоғарыласа жасылға айналады. Бұл жарықдиодты төрт аяғы бар; қызыл жарық аяғы, көгілдір аяғы, жасыл жарығы және басқа үш аяғының арасында ортақ катод. Кәдімгі катод, ең ұзын аяғы электр рельсіне қосылады, сондықтан ол 5 вольтты алады. Қалған үш түсті аяққа 330 Ом резисторды бекітіңіз және сол резисторлардың басқа ұштарын Arduino PWM сандық түйреуіштеріне бекітіңіз. Мен қызыл, жасыл және көк аяқтар үшін 3, 5 және 6 сандық түйреуіштерді қолдандым.

4 -қадам: 4 -қадам: СКД

4 -қадам: СКД
4 -қадам: СКД

Соңғы компонент - сұйық кристалды дисплейді білдіретін СКД. Мұның мақсаты - ойыншыға қазіргі ұпайын, сондай -ақ сенсордан қолын алыстату үшін қажет қашықтықты айту. Мұнда төрт түйреуіш бар; GND, VCC, SDA және SCL. GND және VCC тиісінше нан тақтасының жерге және қуат рельстеріне қосылады. SDA түйреуішін A4 аналогтық түйреуішіне, ал SCL түйреуішін A5 аналогтық істігіне жалғау керек. Басқа компоненттерден айырмашылығы, SDA және SCL түйреуіштерін A4 және A5 сымдарына қосу керек.

5 -қадам: 5 -қадам: Кодекс

Енді біз барлық компоненттерді қосқаннан кейін кодты жаза аламыз. Кодтың бірінші бөлігі - қажетті кітапханаларды импорттау және біздің айнымалыларды жариялау және компоненттер қай түйреуіштерге қосылғанын жариялау. Біз бұл код үшін Wire, LiquidCrystal_I2C және Servo кітапханаларын импорттауымыз керек.

#қосу

#қосу

#қосу

Сервис myServo;

int const trigPin = 11;

int const echoPin = 12;

int redPin = 3;

int greenPin = 5;

int bluePin = 6;

int балл = 0;

int tim = 500;

int ток = кездейсоқ (8, 16); // кездейсоқ мән, онда пайдаланушы сенсордан қолын алыстатуы керек

LiquidCrystal_I2C LCD (0x27, 16, 2); // СКД орнату

Енді біз түйіннің түрлерін жариялау және басқа қажетті компоненттерді орнату үшін void setup () функциясын қолдануымыз керек.

void setup () {myServo.attach (9); Serial.begin (9600); pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); pinMode pinMode (redPin, OUTPUT); pinMode (greenPin, OUTPUT); pinMode (bluePin, OUTPUT); lcd.init (); lcd.backlight (); lcd.begin (16, 2); lcd.clear (); // СКД орнату}

Енді біз RGB LED кодын функция мен PWM көмегімен орнатуымыз керек:

жарамсыз setColor (ішкі қызыл, жасыл жасыл, көк көк) {

қызыл = 255 - қызыл;

жасыл = 255 - жасыл;

көк = 255 - көк;

analogWrite (redPin, қызыл);

analogWrite (greenPin, жасыл);

analogWrite (bluePin, көк);

}

Енді біз void циклін қосуымыз керек (). Мұнда біз кездейсоқ бүтін сандарды шығаратын боламыз және ойыншыға ойынды басқару үшін if операторларының сериясын қолданатын боламыз. Ағымдағы айнымалы, жоғарыда орнатылған, ойыншы сенсордан алшақ болуы керек ағымдағы қашықтыққа арналған.

Void loop () коды өте ұзақ болғандықтан, мен осы код бар құжатқа сілтеме қоямын:

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

Соңында, біз ультрадыбыстық қашықтық датчигінің мәндерін дюймге түрлендіру үшін нақты есептеулер жүргізуіміз керек. Ультрадыбыстық қашықтық сенсоры қашықтықты тікелей өлшемейді; ол дыбысты шығарады және сенсорға дыбысты қай объектіден қайтарса, сол уақытты жазады.

ұзақ микросекундToInches (ұзақ микросекундтар) {

қайтару микросекундтары / 74/2;

}

Енді біз сымды Arduino кодын компьютерге қосамыз, порттарды орнатамыз және іске қосамыз! Бұл ойынның екі режимі бар. Сіз тек СКД дисплейін, сервоқозғалтқышты, сенсорды және RGB жарықдиодты қолдана аласыз, ал сенсордан қандай қашықтықта болу керектігін білесіз, бұл қиын режим. Оңай режим құралдар> Сериялық монитор ішіндегі сериялық мониторды пайдалануды қамтиды, ол сенсордан қаншалықты алыс екеніңізді әр секунд сайын жаңартады, осылайша сіз қажетті түзетулер жасай аласыз.

Оқығаныңыз үшін рахмет!

Ұсынылған: