selamlar kolay gelsin 2 yıl önce çektiğiniz"Arduino Uno ile PAC-MAN Oyun Konsolu Yapıyoruz"
adlı videonuzda verdiğiniz kodlar hata veriyor
verdiğim görsel hata gözüküyor yardımcı olursanız sevinirim.
selamlar kolay gelsin 2 yıl önce çektiğiniz"Arduino Uno ile PAC-MAN Oyun Konsolu Yapıyoruz"
adlı videonuzda verdiğiniz kodlar hata veriyor
yukleme tamanlandi diyor herhangi bir hata yok. Calismiyor mu?
kodu yüklüyor pacman karşıma çıkmıyor nedense birde devre şeması ile kod aynı değil onu farkettim düzeltmeme rağmen olmadı.
bendeki ekran kırmızı olanı ondan dolayı olabilir mi desem ama sonuç olarak aynı ekranlar lcd nokia 5110 ekran
contollerlarin ayni olduğuna emin misiniz ekranlarda?
contollerlar derken neyden bahsediyorsunuz acaba öyle birşey duymadımda hiç
Ekranlarda sürücü cip olur. her ekran direkt arduinoya baglanamaz. Yazdığıniz kodu ve kullandığınız ekranin linkini atar mısınız?
Nokia 5110 LCD Ekran Kırmızı | Komponentci.net link bu buradan almadık robo90 aldık lakin kırmızı renkli hali bu sitede var
//Nokia 5110 LCD PacMan Game // By Robotistan
#include <LCD5110_Graph.h> //Ekran Kütüphanesi
#include <avr/pgmspace.h> //PacMan oyunu Kütüphanesi
#define RST 3 // RESET //Ekran bağlantıları
#define CE 4 // CS
#define DC 5 // Data/Command
#define DIN 6 // MOSI
#define CLK 7 // SCK
LCD5110 myGLCD(CLK, DIN, DC, RST, CE); // LCD5110(SCK, MOSI, DC, RST, CS); //Ekran Pinleri
extern uint8_t SmallFont; //5110 ekranında kullanacağımız yazı fontunun küçük olması
const uint8_t pacman1 PROGMEM={ //Pixel kordinatları
0x80, 0xE0, 0xF0, 0xF8, 0xFC, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x3E, 0x1C, // 0x0010 (16) pixel
0x0C, 0x00, 0x00, 0x00, 0x1F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, // 0x0020 (32) pixel
0xF0, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0F, // 0x0030 (48) pixel
0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x03, 0x03, 0x00, 0x00, 0x00,
};
const uint8_t pacman2 PROGMEM={
0x80, 0xE0, 0xF0, 0xF8, 0xFC, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0x7C, // 0x0010 (16) pixel
0x7C, 0x38, 0x20, 0x00, 0x1F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, // 0x0020 (32) pixel
0xF9, 0xF0, 0xF0, 0xE0, 0xE0, 0xC0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0F, // 0x0030 (48) pixel
0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00,
};
const uint8_t pacman3 PROGMEM={
0x80, 0xE0, 0xF0, 0xF8, 0xFC, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFC, // 0x0010 (16) pixel
0xF8, 0xF0, 0xE0, 0x80, 0x1F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0x0020 (32) pixel
0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xF9, 0x79, 0x19, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0F, // 0x0030 (48) pixel
0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00,
};
const uint8_t pill PROGMEM={ //yem olduğu kısımı belirlemiş
0x0E, 0x1F, 0x1F, 0x1F, 0x0E,
};
#define Width 84 //
#define Hight 48
#define Range 12
int FirstShotX , FirstShotY; //yakalama menzilini belirlemek
int PointX, PointY;
int delaytime;
void setup()
{
/* LCD5110_Graph kitaplığı başlatma */
myGLCD.InitLCD();
myGLCD.setFont(SmallFont);
randomSeed(analogRead(0));
/* joyistic bağlatıları */
FirstShotX = analogRead(A0);
FirstShotY = analogRead(A1);
/* joyistik merkezlemesi */
PointX = 75;
PointY = 20;
/* joyistic bırakıldığına merkeze geçme zamanlaması */
delaytime = 50;
/* Başlangıç Ekran Görüntüsü /
myGLCD.print((char)“- ROBOTISTAN -”, CENTER, 0);
myGLCD.print((char*)“PACMAN”, CENTER, 20);
myGLCD.print((char*)“Arduino”, CENTER, 40);
myGLCD.update();
delay(3000);
/* Seri haberleşme başlatılıyor */
Serial.begin(115200);
}
void loop()
{
const uint8_t* bm;
for (int i=-20; i<84; i++)
{
myGLCD.clrScr();
// PacMan karakteri
switch(((i+20)/3) % 4)
{
case 0: bm=pacman1;
break;
case 1: bm=pacman2;
break;
case 2: bm=pacman3;
break;
case 3: bm=pacman2;
break;
}
int sensorValueX = (analogRead(A0) - FirstShotX)*0.1 + 32; //X ekseni aralığına karar veren 0.08 gibi, katsayıları değiştirebilirsiniz.
int sensorValueY = (FirstShotY - analogRead(A1))*0.06 + 14; //Y ekseni aralığına karar veren 0.04 gibi, katsayıları değiştirebilirsiniz.
myGLCD.drawBitmap(PointX, PointY, const_cast<uint8_t*>(pill), 5, 5);
// Yemi yediğimizde rasgele biryere koyması
TX:
if((sensorValueX-5 <= PointX && PointX <= sensorValueX+15) && (sensorValueY-3 <= PointY && PointY <= sensorValueY + 20))
{
PointX = random(0, 80);
PointY = random(0, 43);
goto TX;
}
else
myGLCD.drawBitmap(PointX, PointY, const_cast<uint8_t*>(pill), 5, 5);
int j, someInt, flag = 0;
for(j=2; j<9; j++)
{
someInt = digitalRead(j);
if(someInt == 0)
{
flag = 1;
break;
}
}
if(flag == 1)
{
Serial.println(i);
switch(j)
{
case 2: Serial.println("--------> Button A");
delaytime = 50;
myGLCD.invert(true);
break;
case 3: Serial.println("--------> Button B");
delaytime = 50;
myGLCD.invert(false);
break;
default: break;
}
flag=0;
}
delay(delaytime);
myGLCD.update(); // update and display the Bitmap
}
}
kod bu şekildedir hatayı düzelttim sadece hata olarak ekrana hiç birşey çıkmıyor
evet dedigim gibi controllerlar farklı. robotistan da olanda philips in bir contolleri kullanilmisken, mavi olanda hic bir sey belirtilmemis. uzerindeki kompenetlerden de anlayabilirsiniz.
Internette mavi olanlarla da yapılmış projeler var onlara bakabilirsiniz.