// UTFT_ViewFont (C)2014 Henning Karlsen // web: http://www.henningkarlsen.com/electronics // This program is a demo of the included fonts. // This demo was made for modules with a screen resolution // of 320x240 pixels. // This program requires the UTFT library. // // aitendo 3.2インチ液晶用にデモ追加 by ラジオペンチ 2015/01/12 // http://radiopench.blog96.fc2.com/ #include // Declare which fonts we will be using extern uint8_t SmallFont[]; extern uint8_t BigFont[]; extern uint8_t SevenSegNumFont[]; UTFT myGLCD(SSD1289_8,A0,A1,A2,A3); // aitendoのM032C1289TP void setup() { myGLCD.InitLCD(); myGLCD.clrScr(); } void loop() { title(); // オリジナルのデモ表示 delay(2000); line(); // ランダムライン delay(1000); rect(); // ランダム長方形 delay(1000); circle(); // ランダム円 delay(1000); rainbow(); // カラーグレイスケール delay(2000); lissajous(); // リサージュ delay(2000); } void title(){ myGLCD.setColor(255, 255, 255); myGLCD.setBackColor(255, 0, 0); myGLCD.fillScr(VGA_RED); myGLCD.setFont(BigFont); myGLCD.print("M032C1289TP", CENTER, 0); myGLCD.print("www.aitendo.com", CENTER, 16); myGLCD.print("TFT LCD", CENTER, 32); myGLCD.print("SSD1289", CENTER, 48); myGLCD.print("320x240", CENTER, 64); myGLCD.print("Arduino UNO ", CENTER, 80); myGLCD.print("IDE Ver1.0 ", CENTER, 96); myGLCD.setFont(SmallFont); myGLCD.print(" !\"#$%&'()*+,-./0123456789:;<=>?", CENTER, 120); myGLCD.print("@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_", CENTER, 132); myGLCD.print("`abcdefghijklmnopqrstuvwxyz{|}~ ", CENTER, 144); myGLCD.drawCircle(100,200,20); myGLCD.drawCircle(160,200,20); myGLCD.drawCircle(220,200,20); } void line(){ int n, x1, x2, y1, y2, r, g, b; myGLCD.clrScr(); for(n=0; n <= 200; n++){ x1 = random(320); x2 = random(320); y1 = random(240); y2 = random(240); r = random(255); g = random(255); b = random(255); myGLCD.setColor(r, g, b); myGLCD.drawLine(x1, y1, x2, y2); } } void rect(){ int n, x1, x2, y1, y2, r, g, b; myGLCD.clrScr(); for(n=0; n <= 70; n++){ x1 = random(320); x2 = random(320); y1 = random(240); y2 = random(240); r = random(255); g = random(255); b = random(255); myGLCD.setColor(r, g, b); myGLCD.fillRect(x1, y1, x2, y2); } } void circle(){ int n, x1, y1,r1, r, g, b; myGLCD.clrScr(); for(n=0; n <= 200; n++){ r1 = random(50); x1 = random(r1, 320-r1); y1 = random(r1, 240-r1); r = random(255); g = random(255); b = random(255); myGLCD.setColor(r, g, b); myGLCD.fillCircle(x1, y1, r1); } } void rainbow(){ int tmp, z, r, g; for(int x=0; x<320; x++){ for(int y=0; y<240; y++){ tmp = map(x, 0, 320, 0, 255); r = 255-tmp; g = map(y, 0, 240, 0, 255); z = tmp; myGLCD.setColor(r, g, z); myGLCD.drawPixel(x, y); } } } void lissajous(){ int x,y; myGLCD.clrScr(); myGLCD.setColor(0, 255, 0); for(int n=0; n< 30000; n++){ x = 159.0 * (1.0 + sin(n * 3.1416 /180)); y = 119.0 * (1.0 + sin(n * 1.31 * 3.1416 /180)); myGLCD.drawPixel(x, y); } }