#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_ILI9341.h>
#include <Keypad.h>
// Definisikan pin untuk tombol
const int buttonPins[] = {PB1, PB11, PC14, PC13, PC6};
const int ledPin1 = PB13; // Pin LED built-in Arduino
const int ledPin2 = PB15; // Pin LED 2
#define TFT_DC 2
#define TFT_CS 3
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
// Definisikan variabel untuk menyimpan jawaban dan tebakan pengguna
int answer = 0;
int guess = 0;
int wrongGuessCount = 0;
int countbutton = 0;
void setup() {
Serial.begin(9600);
Serial.println("Hello, WOKWI");
tft.begin();
// Inisialisasi pin
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
for (int i = 0; i < 5; i++) {
pinMode(buttonPins[i], INPUT_PULLUP);
}
digitalWrite(ledPin2, LOW);
// Seed the random number generator
randomSeed(analogRead(0));
// Generate a random number between 1 and 5
answer = random(1, 6);
Serial.println(answer);
//LCD
tft.setCursor(20, 120);
tft.setTextColor(ILI9341_RED);
tft.setTextSize(3);
tft.println("Balon Mover");
tft.setCursor(24, 160);
tft.setTextColor(ILI9341_GREEN);
tft.setTextSize(2);
tft.println("GAME BOOM)");
}
void loop() {
// Baca input tombol
for (int i = 0; i < 5; i++) {
if (digitalRead(buttonPins[i]) == LOW) {
// Menyimpan nomor tombol yang ditekan
guess = i + 1;
countbutton++;
//Serial.println(guess);
Serial.println(countbutton);
delay(300);
break;
}
}
// Periksa apakah tebakan pengguna benar
if (guess == answer) {
digitalWrite(ledPin1, HIGH); // Nyalakan LED 1
delay(1000); // Tahan LED 1 menyala selama 1 detik
digitalWrite(ledPin1, LOW); // Matikan LED 1
// Buat nomor acak baru
answer = random(1, 6);
}
if (countbutton > 3) {
digitalWrite(ledPin2, HIGH); // Nyalakan LED 1
delay(1000); // Tahan LED 1 menyala selama 1 detik
digitalWrite(ledPin2, LOW); // Matikan LED 1
delay(100);
}
}
Loading
st-nucleo-c031c6
st-nucleo-c031c6