Mündəricat:

Sürətli reaksiya oyunu: məsafə versiyası: 5 addım (şəkillərlə)
Sürətli reaksiya oyunu: məsafə versiyası: 5 addım (şəkillərlə)

Video: Sürətli reaksiya oyunu: məsafə versiyası: 5 addım (şəkillərlə)

Video: Sürətli reaksiya oyunu: məsafə versiyası: 5 addım (şəkillərlə)
Video: məşq (naxcivan rəqs kursu) 2024, Noyabr
Anonim
Sürətli reaksiya oyunu: məsafə versiyası
Sürətli reaksiya oyunu: məsafə versiyası

Salam. Bu, həm reaksiya vaxtınızı, həm də məsafə hissinizi sınayan bir oyunun necə yaradılacağına dair bir təlimatdır. Bu layihə, yaşıl işıq yandıqda bir düyməni basaraq kimin daha sürətli reaksiya verdiyini görmək üçün yarışan iki oyunçunun iştirak etdiyi köhnə bir layihəyə əsaslanır. Bunun oxşar məqsədi var, tək oyunçu olmasından başqa, işığın sönməsindən başqa, oyunçuya əllərini bir məsafə sensöründən müəyyən bir məsafədə uzaqlaşdırmaq üçün bir müddət verilir.

Bütün Arduino layihələri kimi, bu oyun da Arduino dövrəsində çoxsaylı elektrik komponentləri tələb edəcək. Kablolama və Arduinonun özündən başqa əsas komponentlərə çörək taxtası, servo motor, LCD ekran, RGB LED və məsafə sensoru daxildir.

Https://abra-electronics.com istifadə edərək, tellər və Arduino istisna olmaqla qiymət $ 32.12 CAD təşkil edir.

Addım 1: Addım 1: Məsafə Sensoru

Addım 1: Məsafə Sensoru
Addım 1: Məsafə Sensoru

İlk addım çörək lövhəsində ultrasəs məsafə sensoru qurmaq və Arduino'ya bağlamaqdır. Sensorun dəqiq mövqeyi əslində heç bir əhəmiyyət kəsb etmir, amma ideal olaraq kənarına yaxındır ki, yuxarıdakı şəkildə göstərildiyi kimi digər komponentlər üçün yer olsun. Sensorun üzərində dörd pin var; GND, VCC, TRIG və ECHO. GND və VCC sırasıyla yerə və elektrik raylarına, digər iki sancağa isə Arduino üzərindəki iki sancağa bağlanmalıdır. İstifadə etdiyim iki pin ECHO üçün 12 və TRIG üçün 11 idi. Elektrik rayını 5V pininə və torpaq relsini GND pininə bağlayaraq elektrik rayını gücləndirmək və torpaq relsini topraklamaq üçün başqa iki teldən istifadə edin.

Adım 2: Adım 2: Servo Motor

Addım 2: Servo Motor
Addım 2: Servo Motor

Növbəti addım servo motorun qurulmasıdır. Bu layihədə servo motor bir taymer kimi fəaliyyət göstərir. 1 dərəcədən başlayacaq və istifadəçinin əllərini uzaqlaşdırması lazım olan müddət ərzində 180 dərəcəyə dönəcək. İstifadəçinin əllərini nə qədər uzaqlaşdırması lazım olduğunu öyrəndikdə 2 saniyə istifadə etdim, buna görə də servo 2 saniyə ərzində 179 dərəcə fırlanır və qısa fasilələrlə fırlanır. Servo motorda üç tel var; ümumiyyətlə sarı, qırmızı və qəhvəyi olur. Qırmızı rəng artıq 5V -ə bağlanmış elektrik rayına, qəhvəyi isə artıq GND -ə qoşulmuş yer rayı ilə gedir. Son tel bir Arduino pininə bağlanır. Bunun üçün 9 nömrəli pin seçdim. Daha sonra, yuxarıdakı şəkildə göründüyü kimi, servo motorun gücünə və topraklama tellərinə bağlı olan eyni dəmir yolu birləşdirən bir kondansatörə ehtiyacınız var.

Addım 3: Adım 3: RGB LED

Addım 3: RGB LED
Addım 3: RGB LED

Bunda LED -in funksiyası bal üçün miqyas kimi çıxış etməkdir. Oyunçunun balı 0 civarında olduqda, LED ağ rəngdə olacaq və oyunçunun balı aşağı düşərsə daha qırmızıya, oyunçunun balı yüksəlsə yaşıl rəngə çevriləcək. Bu LED -in dörd ayağı var; qırmızı işıqlı bir ayaq, mavi işıqlı bir ayaq, yaşıl işıqlı bir ayaq və digər üç ayaq arasında paylaşılan ümumi bir katod. Ən uzun ayağı olan ümumi katod elektrik rayına bağlanır, buna görə 5 volt alır. Digər 3 rəngli ayağa 330 ohm rezistor bağlayın və bu rezistorların digər uclarını Arduino üzərindəki PWM rəqəmsal pinlərinə bağlayın. Qırmızı, yaşıl və mavi ayaqlar üçün istifadə etdiyim rəqəmsal pinlər 3, 5 və 6 idi.

