전체상품목록 바로가기

본문 바로가기


현재 위치
  1. home
  2. community
  3. 기술문의 :)

기술문의 :)

기술문의 게시판 입니다.

상품 게시판 상세
subject 연결문제 문의
writer 안민진 (ip:)
  • date 2014-09-08 19:37:14
  • like 추천하기
  • view 71
rating 0점

블루노와 연결하고 예제코드를 동작하니 하얀색으로만 화면이 나옵니다.

블루노도 UNO계열로 알고있는데 호용이 안되는건지요?


아님 불량인가요? 블루노로 일반 아두이노 예제는 성공했기때문에

연결아님 LCD문제 같은데 뭐가 문제인질를 모르겠내요.


그리고 홈페이지 예제를 실행할때, 아두이노 기본 라이브러리의 Robot_Control과

충돌 문제도 있는거 같더군요.


사용 예제는 기본 예제인 그래픽 테스트입니다. 참고로 구동시키니 시리얼 모니터에서는

동장함을 확인했지만 LCD스크린 상으로는 하얀화면만 나옵니다.


-------------------------------------------------------------------------



#include "SPI.h"

#include "Adafruit_GFX.h"

#include "Adafruit_ILI9341.h"


// For the Adafruit shield, these are the default.

#define TFT_DC 9

#define TFT_CS 10


// Use hardware SPI (on Uno, #13, #12, #11) and the above for CS/DC

Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);

// If using the breakout, change pins as desired

//Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_MOSI, TFT_CLK, TFT_RST, TFT_MISO);


void setup() {

  Serial.begin(9600);

  Serial.println("ILI9341 Test!"); 

 

  tft.begin();


  // read diagnostics (optional but can help debug problems)

  uint8_t x = tft.readcommand8(ILI9341_RDMODE);

  Serial.print("Display Power Mode: 0x"); Serial.println(x, HEX);

  x = tft.readcommand8(ILI9341_RDMADCTL);

  Serial.print("MADCTL Mode: 0x"); Serial.println(x, HEX);

  x = tft.readcommand8(ILI9341_RDPIXFMT);

  Serial.print("Pixel Format: 0x"); Serial.println(x, HEX);

  x = tft.readcommand8(ILI9341_RDIMGFMT);

  Serial.print("Image Format: 0x"); Serial.println(x, HEX);

  x = tft.readcommand8(ILI9341_RDSELFDIAG);

  Serial.print("Self Diagnostic: 0x"); Serial.println(x, HEX); 

  

  Serial.println(F("Benchmark                Time (microseconds)"));


  Serial.print(F("Screen fill              "));

  Serial.println(testFillScreen());

  delay(500);


  Serial.print(F("Text                     "));

  Serial.println(testText());

  delay(3000);


  Serial.print(F("Lines                    "));

  Serial.println(testLines(ILI9341_CYAN));

  delay(500);


  Serial.print(F("Horiz/Vert Lines         "));

  Serial.println(testFastLines(ILI9341_RED, ILI9341_BLUE));

  delay(500);


  Serial.print(F("Rectangles (outline)     "));

  Serial.println(testRects(ILI9341_GREEN));

  delay(500);


  Serial.print(F("Rectangles (filled)      "));

  Serial.println(testFilledRects(ILI9341_YELLOW, ILI9341_MAGENTA));

  delay(500);


  Serial.print(F("Circles (filled)         "));

  Serial.println(testFilledCircles(10, ILI9341_MAGENTA));


  Serial.print(F("Circles (outline)        "));

  Serial.println(testCircles(10, ILI9341_WHITE));

  delay(500);


  Serial.print(F("Triangles (outline)      "));

  Serial.println(testTriangles());

  delay(500);


  Serial.print(F("Triangles (filled)       "));

  Serial.println(testFilledTriangles());

  delay(500);


  Serial.print(F("Rounded rects (outline)  "));

  Serial.println(testRoundRects());

  delay(500);


  Serial.print(F("Rounded rects (filled)   "));

  Serial.println(testFilledRoundRects());

  delay(500);


  Serial.println(F("Done!"));


}



void loop(void) {

  for(uint8_t rotation=0; rotation<4; rotation++) {

    tft.setRotation(rotation);

    testText();

    delay(1000);

  }

}


