![Arduino Kullanarak Kendin Yap Oyun Konsolu: 4 Adım Arduino Kullanarak Kendin Yap Oyun Konsolu: 4 Adım](https://i.howwhatproduce.com/images/001/image-2784-11-j.webp)
İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-23 15:13
![Image Image](https://i.howwhatproduce.com/images/001/image-2784-13-j.webp)
![](https://i.ytimg.com/vi/swgvl7hp-tA/hqdefault.jpg)
Bu derste size Arduino nano kullanarak nasıl oyun konsolu yapabileceğinizi göstereceğim. Bu yüzden detaylı videosunu görmek istiyorsanız youtube kanalıma göz atın.
Gereçler
Bu linklerden satın alırsanız size daha fazla proje vermeme yardımcı olacaktır.
1) ARDUINO NANO2) OLED EKRAN3) BUTONLARA BASIN4) TELLER
Adım 1: Tüm Bileşenleri Lehimleme
![Eğlence!!! Eğlence!!!](https://i.howwhatproduce.com/images/001/image-2784-14-j.webp)
Bu nedenle, tüm bileşenleri aldıktan sonra, tüm bileşenleri bu devre şemasında gösterildiği gibi lehimlemeniz gerekir.
2. Adım: Her Şeyi Yerlere Yerleştirin
Her şeyi lehimledikten sonra, güzel bir görünüm vermek için tüm bileşenleri bu şekilde düzenleyin.
Adım 3: Programlama
Son olarak, tüm adımları doğru bir şekilde takip ettikten sonra, aşağıdaki kodu Arduino'ya yükleme zamanı geldi.
#Dahil etmek
#include #include #include #include //#include #define OLED_RESET 4 Adafruit_SSD1306 ekran(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; sabit int cH = 523; const int cSH = 554; sabit int dH = 587; const int dSH = 622; const int eH = 659; sabit 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, 0x7x, 0,0xFFx00,, 0x00, 0x3C, 0x00, 0x1F, 0xF0, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00 }; const unsigned char PROGMEM fırtınası = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x, 0xFE, 0x00, 0x00, 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x20, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x300, 0x, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, 0x04, 0x00, 0x00, 0x60, 0x00, 0x00, 0x02, 0x00, 0x00, 0x40, 0x000, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0xE0, 0x00, 0, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xD7, 0xFF, 0xFF, 0xE1, 0x00, 0x01, 0xBFA, 0xFC, 0x1F, 0xFC, 0x1F, 0x, 0xBF, 0xF1, 0xCF, 0xFA, 0x80, 0x01, 0x3F, 0xC2, 0x37, 0xF7, 0x80, 0x01, 0xEF, 0x9C, 0x01, 0xE7, 0xC0, 0x01, 0xE0, 0x70, 0x0680, 0x06,, 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, 0x7x1, 0xF0, 0x0F, 0xC0, 0xFC, 0x0F, 0x07, 0x90, 0x0D, 0x43, 0xC0, 0x03, 0x07, 0x90, 0x05, 0x64, 0x00, 0x00, 0xCF, 0x10, 0x07, 0xFC, 0x00, 0x00, 0,x 0x01, 0x80, 0x00, 0x00, 0x10, 0x20, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x40, 0x01, 0x80, 0x07, 0xF0, 0x01, 0x80, 0x00, 0x80, 0x07, 0xC8, 0x000, 0x, 0x80, 0x0B, 0xE8, 0x00, 0x80, 0x00, 0x87, 0x97, 0xE9, 0xE0, 0x80, 0x00, 0x87, 0xDF, 0xEF, 0xA0, 0x80, 0x00, 0x4B, 0xFF, 0xFF, 0xA0, 0x80, 0xA0, 0x80, 0xDF, 0xFB, 0xA3, 0x00, 0x00, 0x24, 0x97, 0xE8, 0x24, 0x00, 0x00, 0x1E, 0x1F, 0xC0, 0x2C, 0x00, 0x00, 0x07, 0xF8, 0x1F, 0xF0, 0x00, 0xF0, 0x00, 0 0xF8, 0x00, 0x00 }; geçersiz kurulum() { pinMode(3, INPUT_PULLUP); pinMode(12, INPUT_PULLUP); pinMode(11, INPUT_PULLUP); display.begin(SSD1306_SWITCHCAPVCC, 0x3C); display.display(); display.clearDisplay(); display.setTextSize(0); display.drawBitmap(6, 11, fırtına, 48, 48, 1); display.setFont(&FreeSans9pt7b); display.setTextColor(BEYAZ); 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.println(voltaza);; display.setFont(&FreeSans9pt7b); display.setCursor(65, 39); display.println("Ölüm"); display.setFont(); display.setCursor(65, 42); display.println("yıldız"); display.setTextSize(0); display.setCursor(65, 55); display.println("VRAJ tarafından"); display.setCursor(65, 20); display.display(); display.setFont(); bip(a, 500); bip(a, 500); bip(a, 500); bip(f, 350); bip(cH, 150); bip(a, 500); bip(f, 350); bip(cH, 150); bip(a, 650); gecikme(500); gecikme(500); } int metx=0; int met=0; int postoji=0; int nep=8; int smjer=0; int git=0; int rx=95; int ry=0; int rx2=95; int ry2=0; int rx3=95; int ry3=0; int bodovi=0; int brzina=3; // madde işaretinin hızı int bkugle=1; int nejmanja=600; int najveca=1200; int haberci=10; int rx4=95; int ry4=0; int zivoti=5; int poc=0; int ispaljeno=0; int nivo=1; int merkez=95; imzasız uzun pocetno=0; imzasız uzun odabrano=0; imzasız uzun trenutno=0; imzasız uzun 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(); odabrano= rastgele(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; } nejmanja=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;} else {nep=nep-bkugle;} if(nep>=(64-promjer)) smjer=1; if(nep=nep-promjer && mety(centar-promjer)&&metx=pozicija-8 && ry<=pozicija+8) if(rx4) { rx=95; ry=-50; ton(9, 100, 100); zivoti=zivoti-1; } if(ry2>=pozicija-8 && ry2<=pozicija+8) if(rx24) { rx2=-50; ry2=-50; ton(9, 100, 100); zivoti=zivoti-1; } if(ry3>=pozicija-8 && ry3<=pozicija+8) if(rx34) { rx3=-50; ry3=-50; ton(9, 100, 100); zivoti=zivoti-1; } if(ry4>=pozicija-8 && ry4<=pozicija+8) if(rx44) { rx4=200; ry4=-50; ispaljeno=0; ton(9, 100, 100); zivoti=zivoti-1; } if(rx4<1){ ispaljeno=0; rx4=200;} if(zivoti==0) go=1; } if(go==1) { if(zivoti==0){ ton(9, 200, 300); gecikme(300); ton(9, 250, 200); gecikme(200); ton(9, 300, 300); gecikme(300); zivoti=5; } display.clearDisplay(); display.setFont(); display.setTextSize(2); display.setTextColor(BEYAZ); display.setCursor(7, 10); display.println("OYUN BİTTİ!"); display.setTextSize(1); display.setCursor(7, 30); display.println("puan:"); display.setCursor(44, 30); display.println(bodovi); display.setCursor(7, 40); display.println("seviye:"); display.setCursor(44, 40); display.println(nivo); display.setCursor(7, 50); display.println("zaman(lar):"); display.setCursor(60, 50); display.println(trenutno/1000); display.display(); if(digitalRead(3)==0) { ton(9, 280, 300); gecikme(300); ton(9, 250, 200); gecikme(200); ton(9, 370, 300); gecikme(300); ponovo(); } } } geçersiz ponovo() { metx=0; met=0; postoji=0; nep=8; smjer=0; git=0; rx=95; ry=0; rx2=95; ry2=0; rx3=95; ry3=0; bodovi=0; brzina=3; //brizna neprijateljevog metka bkugle=1; nejmanja=600; najveca=1200; promjer=12; rx4=95; ry4=0; zivoti=5; poc=0; ispaljeno=0; nivo=1; pocetno=0; odabrano=0; trenutno=0; nivovrije=0; } long readVcc() { // AVcc'ye karşı 1.1V referansını oku // referansı Vcc'ye ve ölçümü dahili 1.1V referansına ayarlayın #if tanımlanmış(_AVR_ATmega32U4_) || tanımlı(_AVR_ATmega1280_) || tanımlı(_AVR_ATmega2560_) ADMUX = _BV(REFS0) | _BV(MUX4) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); #elif tanımlı (_AVR_ATtiny24_) || tanımlı(_AVR_ATtiny44_) || tanımlı(_AVR_ATtiny84_) ADMUX = _BV(MUX5) | _BV(MUX0); #elif tanımlı (_AVR_ATtiny25_) || tanımlı(_AVR_ATtiny45_) || tanımlı(_AVR_ATtiny85_) ADMUX = _BV(MUX3) | _BV(MUX2); #else ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); #endif gecikme(2); // Vref'in ADCSRA'yı yerleştirmesini bekleyin |= _BV(ADSC); // Dönüştürmeyi başlat while (bit_is_set(ADCSRA, ADSC)); // ölçüm uint8_t düşük = ADCL; // önce ADCL'yi okumalı - sonra ADCH'yi kilitler uint8_t high = ADCH; // her iki uzun sonucun kilidini açar = (yüksek<<8) | düşük; sonuç = 1125300L / sonuç; // Vcc'yi hesapla (mV cinsinden); 1125300 = 1.1*1023*1000 dönüş sonucu; // Vcc cinsinden milivolt } void bip(int nota, int süre) { //Buzzer'da ton çalPin tonu(9, not, süre); gecikme(süre); tonsuz(9); gecikme(50); }
Adım 4: Keyfini çıkarın!!
Tebrikler ? sonunda başardın, beğendiysen youtube kanalıma abone ol
Önerilen:
RetroPie Kullanarak Kendin Yap Oyun Konsolu: 7 Adım
![RetroPie Kullanarak Kendin Yap Oyun Konsolu: 7 Adım RetroPie Kullanarak Kendin Yap Oyun Konsolu: 7 Adım](https://i.howwhatproduce.com/images/002/image-3922-j.webp)
RetroPie Kullanarak Kendin Yap Oyun Konsolu: Bu projeyi daha iyi anlamak için yukarıdaki videoyu izleyin. İyi. Başlamanın zamanı geldi! Öncelikle RetroPie kullanacağız. Bu bize iki seçenek bırakıyor. Raspbian'ı SD kartımıza zaten kurduysak, RetroP'yi kurabiliriz
Raspberry Pi'nizi Kullanarak Oyun Konsolu Yapın!: 6 Adım
![Raspberry Pi'nizi Kullanarak Oyun Konsolu Yapın!: 6 Adım Raspberry Pi'nizi Kullanarak Oyun Konsolu Yapın!: 6 Adım](https://i.howwhatproduce.com/images/005/image-14235-j.webp)
Raspberry Pi'nizi Kullanarak Oyun Konsolu Yapın!: Pahalı eski konsollara para ödemeden retro oyunlar oynamak ister misiniz? Raspberry Pi ile bunu yapabilirsiniz. Raspberry Pi, "kredi kartı boyutunda bir bilgisayardır"; bu pek çok harika şey yapabilir. Birçok farklı türü var
WiFi Uyarıları ile Mini Kendin Yap Hidroponik Sistemler ve Kendin Yap Hidroponik Bitki Bahçesi İnşa Et: 18 Adım
![WiFi Uyarıları ile Mini Kendin Yap Hidroponik Sistemler ve Kendin Yap Hidroponik Bitki Bahçesi İnşa Et: 18 Adım WiFi Uyarıları ile Mini Kendin Yap Hidroponik Sistemler ve Kendin Yap Hidroponik Bitki Bahçesi İnşa Et: 18 Adım](https://i.howwhatproduce.com/images/010/image-29394-j.webp)
WiFi Uyarıları ile bir Mini Kendin Yap Hidroponik Sistemler ve Kendin Yap Hidroponik Bitki Bahçesi İnşa Et: Bu derste size bir #Kendin Yap #hidroponik sistemini nasıl kuracağınızı göstereceğiz. Bu DIY hidroponik sistem, 2 dakika açık ve 4 dakika kapalı olan özel bir hidroponik sulama döngüsünde sulayacaktır. Ayrıca rezervuar su seviyesini de izleyecektir. Bu sistem
Arduino Tabanlı Kendin Yap Oyun Denetleyicisi - Arduino PS2 Oyun Denetleyicisi - DIY Arduino Gamepad ile Tekken Oynamak: 7 Adım
![Arduino Tabanlı Kendin Yap Oyun Denetleyicisi - Arduino PS2 Oyun Denetleyicisi - DIY Arduino Gamepad ile Tekken Oynamak: 7 Adım Arduino Tabanlı Kendin Yap Oyun Denetleyicisi - Arduino PS2 Oyun Denetleyicisi - DIY Arduino Gamepad ile Tekken Oynamak: 7 Adım](https://i.howwhatproduce.com/images/011/image-30363-j.webp)
Arduino Tabanlı Kendin Yap Oyun Denetleyicisi | Arduino PS2 Oyun Denetleyicisi | Tekken'i DIY Arduino Gamepad ile Oynamak: Merhaba arkadaşlar, oyun oynamak her zaman eğlencelidir ama kendi DIY özel oyun Controller'ınızla oynamak daha eğlencelidir. Bu yüzden bu talimatta arduino pro micro kullanarak bir oyun Controller yapacağız
Pandora'nın Kutusunu Kullanarak Özel Seçim Çerçevesi Madeni Para Yuvaları ile 2 Kişilik Kendin Yap Bartop Oyun Salonu Nasıl Yapılır: 17 Adım (Resimlerle)
![Pandora'nın Kutusunu Kullanarak Özel Seçim Çerçevesi Madeni Para Yuvaları ile 2 Kişilik Kendin Yap Bartop Oyun Salonu Nasıl Yapılır: 17 Adım (Resimlerle) Pandora'nın Kutusunu Kullanarak Özel Seçim Çerçevesi Madeni Para Yuvaları ile 2 Kişilik Kendin Yap Bartop Oyun Salonu Nasıl Yapılır: 17 Adım (Resimlerle)](https://i.howwhatproduce.com/images/004/image-11278-36-j.webp)
Pandora'nın Kutusunu Kullanarak Özel Seçim Çerçevesi Madeni Para Yuvaları ile 2 Oyunculu Kendin Yap Bartop Oyun Salonu Nasıl Yapılır: Bu, kayan yazı çerçevesine yerleşik özel madeni para yuvalarına sahip 2 oyunculu bir bar üstü arcade makinesinin nasıl oluşturulacağına dair adım adım bir eğitimdir. Madeni para yuvaları, yalnızca çeyrek ve daha büyük madeni paraları kabul edecek şekilde yapılacaktır. Bu oyun salonuna güç verilir