Arduino Pong-spel med 0,96-tums Oled-display för Uno R3!

Artikelns innehåll
  1. Arduino Pong-spel med 0,96-tums Oled-display för Uno R3!
  2. Introduktion
    1. Krav och material
    2. Installation av bibliotek
    3. Kodgenomgång
    4. Spelarens paddelkontroller
    5. AI för datorpaddeln
    6. Spelmekanik och bollens rörelse
    7. Grafisk rendering på OLED-skärmen
  3. Avslutande tankar
    1. Framtida förbättringar

Arduino Pong-spel med 0,96-tums Oled-display för Uno R3!

Välkommen till vår djupdykning i att skapa ett arduino pong game med en 0,96-tums OLED-display för Uno R3! I denna artikel kommer vi att gå igenom alla steg för att designa och programmera ett eget arduino pong spel, som inte bara är underhållande utan även lärorikt. Genom att följa guiden kommer du att få lära dig mer om Arduino, programmering och hur man får komponenter att samverka.

I det här projektet kommer vi att använda en OLED-skärm för att visa spelet och styra paddlarna. Du får också möjlighet att implementera AI för datorpaddeln samt hantera spelmekanik, vilket verkligen kommer att sätta dina programmeringskunskaper på prov. Låt oss sätta igång och se vad som krävs för att skapa ett riktigt spännande arduino pong game!

Introduktion

Detta projekt handlar om att bygga ett klassiskt arduino pong spel och köra det på en Arduino Uno R3 med en OLED-skärm. Vi kommer att gå igenom vad som behövs i termer av hårdvara och mjukvara, skapa spelmekaniken och till sist få spelet att fungera smidigt. Detta projekt lämpas för både nybörjare och de med viss erfarenhet av Arduino-programmering.

Krav och material

Innan vi börjar med att skriva koden, behöver vi samla alla nödvändiga komponenter för att bygga vårt arduino pong game. Här är en lista på vad du behöver:

  • Arduino Uno R3
  • 0,96-tums OLED-display
  • Push buttons (knappar) för paddelkontroll
  • Motstånd (till exempel 10 kΩ för knapparna)
  • Brödbräda och jumper-kablar
  • USB-kabel för att programmera Arduino
See also  Arduino Vattensystem för Växter: En Komplett Guide

Se till att du har alla dessa komponenter till hands innan vi går vidare till installationsschemat.

Installation av bibliotek

För att kunna använda OLED-displayen i vårt arduino pong spel, behöver vi installera vissa bibliotek som underlättar grafisk rendering. De två huvudsakliga biblioteken är:

  1. Adafruit_GFX - Detta är ett grundläggande grafikbibliotek.
  2. Adafruit_SSD1306 - Detta bibliotek är specifikt för att styra OLED-displayen.

För att installera dessa bibliotek, öppna Arduino IDE, gå till Sketch > Include Library > Manage Libraries.... Sök efter namnen på biblioteken och installera dem. När de är installerade kan vi börja skriva vår kod.

Kodgenomgång

Nu när vi har installerat nödvändiga bibliotek är vi redo att börja med koden. Här är en översikt över den grundläggande strukturen:


#include 
#include 

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

// Definiera paddlar och bollens egenskaper här
void setup() {
    display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
    display.clearDisplay();
}

void loop() {
    // Spelmekanik och grafiskt rendering
}

I setup-funktionen initierar vi displayen och rensar den för att förbereda för nästa rendering. I loop-funktionen kommer vi att hantera spelmekaniken som kontrollerar rörelse av paddlar och boll.

Spelarens paddelkontroller

För att styra spelarens paddel kommer vi att använda två knappar - en för att röra paddeln uppåt och en annan för nedåt. Här är hur vi kan definiera knapparna och läsa in deras tillstånd:


#define BUTTON_UP 2
#define BUTTON_DOWN 3

void setup() {
    pinMode(BUTTON_UP, INPUT);
    pinMode(BUTTON_DOWN, INPUT);
}

void loop() {
    if(digitalRead(BUTTON_UP) == HIGH) {
        // Flytta paddeln uppåt
    }
    if(digitalRead(BUTTON_DOWN) == HIGH) {
        // Flytta paddeln nedåt
    }
}

Genom att registrera knapptryckningarna kan vi enkelt flytta spelarens paddel upp och ner på skärmen så att de kan interagera med bollen.

AI för datorpaddeln