Addım 4: Adım 4: LCD

Addım 4: LCD
Addım 4: LCD

Son komponent, LCD, maye kristal ekranı ifadə edir. Bunun məqsədi, oyunçuya əllərini sensordan uzaqlaşdırmaq üçün lazım olan məsafəni və mövcud balını bildirməkdir. Burada dörd sancaq var; GND, VCC, SDA və SCL. GND və VCC sırasıyla çörək taxtasının yerə və elektrik raylarına bağlanacaq. SDA pininin A4 analog pininə, SCL pininin isə A5 analog pininə bağlanması lazımdır. Digər komponentlərdən fərqli olaraq, SDA və SCL pinlərini A4 və A5 -ə bağlamalısınız.

Addım 5: Adım 5: Kod

İndi bütün komponentləri bağladıqdan sonra kodu yaza bilərik. Kodun birinci hissəsi, lazımi kitabxanaları idxal etmək və dəyişənlərimizi və komponentlərin hansı pinlərə bağlandığını elan etməkdir. Bu kod üçün Wire, LiquidCrystal_I2C və Servo kitabxanalarını idxal etməliyik.

#daxil edin

#daxil edin

#daxil edin

Servo myServo;

int const trigPin = 11;

int const echoPin = 12;

int redPin = 3;

int greenPin = 5;

int bluePin = 6;

int hesab = 0;

int tim = 500;

int cari = təsadüfi (8, 16); // istifadəçinin əlini sensordan uzaqlaşdırması lazım olan təsadüfi dəyər

LiquidCrystal_I2C lcd (0x27, 16, 2); // LCD quraşdırma

İndi pin növlərimizi elan etmək və digər zəruri komponentləri qurmaq üçün void setup () istifadə etməliyik.

void setup () {myServo.attach (9); Serial.begin (9600); pinMode (trigPin, Çıxış); pinMode (echoPin, GİRİŞ); pinMode pinMode (redPin, Çıxış); pinMode (greenPin, ÇIXIŞ); pinMode (bluePin, ÇIXIŞ); lcd.init (); lcd.lightlight (); lcd.begin (16, 2); lcd.clear (); // LCD quraşdırma}

İndi bir funksiya və PWM istifadə edərək RGB LED kodunu qurmalıyıq:

boşluq setColor (int qırmızı, int yaşıl, mavi mavi) {

qırmızı = 255 - qırmızı;

yaşıl = 255 - yaşıl;

mavi = 255 - mavi;

analogWrite (redPin, qırmızı);

analogWrite (greenPin, yaşıl);

analogWrite (bluePin, mavi);

}

İndi boşluq döngəsini () əlavə etməliyik. Burada, təsadüfi tam ədədlər yaradacaq və oyunçu üçün oyunu idarə etmək üçün bir sıra if ifadələrini istifadə edəcəyik. Yuxarıda qurulan cari dəyişən, oyunçunun sensordan uzaqlaşması lazım olan cari məsafədir.

Void loop () kodunun çox uzun olduğu üçün həmin kodu olan bir sənədə bir keçid yapışdıracağam:

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

Nəhayət, ultrasəs məsafə sensorunun dəyərlərini düymlərə çevirmək üçün faktiki hesablamaları etməliyik. Ultrasonik məsafə sensoru məsafəni birbaşa ölçmür; səs buraxır və sensorun sıçradığı hər hansı bir obyektdən səsi geri alması üçün lazım olan vaxtı qeyd edir.

uzun microsecondsToInches (uzun mikrosaniyələr) {

dönüş mikrosaniyələri / 74/2;

}

İndi simli Arduino -nu kodu ilə kompüterə qoşuruq, limanları qururuq və işə salırıq! Bu oyunun iki rejimi var. Ya LCD displey, servo motor, sensor və RGB LED -dən istifadə edə bilərsiniz və yalnız daha çətin rejim olan sensordan nə qədər məsafədə olduğunuzu bilirsiniz. Daha asan rejim, Alətlər> Serial Monitorda serial monitorundan istifadə etməyi nəzərdə tutur ki, bu da sensordan nə qədər uzaq olduğunuzu hər saniyədə sizə xəbər verəcək, beləliklə lazımi düzəlişlər edə bilərsiniz.

Oxuduğunuz üçün təşəkkürlər!

Tövsiyə: