Mündəricat:
- Addım 1: Addım 1: Məsafə Sensoru
- Adım 2: Adım 2: Servo Motor
- Addım 3: Adım 3: RGB LED
- Addım 4: Adım 4: LCD
- Addım 5: Adım 5: Kod
Video: Sürətli reaksiya oyunu: məsafə versiyası: 5 addım (şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
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
İ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
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
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
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ə:
Tap Tap Rainbow - 2 Oyunçulu Sürətli Reaksiya Oyunu: 4 Addım (Şəkillərlə)
Tap Tap Rainbow - 2 Oyunçulu Sürətli Reaksiya Oyunu: 2 həftə əvvəl qızım göy qurşağı rəngləri ilə sürətli bir reaksiya oyunu etmək üçün dahi bir fikrə sahib idi (o göy qurşağı mütəxəssisidir: D). Fikri dərhal bəyəndim və necə gerçək bir oyuna çevirə biləcəyimizi düşünməyə başladıq. Göy qurşağınız var
555 Taymer Reaksiya Oyunu: 5 addım
555 Timer Reaction Oyunu: Hədəf Auditoriya Bu təlimat, yalnız bir neçə ucuz komponentlə qura biləcəyiniz sadə bir oyun axtaran sxemlərlə (kiçik bir fon ilə) maraqlanan insanlara yönəldilmişdir. Çətinlik Səviyyə Bu çətin olardı əgər
Aruduino LED Oyunu İki Oyunçu Oyunu Sürətli Tıklayır: 8 Addım
Aruduino LED Oyunu İki Oyunçu Oyunu Sürətli Tıklayaraq: Bu layihə @HassonAlkeim -dən ilhamlanıb. Bura dərindən baxmaq istəsəniz https://www.instructables.com/id/Arduino-Two-Player-Fast-Button-Clicking-Game/ yoxlaya biləcəyiniz bir linkdir. Bu oyun Alkeim -in təkmilləşdirilmiş bir versiyasıdır. Bu bir
Gülməli Arduino Reaksiya Oyunu: 3 addım
Funny Arduino Reaction Game: Bütün ailə üçün Funny Arduino reaksiya oyunu;) Çapraz platforma Bluetooth ünsiyyətinə əsaslanır. Yalnız bir neçə Arduino əşyasına, bir Android smartfonuna və ayaqqabı qutusuna ehtiyacınız var. Əgər bunlardan heç biri yoxdursa, buna möhkəm inanın: heç bir şey yoxdur
Neo Piksel, Ən Sürətli Başparmak Oyunu: 8 Addım (Şəkillərlə birlikdə)
Neo Pixel, Ən Sürətli Başparmak Oyunu: İngiltərənin Newcastle şəhərində yerli Makerfaire -ə aparmaq üçün bu layihəni hazırladım. Fikir, nisbətən ucuz və istehsal etmək asan bir məktəb həyəti oyunu etmək idi. Fikir sadədir, qazanmaq üçün düyməni dəfələrlə basana qədər