För datorpaddeln kommer vi att implementera en enkel AI. Denna AI kommer att följa bollen vertikalt, vilket ger en utmaning för spelaren. Här är en översikt över hur vi kan göra detta:


void updateComputerPaddle() {
    if (ballY < computerPaddleY) {
        // Flytta ner paddeln
    }
    if (ballY > computerPaddleY + paddleHeight) {
        // Flytta upp paddeln
    }
}

Genom att jämföra datorpaddelns position med bollens position kan vi enkelt styra datorns paddel och göra spelet mer interaktivt.

Spelmekanik och bollens rörelse

Med paddlarna på plats är det nästa steget att definiera hur bollen rör sig. Bollen kommer att ändra riktning varje gång den träffar en paddel eller vägg. Här är en exempelimplementation:


int ballX = SCREEN_WIDTH / 2;
int ballY = SCREEN_HEIGHT / 2;
int ballSpeedX = 1; // Riktning rör sig med 1 pixel i x-kontroll
int ballSpeedY = 1; // Riktningen rör sig med 1 pixel i y-kontroll

void updateBallPosition() {
    ballX += ballSpeedX;
    ballY += ballSpeedY;

    if (ballY <= 0 || ballY >= SCREEN_HEIGHT) {
        ballSpeedY = -ballSpeedY; // Bollen har träffat en vägg
    }

    // Kolla om bollen träffar paddlarna
}

Genom att uppdatera bollens X och Y-position, samt kontrollera om den träffar gränserna, kan vi få en realistisk rörelse för bollen i vårt arduino pong spel.

Grafisk rendering på OLED-skärmen

Nu när vi har all logik för rörelse och interaktion på plats, är nästa steg att rendera grafiken på OLED-skärmen. Vi kommer att rita paddlarna och bollen med hjälp av Adafruit_SSD1306 biblioteket. Här är en exempel på hur vi kan göra det:


void renderGame() {
    display.clearDisplay(); // Rensa skärmen

    // Rita spelarens paddel
    display.fillRect(playerPaddleX, playerPaddleY, paddleWidth, paddleHeight, WHITE);

    // Rita datorpaddeln
    display.fillRect(computerPaddleX, computerPaddleY, paddleWidth, paddleHeight, WHITE);

    // Rita bollen
    display.fillRect(ballX, ballY, ballSize, ballSize, WHITE);

    display.display(); // Visa allt på skärmen
}

Med hjälp av dessa funktioner kommer vi att kunna rita vårt arduino pong game i sin helhet och skapa en visuell representation av spelet.

Avslutande tankar

Grattis! Nu har du en grundläggande förståelse för hur man bygger ett arduino pong spel med en OLED-display. Vi har gått igenom krav på material, installation av bibliotek, kodgenomgång, paddelkontroller, AI-funktionalitet och grafisk rendering. Med den här kunskapen kan du börja experimentera med olika funktioner och förbättra spelet ytterligare.

Framtida förbättringar

Det finns många sätt att förbättra vårt arduino pong game. Här är några idéer för framtida förbättringar:

  • Lägg till olika svårighetsgrader för dubbel AI.
  • Implementera poängsystem så att varje gång bollen passerar paddeln får motståndaren poäng.
  • Skapa en meny där spelaren kan välja olika spelalternativ.
  • Förbättra den grafiska rendering för en mer professionell känsla.

Genom att implementera dessa förbättringar kan du utveckla spelet ytterligare och göra det mer utmanande och underhållande. Tack för att du följde med oss i detta projekt och vi önskar dig lycka till med ditt arduino pong spel!

Tack för att du läste vår artikel, du kan se alla artiklar i våra webbkartor eller i Sitemaps

Tyckte du att den här artikeln var användbar? Arduino Pong-spel med 0,96-tums Oled-display för Uno R3! Du kan se mer här NanoPi.

Niklas Andersson

Niklas Andersson

Hej, jag heter Niklas Andersson och är en passionerad student på civilingenjörsprogrammet i elektronik och en entusiastisk bloggare. Redan som liten har jag varit nyfiken på hur elektroniska apparater fungerar och hur tekniken kan förändra våra liv. Denna nyfikenhet ledde till att jag började studera elektronikkonstruktion, där jag varje dag utforskar nya idéer, konstruktioner och innovativa lösningar.

Tack för att du läser innehållet i Maker Electronics

Se mer relaterat innehåll

Leave a Reply

Your email address will not be published. Required fields are marked *

Your score: Useful

Go up