#include <LedControl.h>
// Dot matrix modülünün bağlantıları
const int DIN_PIN = 7; // DIN pin
const int CLK_PIN = 5; // CLK pin
const int CS_PIN = 6; // CS pin
const int MATRIX_SIZE = 1; // Dot matrix modül sayısı
// Düğme bağlantıları
const int BUTTON_PIN = 4; // Düğme pin
LedControl lc = LedControl(DIN_PIN, CLK_PIN, CS_PIN, MATRIX_SIZE);
byte happyFace[8] = {
B00111100, //gulen ifade
B01000010,
B10100101,
B10000001,
B10100101,
B10011001,
B01000010,
B00111100
};
byte sadFace[8] = {
B00111100, //uzgun ifade
B01000010,
B10100101,
B10000001,
B10011001,
B10100101,
B01000010,
B00111100
};
bool isHappyFace = false;
void setup() {
// Dot matrix modülü başlat
lc.shutdown(0, false);
lc.setIntensity(0, 8);
lc.clearDisplay(0);
// Düğme için giriş modunu ayarla
pinMode(BUTTON_PIN, INPUT_PULLUP);
}
void loop() {
// Düğme durumunu oku
int buttonState = digitalRead(BUTTON_PIN);
if (buttonState == LOW) {
// Düğme basıldığında yüz ifadesini değiştir
isHappyFace = !isHappyFace;
if (isHappyFace) {
// Mutlu yüzü göster
lc.setRow(0, 0, happyFace[0]);
lc.setRow(0, 1, happyFace[1]);
lc.setRow(0, 2, happyFace[2]);
lc.setRow(0, 3, happyFace[3]);
lc.setRow(0, 4, happyFace[4]);
lc.setRow(0, 5, happyFace[5]);
lc.setRow(0, 6, happyFace[6]);
lc.setRow(0, 7, happyFace[7]);
} else {
// Üzgün yüzü göster
lc.setRow(0, 0, sadFace[0]);
lc.setRow(0, 1, sadFace[1]);
lc.setRow(0, 2, sadFace[2]);
lc.setRow(0, 3, sadFace[3]);
lc.setRow(0, 4, sadFace[4]);
lc.setRow(0, 5, sadFace[5]);
lc.setRow(0, 6, sadFace[6]);
lc.setRow(0, 7, sadFace[7]);
}
// Düğme bırakılana kadar bekle
while (digitalRead(BUTTON_PIN) == LOW) {
delay(10);
}
}
}