Untitled
unknown
plain_text
2 years ago
2.3 kB
5
Indexable
#include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1); #define UP 4 #define DOWN 5 #define RIGHT 3 #define LEFT 7 #define BUTTON 6 #define YPIN A0 #define XPIN A1 #define SWPIN 2 boolean gra = false; int punkty = 0; void setup() { pinMode(SWPIN, INPUT); digitalWrite(SWPIN, HIGH); pinMode(UP, OUTPUT); pinMode(DOWN, OUTPUT); pinMode(RIGHT, OUTPUT); pinMode(LEFT, OUTPUT); pinMode(BUTTON, OUTPUT); if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { Serial.println(F("SSD1306 allocation failed")); for (;;) ; } Serial.begin(115200); display.clearDisplay(); display.display(); delay(2000); } void loop() { if (!gra) { // Wyświetlanie informacji o rozpoczęciu gry display.clearDisplay(); display.setTextSize(1); display.setTextColor(SSD1306_WHITE); display.setCursor(0, 0); display.print("Naciśnij przycisk"); display.setCursor(0, 10); display.print("aby rozpocząć grę!"); display.display(); // Oczekiwanie na naciśnięcie przycisku while (digitalRead(SWPIN) == HIGH) { // Odczekaj na naciśnięcie przycisku } gra = true; punkty = 0; } // Aktualizacja na ekranie OLED display.clearDisplay(); display.setTextSize(2); display.setTextColor(SSD1306_WHITE); display.setCursor(0, 0); display.print("Punkty: "); display.print(punkty); display.display(); // Wyświetlanie informacji o stanie przycisku, osi X i Y Serial.print("\nPrzycisk: "); Serial.println(digitalRead(SWPIN)); Serial.print("Oś X: "); Serial.println(analogRead(XPIN)); Serial.print("Oś Y: "); Serial.println(analogRead(YPIN)); Serial.print("\n\n"); delay(1000); // Odczekaj przed następną rundą int ranNum = random(3, 7); digitalWrite(ranNum, HIGH); if (analogRead(YPIN) == 1023 && digitalRead(UP) == HIGH) { punkty += 1; } else if (analogRead(YPIN) == 0 && digitalRead(DOWN) == HIGH) { punkty += 1; } else if (analogRead(XPIN) == 0 && digitalRead(RIGHT) == HIGH) { punkty += 1; } else if (analogRead(XPIN) == 1023 && digitalRead(LEFT) == HIGH) { punkty += 1; } }
Editor is loading...
Leave a Comment