Სარჩევი:
- მარაგები
- ნაბიჯი 1: ყველა კომპონენტის შედუღება
- ნაბიჯი 2: მოაწყეთ ყველაფერი ნივთებში
- ნაბიჯი 3: პროგრამირება
- ნაბიჯი 4: ისიამოვნეთ !
ვიდეო: წვრილმანი თამაშის კონსოლი Arduino– ს გამოყენებით: 4 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
ამ გაკვეთილში მე ვაპირებ გაჩვენოთ, თუ როგორ შეგიძლიათ გააკეთოთ სათამაშო კონსოლი Arduino nano– ს გამოყენებით. ასე რომ, თუ გსურთ ნახოთ დეტალური ვიდეო მასზე, გადახედეთ მას ჩემს youtube არხზე
მარაგები
თუ ყიდულობთ ამ ბმულებიდან, ეს დამეხმარება უფრო მეტი პროექტის განხორციელებაში
1) ARDUINO NANO2) OLED ეკრანი 3) Push ღილაკები 4) მავთულები
ნაბიჯი 1: ყველა კომპონენტის შედუღება
ამრიგად, ყველა კომპონენტის მიღების შემდეგ თქვენ უნდა შეაერთოთ ყველა კომპონენტი, როგორც ეს ნაჩვენებია ამ სქემის დიაგრამაში
ნაბიჯი 2: მოაწყეთ ყველაფერი ნივთებში
მას შემდეგ, რაც soldering ყველაფერი მოაწყოს ყველა კომპონენტი ასე მისცეს მას ლამაზი სახე
ნაბიჯი 3: პროგრამირება
ამრიგად, საბოლოოდ ყველა ნაბიჯის სწორად გავლის შემდეგ დროა ატვირთოთ ქვემოთ კოდი Arduino– ში
#ჩართეთ
#მოიცავს #მოიცავს #მოიცავს #მოიცავს # #მოიცავს #განსაზღვრეთ OLED_RESET 4 Adafruit_SSD1306 ჩვენება (OLED_RESET); const int c = 261; const int d = 294; const int e = 329; const int f = 349; const int g = 391; const int gS = 415; const int a = 440; const int aS = 455; const int b = 466; const int cH = 523; const int cSH = 554; const int dH = 587; const int dSH = 622; const int eH = 659; const int fH = 698; const int fSH = 740; const int gH = 784; const int gSH = 830; const int aH = 880; const unsigned char PROGMEM dioda16 = {0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x3F, 0xF0, 0x3C, 0x00, 0x3C, 0x00, 0xFF, 0x00, 0x7F, 0xFF, 0x7F, 0xFF, 0xFF, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x1F, 0xF0, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00}; const unsigned char PROGMEM ქარიშხალი = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F 0xFE 0x00 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, 0x04, 0x00, 0x00, 0x60, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x7F, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xD7, 0xFF, 0xFF, 0xE1, 0x00, 0x01 0x0x, 0xBF, 0xBF, 0xBF, 0xBF, 0xF1, 0xCF, 0xFA, 0x80, 0x01, 0x3F, 0xC2, 0x37, 0xF7, 0x80, 0x01, 0xEF, 0x9C, 0x01, 0xE7, 0xC0, 0x01, 0xE0, 0x70, 0x06, 0x06, 0x80, 0x01, 0xE0, 0xC0, 0x03, 0x06, 0x80, 0x01, 0xFF, 0x80, 0x01, 0xFF, 0x80, 0x01, 0xF8, 0x00, 0x00, 0x1D, 0xC0, 0x03, 0x70, 0x00, 0x80, 0x0C, 0x60, 0x05, 0xB0, 0x07, 0xF0, 0x08, 0x90, 0x09, 0x10, 0x1F, 0xF8, 0x09, 0xD0, 0x0B, 0x90, 0x1F, 0x7C, 0x03, 0xF0, 0x0F, 0xC0, 0xFC, 0x0F, 0x07, 0x90, 0x0D, 0x43, 0xC0, 0x03, 0x07, 0x90, 0x05, 0x64, 0x00, 0x00, 0xCF, 0x10, 0x07, 0xFC, 0x00, 0x00, 0x26, 0x10, 0x01, 0x80, 0x00, 0x00, 0x10, 0x20, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x40, 0x01, 0x80, 0x07, 0xF0, 0x01, 0x80, 0x00, 0x80, 0x07, 0xC8, 0x00, 0x80, 0x00, 0x80, 0x0B, 0xE8, 0x00, 0x80, 0x00, 0x87, 0x97, 0xE9, 0xE0, 0x80, 0x00, 0x87, 0xDF, 0xEF, 0xA0, 0x80, 0x00, 0x4B, 0xFF, 0xFF, 0xA0, 0x80, 0x00, 0x6B, 0xDF, 0xFB, 0xA3, 0x00, 0x00, 0x24, 0x97, 0xE8, 0x24, 0x00, 0x00, 0x1E, 0x1F, 0xC0, 0x2C, 0x00, 0x00, 0x07, 0xF8, 0x1F, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00}; void setup () {pinMode (3, INPUT_PULLUP); pinMode (12, INPUT_PULLUP); pinMode (11, INPUT_PULLUP); ჩვენება. დასაწყისი (SSD1306_SWITCHCAPVCC, 0x3C); ჩვენება. ჩვენება (); display.clearDisplay (); display.setTextSize (0); display.drawBitmap (6, 11, ქარიშხალი, 48, 48, 1); display.setFont (& FreeSans9pt7b); display.setTextColor (WHITE); display.setCursor (65, 14); display.println ("xWing"); display.setFont (); display.setCursor (65, 17); display.setTextSize (0); display.println ("vs"); display.setCursor (0, 0); float voltaza = readVcc ()/1000; ჩვენება. ბეჭდვა (ვოლტაზა);; display.setFont (& FreeSans9pt7b); display.setCursor (65, 39); display.println ("სიკვდილი"); display.setFont (); display.setCursor (65, 42); display.println ("ვარსკვლავი"); display.setTextSize (0); display.setCursor (65, 55); ჩვენება. ბეჭდვა ("VRAJ"); display.setCursor (65, 20); ჩვენება. ჩვენება (); display.setFont (); სიგნალი (a, 500); სიგნალი (a, 500); სიგნალი (a, 500); სიგნალი (f, 350); სიგნალი (cH, 150); სიგნალი (a, 500); სიგნალი (f, 350); სიგნალი (cH, 150); სიგნალი (a, 650); დაგვიანება (500); დაგვიანება (500); } int metx = 0; int mety = 0; int postoji = 0; int nep = 8; int smjer = 0; int go = 0; int rx = 95; int ry = 0; int rx2 = 95; int ry2 = 0; int rx3 = 95; int ry3 = 0; int ბოდოვი = 0; int brzina = 3; // ტყვიის სიჩქარე int bkugle = 1; int najmanja = 600; int najveca = 1200; int promjer = 10; int rx4 = 95; int ry4 = 0; int ზივოტი = 5; int poc = 0; int ispaljeno = 0; int nivo = 1; int centar = 95; ხელმოუწერელი გრძელი პოკეტო = 0; ხელმოუწერელი გრძელი ოდაბრანო = 0; ხელმოუწერელი გრძელი ტრენუტო = 0; ხელმოუწერელი გრძელი nivovrije = 0; int poz = 30; void loop () {if (go == 0) {display.clearDisplay (); display.drawPixel (50, 30, 1); display.drawPixel (30, 17, 1); display.drawPixel (60, 18, 1); display.drawPixel (55, 16, 1); display.drawPixel (25, 43, 1); display.drawPixel (100, 43, 1); display.drawPixel (117, 52, 1); display.drawPixel (14, 49, 1); display.drawPixel (24, 24, 1); display.drawPixel (78, 36, 1); display.drawPixel (80, 57, 1); display.drawPixel (107, 11, 1); display.drawPixel (150, 11, 1); display.drawPixel (5, 5, 1); display.drawPixel (8, 7, 1); display.drawPixel (70, 12, 1); display.drawPixel (10, 56, 1); display.drawPixel (70, 25, 1); if (poc == 0) {pocetno = millis (); ოდაბრანო = შემთხვევითი (400, 1200); poc = 1; } trenutno = millis (); // nivoi if ((trenutno-nivovrije)> 50000) {nivovrije = trenutno; nivo = nivo+1; brzina = brzina+1; // brizna neprijateljevog metka if (nivo % 2 == 0) {bkugle = bkugle+1; promjer = promjer-1; } najmanja = najmanja-50; najveca = najveca-50; } if ((odabrano+pocetno) 0) {display.drawCircle (rx, ry, 2, 1); rx = rx-brzina;} if (ispaljeno> 1) {display.drawCircle (rx2, ry2, 1, 1); rx2 = rx2-brzina;} if (ispaljeno> 2) {display.drawCircle (rx3, ry3, 4, 1); rx3 = rx3-brzina;} if (ispaljeno> 3) {display.drawCircle (rx4, ry4, 2, 1); rx4 = rx4-brzina;} if (digitalRead (12) == 0 && poz> = 2) {poz = poz-2;} if (digitalRead (11) == 0 && poz128) postoji = 0; if (smjer == 0) {nep = nep+bkugle;} სხვა {nep = nep-bkugle;} if (nep> = (64-promjer)) smjer = 1; თუ (nep = nep-promjer && mety (centar-promjer) && metx = pozicija-8 && ry <= pozicija+8) if (rx4) {rx = 95; ry = -50; ტონი (9, 100, 100); ზივოტი = ზივოტი -1; } if (ry2> = pozicija-8 && ry2 <= pozicija+8) if (rx24) {rx2 = -50; ry2 = -50; ტონი (9, 100, 100); ზივოტი = ზივოტი -1; } if (ry3> = pozicija-8 && ry3 <= pozicija+8) if (rx34) {rx3 = -50; ry3 = -50; ტონი (9, 100, 100); ზივოტი = ზივოტი -1; } if (ry4> = pozicija-8 && ry4 <= pozicija+8) if (rx44) {rx4 = 200; ry4 = -50; ისპალენო = 0; ტონი (9, 100, 100); ზივოტი = ზივოტი -1; } if (rx4 <1) {ispaljeno = 0; rx4 = 200;} if (zivoti == 0) go = 1; } if (go == 1) {if (zivoti == 0) {ტონი (9, 200, 300); დაგვიანება (300); ტონი (9, 250, 200); დაგვიანება (200); ტონი (9, 300, 300); დაგვიანება (300); ზივოტი = 5; } display.clearDisplay (); display.setFont (); display.setTextSize (2); display.setTextColor (WHITE); display.setCursor (7, 10); display.println ("GAME OVER!"); display.setTextSize (1); display.setCursor (7, 30); display.println ("ანგარიში:"); display.setCursor (44, 30); ჩვენება. ბეჭდვა (ბოდოვი); display.setCursor (7, 40); display.println ("დონე:"); display.setCursor (44, 40); ჩვენება. ბეჭდვა (nivo); display.setCursor (7, 50); display.println ("დრო (ები):"); display.setCursor (60, 50); ჩვენება. ბეჭდვა (trenutno/1000); ჩვენება. ჩვენება (); if (digitalRead (3) == 0) {ტონი (9, 280, 300); დაგვიანება (300); ტონი (9, 250, 200); დაგვიანება (200); ტონი (9, 370, 300); დაგვიანება (300); პონოვო (); }}} void ponovo () {metx = 0; mety = 0; postoji = 0; nep = 8; smjer = 0; წადი = 0; rx = 95; ry = 0; rx2 = 95; ry2 = 0; rx3 = 95; ry3 = 0; ბოდოვი = 0; brzina = 3; // brizna neprijateljevog metka bkugle = 1; ნაჯმანჯა = 600; ნაჯვეკა = 1200; პრომჯერი = 12; rx4 = 95; ry4 = 0; ზივოტი = 5; poc = 0; ისპალენო = 0; nivo = 1; პოჩეტნო = 0; ოდაბრანო = 0; ტრენუტნო = 0; nivovrije = 0; } long readVcc () {// წაიკითხეთ 1.1V მითითება AVcc– ს წინააღმდეგ // დააყენეთ მითითება Vcc– ზე და გაზომვა შიდა 1.1V მითითებაზე #განსაზღვრული (_ AVR_ATmega32U4_) || განსაზღვრული (_ AVR_ATmega1280_) || განსაზღვრული (_ AVR_ATmega2560_) ADMUX = _BV (REFS0) | _BV (MUX4) | _BV (MUX3) | _BV (MUX2) | _BV (MUX1); #lif განსაზღვრულია (_AVR_ATtiny24_) || განსაზღვრული (_ AVR_ATtiny44_) || განსაზღვრული (_ AVR_ATtiny84_) ADMUX = _BV (MUX5) | _BV (MUX0); #lif განსაზღვრულია (_AVR_ATtiny25_) || განსაზღვრული (_ AVR_ATtiny45_) || განსაზღვრული (_ AVR_ATtiny85_) ADMUX = _BV (MUX3) | _BV (MUX2); #სხვა ADMUX = _BV (REFS0) | _BV (MUX3) | _BV (MUX2) | _BV (MUX1); #ენდიფის დაყოვნება (2); // დაელოდეთ სანამ Vref მოაგვარებს ADCSRA | = _BV (ADSC); // კონვერტაციის დაწყება სანამ (bit_is_set (ADCSRA, ADSC)); // საზომი uint8_t დაბალი = ADCL; // ჯერ უნდა წაიკითხოთ ADCL - ის შემდეგ იკეტება ADCH uint8_t მაღალი = ADCH; // გახსნის ორივე ხანგრძლივ შედეგს = (მაღალი << 8) | დაბალი; შედეგი = 1125300L / შედეგი; // გამოთვალეთ Vcc (mV); 1125300 = 1.1*1023*1000 დაბრუნების შედეგი; // Vcc მილივოლტებში} ბათილი სიგნალი (int შენიშვნა, int ხანგრძლივობა) {// ტონის დაკვრა ზუმზე PIN ტონზე (9, შენიშვნა, ხანგრძლივობა); დაგვიანება (ხანგრძლივობა); noTone (9); დაგვიანება (50); }
ნაბიჯი 4: ისიამოვნეთ !
გილოცავთ? თქვენ საბოლოოდ მოახერხეთ ასე თუ მოგეწონათ მაშინ გამოიწერეთ ჩემი youtube არხი
გირჩევთ:
წვრილმანი ხელის თამაშის კონსოლი RetroPie გამოყენებით: 7 ნაბიჯი
DIY ხელის სათამაშო კონსოლი RetroPie– ს გამოყენებით: უყურეთ ზემოთ მოცემულ ვიდეოს, რომ უკეთ გაიგოთ ეს პროექტი. კარგად დროა დაიწყოთ! პირველ რიგში, ჩვენ ვაპირებთ გამოვიყენოთ RetroPie. ეს გვაძლევს ორ ვარიანტს. თუ ჩვენ უკვე დაყენებული გვაქვს Raspbian ჩვენს SD ბარათზე, მაშინ შეგვიძლია დავაინსტალიროთ RetroP
შექმენი შენი პორტატული რეტრო თამაშის კონსოლი! რომელიც ასევე არის Win10 ტაბლეტი!: 6 ნაბიჯი (სურათებით)
შექმენით საკუთარი პორტატული რეტრო თამაშის კონსოლი! …… რომელიც ასევე არის Win10 ტაბლეტი!: ამ პროექტში მე გაჩვენებთ თუ როგორ უნდა შექმნათ პორტატული რეტრო სათამაშო კონსოლი, რომელიც ასევე შეიძლება გამოყენებულ იქნას როგორც Windows 10 ტაბლეტი. იგი შედგება 7 " HDMI LCD სენსორული ეკრანით, LattePanda SBC, USB Type C PD დენის PCB და კიდევ რამდენიმე დამატებითი
შექმენით თამაშის კონსოლი თქვენი ჟოლოს Pi !: 6 ნაბიჯი
შექმენით თამაშის კონსოლი თქვენი Raspberry Pi- ის გამოყენებით!: გინდათ რეტრო თამაშები ითამაშოთ ძვირადღირებულ ძველ კონსოლებზე გადახდის გარეშე? ამის გაკეთება შეგიძლიათ Raspberry Pi– ით. Raspberry Pi არის " საკრედიტო ბარათის ზომის კომპიუტერი " რომელსაც ბევრი მაგარი რამ შეუძლია. ბევრი სხვადასხვა ტიპია
Arduino დაფუძნებული წვრილმანი თამაშის კონტროლერი - Arduino PS2 თამაშის კონტროლერი - თამაში Tekken With DIY Arduino Gamepad: 7 ნაბიჯი
Arduino დაფუძნებული წვრილმანი თამაშის კონტროლერი | Arduino PS2 თამაშის კონტროლერი | თამაში Tekken With DIY Arduino Gamepad: გამარჯობა ბიჭებო, თამაშების თამაში ყოველთვის სახალისოა, მაგრამ საკუთარი წვრილმანი თამაშით თამაში უფრო სახალისოა. ასე რომ, ჩვენ გავაკეთებთ თამაშის კონტროლერს arduino pro micro- ს ამ ინსტრუქციებში
Handheld Recalbox თამაშის კონსოლი 2.2 TFT გამოყენებით: 6 ნაბიჯი
Handheld Recalbox თამაშის კონსოლი 2.2 TFT გამოყენებით: ინსტრუქციები ხელნაკეთი recalbox სათამაშო კონსოლის წვდომისათვის 2.2”TFT LCD და Raspberry Pi 0 W და GPIO ღილაკების გამოყენებით. თქვენ შეგიძლიათ ნახოთ ეს youtube ვიდეო ამ ნაბიჯების სრული დემონსტრირებისათვის: A. მიიღეთ ყველა ნაწილი. B. შეაერთეთ ნაწილები ერთად