unsigned long testFillScreen() {

  unsigned long start = micros();

  tft.fillScreen(ILI9341_BLACK);

  tft.fillScreen(ILI9341_RED);

  tft.fillScreen(ILI9341_GREEN);

  tft.fillScreen(ILI9341_BLUE);

  tft.fillScreen(ILI9341_BLACK);

  return micros() - start;

}


unsigned long testText() {

  tft.fillScreen(ILI9341_BLACK);

  unsigned long start = micros();

  tft.setCursor(0, 0);

  tft.setTextColor(ILI9341_WHITE);  tft.setTextSize(1);

  tft.println("Hello World!");

  tft.setTextColor(ILI9341_YELLOW); tft.setTextSize(2);

  tft.println(1234.56);

  tft.setTextColor(ILI9341_RED);    tft.setTextSize(3);

  tft.println(0xDEADBEEF, HEX);

  tft.println();

  tft.setTextColor(ILI9341_GREEN);

  tft.setTextSize(5);

  tft.println("Groop");

  tft.setTextSize(2);

  tft.println("I implore thee,");

  tft.setTextSize(1);

  tft.println("my foonting turlingdromes.");

  tft.println("And hooptiously drangle me");

  tft.println("with crinkly bindlewurdles,");

  tft.println("Or I will rend thee");

  tft.println("in the gobberwarts");

  tft.println("with my blurglecruncheon,");

  tft.println("see if I don't!");

  return micros() - start;

}


