#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
// Pin configuration
#define RST_PIN 8
#define CE_PIN 7
#define DC_PIN 6
#define DIN_PIN 5
#define CLK_PIN 4
// Button pins
#define RED_BUTTON_PIN 2
#define BLUE_BUTTON_PIN 3
#define GREEN_BUTTON_PIN 4
#define YELLOW_BUTTON_PIN 5
// Create an instance of the display
Adafruit_PCD8544 display = Adafruit_PCD8544(CLK_PIN, DIN_PIN, DC_PIN, CE_PIN, RST_PIN);
String colors[] = {"RED", "BLUE", "GREEN", "YELLOW"};
int buttonPins[] = {RED_BUTTON_PIN, BLUE_BUTTON_PIN, GREEN_BUTTON_PIN, YELLOW_BUTTON_PIN};
int selectedColorIndex;
void setup() {
// Initialize the display
display.begin();
display.setContrast(50); // Adjust contrast as needed
display.clearDisplay();
display.display();
// Set button pins as input
for (int i = 0; i < 4; i++) {
pinMode(buttonPins[i], INPUT);
}
Serial.begin(9600);
generateNewColor();
}
void loop() {
for (int i = 0; i < 4; i++) {
if (digitalRead(buttonPins[i]) == HIGH) {
if (i == selectedColorIndex) {
display.clearDisplay();
display.setCursor(0, 0);
display.print("Good job!");
display.display();
delay(2000);
generateNewColor();
} else {
display.clearDisplay();
display.setCursor(0, 0);
display.print("Try again!");
display.display();
delay(2000);
display.clearDisplay();
display.setCursor(0, 0);
display.print("Press the ");
display.print(colors[selectedColorIndex]);
display.print(" button.");
display.display();
}
}
}
}
void generateNewColor() {
selectedColorIndex = random(0, 4);
display.clearDisplay();
display.setCursor(0, 0);
display.print("Press the ");
display.print(colors[selectedColorIndex]);
display.print(" button.");
display.display();
}
Loading
nokia-5110
nokia-5110