#include <U8g2lib.h>
U8G2_SSD1306_128X64_NONAME_F_HW_I2C display(U8G2_R0);
#define yataybtn A1
#define dikeybtn A0
#define analogbtn 2
#define abtn 3
#define bbtn 4
#define buzzer 11
#define deneme 13
#define jumpSound 700
#define blahSound 125
#define speedSound 1000
#define DBOUNCE 180
bool yukari = false;
bool asagi = false;
bool sag = false;
bool sol = false;
bool analogbuton = false;
bool kirmizibtn = false;
bool mavibtn = false;
int x;
int y;
int progress = 0;
static const unsigned char dinoJump [] PROGMEM = {
0x00, 0xFC, 0x07, 0x00, 0xFE, 0x07, 0x00, 0xEE, 0x0F, 0x00, 0xFE, 0x0F,
0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x0F, 0x00, 0xFE, 0x07, 0x06, 0xFF, 0x03,
0xC3, 0xFF, 0x00, 0xE7, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00,
0xFF, 0x3F, 0x00, 0xFE, 0x3F, 0x00, 0xFC, 0x1F, 0x00, 0xF8, 0x1F, 0x00,
0xF0, 0x1F, 0x00, 0xF0, 0x0E, 0x00, 0x60, 0x0E, 0x00, 0xE0, 0x0E, 0x00,
0xE0, 0x1E, 0x00,
};
static const byte sprite_new[] PROGMEM = {B01100110,B01100110,B01100110,B01100110,B01100110,B01100110,B11111111,B11111111};
void setup() {
display.begin();
pinMode(yataybtn, INPUT);
pinMode(dikeybtn, INPUT);
pinMode(analogbtn, INPUT);
pinMode(abtn, INPUT);
pinMode(bbtn, INPUT);
pinMode(buzzer, OUTPUT);
pinMode(deneme, OUTPUT);
Serial.begin(9600);
x = 0;
y = 20;
display.setColorIndex(1);
}
void loop() {
butonKontrol();
Serial.println(analogRead(yataybtn));
if(sag){
x += 5;
tone(buzzer, 200, 100);
}
if(sol){
tone(buzzer, 700, 150);
x-=10;
}
if(yukari){
y--;
tone(buzzer, 50, 100);
}
if(asagi){
tone(buzzer, 500, 100);
y++;
}
grafikim(x,y);
butonReset();
}
void butonKontrol(){
if(analogRead(yataybtn) > 700) sol = true;
if(analogRead(yataybtn )< 300) sag = true;
if(analogRead(dikeybtn) > 700) yukari = true;
if(analogRead(dikeybtn) < 300) asagi = true;
if(digitalRead(analogbtn)) analogbuton = true;
if(digitalRead(abtn)) kirmizibtn = true;
if(digitalRead(bbtn)) mavibtn = true;
}
void butonReset(){
yukari = false;
asagi = false;
sag = false;
sol = false;
analogbuton = false;
kirmizibtn = false;
mavibtn = false;
}
void yazdir(int x,int y){
display.firstPage();
do {
display.setFont(u8g2_font_ncenB14_tr);
display.drawStr(x,y,"Hello World!");
} while ( display.nextPage() );
}
void anime(int x, int y){
display.clearBuffer();
display.drawStr(25, 50, "Progress Bar");
display.drawFrame(x, y, 128, 20);
display.drawBox(x, y+5, progress, 10);
display.sendBuffer();
if (progress < 108) {
progress++;
} else {
progress = 0;
}
}
void grafikciz(){
display.clearBuffer();
display.setFont(u8g2_font_7x13_tr);
display.drawStr(0,10,"oyun seciniz..");
display.drawStr(5,30,"> Matematik");
display.drawStr(5,50," Araba Yarisi");
display.sendBuffer();
}
void grafikim(int x, int y){
display.clearBuffer();
display.drawXBMP( x, y, 8, 8, sprite_new);
display.sendBuffer();
}