unsigned long testLines(uint16_t color) {

  unsigned long start, t;

  int           x1, y1, x2, y2,

                w = tft.width(),

                h = tft.height();


  tft.fillScreen(ILI9341_BLACK);


  x1 = y1 = 0;

  y2    = h - 1;

  start = micros();

  for(x2=0; x2

  x2    = w - 1;

  for(y2=0; y2

  t     = micros() - start; // fillScreen doesn't count against timing


  tft.fillScreen(ILI9341_BLACK);


  x1    = w - 1;

  y1    = 0;

  y2    = h - 1;

  start = micros();

  for(x2=0; x2

  x2    = 0;

  for(y2=0; y2

  t    += micros() - start;


  tft.fillScreen(ILI9341_BLACK);


  x1    = 0;

  y1    = h - 1;

  y2    = 0;

  start = micros();

  for(x2=0; x2

  x2    = w - 1;

  for(y2=0; y2

  t    += micros() - start;


  tft.fillScreen(ILI9341_BLACK);


  x1    = w - 1;

  y1    = h - 1;

  y2    = 0;

  start = micros();

  for(x2=0; x2

  x2    = 0;

  for(y2=0; y2


  return micros() - start;

}


unsigned long testFastLines(uint16_t color1, uint16_t color2) {

  unsigned long start;

  int           x, y, w = tft.width(), h = tft.height();


  tft.fillScreen(ILI9341_BLACK);

  start = micros();

  for(y=0; y

  for(x=0; x


  return micros() - start;

}


unsigned long testRects(uint16_t color) {

  unsigned long start;

  int           n, i, i2,

                cx = tft.width()  / 2,

                cy = tft.height() / 2;


  tft.fillScreen(ILI9341_BLACK);

  n     = min(tft.width(), tft.height());

  start = micros();

  for(i=2; i

    i2 = i / 2;

    tft.drawRect(cx-i2, cy-i2, i, i, color);

  }


  return micros() - start;

}


unsigned long testFilledRects(uint16_t color1, uint16_t color2) {

  unsigned long start, t = 0;

  int           n, i, i2,

                cx = tft.width()  / 2 - 1,

                cy = tft.height() / 2 - 1;


  tft.fillScreen(ILI9341_BLACK);

  n = min(tft.width(), tft.height());

  for(i=n; i>0; i-=6) {

    i2    = i / 2;

    start = micros();

    tft.fillRect(cx-i2, cy-i2, i, i, color1);

    t    += micros() - start;

    // Outlines are not included in timing results

    tft.drawRect(cx-i2, cy-i2, i, i, color2);

  }


  return t;

}


unsigned long testFilledCircles(uint8_t radius, uint16_t color) {

  unsigned long start;

  int x, y, w = tft.width(), h = tft.height(), r2 = radius * 2;


  tft.fillScreen(ILI9341_BLACK);

  start = micros();

  for(x=radius; x

    for(y=radius; y

      tft.fillCircle(x, y, radius, color);

    }

  }


  return micros() - start;

}


unsigned long testCircles(uint8_t radius, uint16_t color) {

  unsigned long start;

  int           x, y, r2 = radius * 2,

                w = tft.width()  + radius,

                h = tft.height() + radius;


  // Screen is not cleared for this one -- this is

  // intentional and does not affect the reported time.

  start = micros();

  for(x=0; x

    for(y=0; y

      tft.drawCircle(x, y, radius, color);

    }

  }


  return micros() - start;

}


unsigned long testTriangles() {

  unsigned long start;

  int           n, i, cx = tft.width()  / 2 - 1,

                      cy = tft.height() / 2 - 1;


  tft.fillScreen(ILI9341_BLACK);

  n     = min(cx, cy);

  start = micros();

  for(i=0; i

    tft.drawTriangle(

      cx    , cy - i, // peak

      cx - i, cy + i, // bottom left

      cx + i, cy + i, // bottom right

      tft.color565(0, 0, i));

  }


  return micros() - start;

}


unsigned long testFilledTriangles() {

  unsigned long start, t = 0;

  int           i, cx = tft.width()  / 2 - 1,

                   cy = tft.height() / 2 - 1;


  tft.fillScreen(ILI9341_BLACK);

  start = micros();

  for(i=min(cx,cy); i>10; i-=5) {

    start = micros();

    tft.fillTriangle(cx, cy - i, cx - i, cy + i, cx + i, cy + i,

      tft.color565(0, i, i));

    t += micros() - start;

    tft.drawTriangle(cx, cy - i, cx - i, cy + i, cx + i, cy + i,

      tft.color565(i, i, 0));

  }


  return t;

}


unsigned long testRoundRects() {

  unsigned long start;

  int           w, i, i2,

                cx = tft.width()  / 2 - 1,

                cy = tft.height() / 2 - 1;


  tft.fillScreen(ILI9341_BLACK);

  w     = min(tft.width(), tft.height());

  start = micros();

  for(i=0; i

    i2 = i / 2;

    tft.drawRoundRect(cx-i2, cy-i2, i, i, i/8, tft.color565(i, 0, 0));

  }


  return micros() - start;

}


unsigned long testFilledRoundRects() {

  unsigned long start;

  int           i, i2,

                cx = tft.width()  / 2 - 1,

                cy = tft.height() / 2 - 1;


  tft.fillScreen(ILI9341_BLACK);

  start = micros();

  for(i=min(tft.width(), tft.height()); i>20; i-=6) {

    i2 = i / 2;

    tft.fillRoundRect(cx-i2, cy-i2, i, i, i/8, tft.color565(0, i, 0));

  }


  return micros() - start;

}

 

file
password 삭제하려면 비밀번호를 입력하세요.
댓글 수정

password :

/ byte

비밀번호 : 확인 취소

댓글 입력

commentsname : password : 관리자 답변 보기

/ byte

왼쪽의 문자를 공백없이 입력하세요.(대소문자구분)

회원에게만 댓글 작성 권한이 있습니다.

관련 글 보기

관련글 모음
번호 상품명 제목 작성자 작성일 조회
15785 [TA1651] 아두이노용 2.8" 터치쉴드 (2.8" TFT Touch Shield for Arduino with Resistive Touch Screen ) 입고 문의 윤승환 2016-07-03 271
15787 [TA1651] 아두이노용 2.8" 터치쉴드 (2.8" TFT Touch Shield for Arduino with Resistive Touch Screen ) 입고 문의 아트로봇CT 2016-07-04 229
14928 [TA1651] 아두이노용 2.8" 터치쉴드 (2.8" TFT Touch Shield for Arduino with Resistive Touch Screen ) Initializing SD card...failed! 김진성 2015-10-10 5
14935 [TA1651] 아두이노용 2.8" 터치쉴드 (2.8" TFT Touch Shield for Arduino with Resistive Touch Screen ) Initializing SD card...failed! 아트로봇CT 2015-10-12 2
14939 [TA1651] 아두이노용 2.8" 터치쉴드 (2.8" TFT Touch Shield for Arduino with Resistive Touch Screen ) Initializing SD card...failed! 김진성 2015-10-12 3