본문 바로가기

프로젝트/휴대폰을 디스플레이로 활용하기

아두이노 연결 하고 통신 테스트 하기

메세지 길이
헤더 : C 1 Byte
X좌표 2Byte
Y좌표 2Byte
반지름 2Byte
채우기 1Byte( 0  , 1 )   1 = true

아두이노에서 메세지를 넘겨주면  ( 블루투스)

 

앱에서 1Byte 텍스트받기 =  'C'이면 원그리기 데이타 받기 

            2Byte 숫자 받기   =  X

            2Byte 숫자 받기  =  Y

            2Byte  숫자받기  =  R

            1Byte  숫자받기  =  bool  데이타 받기 완료    원그리기

동영상으로 보기

소스를 보면 일반 TFT LCD에 출력 하는 방식과 동일 하다.

아두이노 소스
  #define _BT   Serial                                    // 블루투스 기본 시리얼 0,1번핀 사용 라이브러리 전에 선언

#include "D:\\myHeader\\Display.H"         // 디스플레이 라이브러리

Display hp;            // 디스플레이 생성

void setup() 

       hp.begin();     // 디스플레이 시작                               
}


   void loop() {

  hp.waitStart();        //   디스플레이 준비 완료 기다림

  hp.color(Silver);     // 색상 Alpha-R-G-B 4byte

  for( int r=10; r<100; r+=20)
     hp.circle(100,100,r,false);     //원 그리기

  hp.color(Red);   

  for( int x=0; x<200 ;x+=10)   
           hp.line(x,0,100,100);     // 선그리기

  hp.color(MidnightBlue);   

  for( int x=0; x<200 ;x+=10)   
           hp.line(x,200,100,100);             
}

앱인벤트 블루투스 연결 블럭 수정 사항

  waitStart()에 텍스트 보내기( 디스플레이 준비 됨 알림 ,이신호로 wait 멈춤)

AppInventor 코드  : 지금까지 코드 입니다.. 아직 최종판 아님

TFTLCD.aia
0.01MB

Display.H 는 테스트용으로  색상, 원 , 선 그리기 기능만 제작 (  아직 최종판 아님  )

Display.H
 
#ifndef _Display_
#define _Display_
#include "ARGB_COLOR.H"

class Display
{
  public:
     void begin(){ _BT.begin(9600); }    
     void waitStart();
     void color(unsigned long c);
     void circle( int x, int y, int r, bool f);
     void line( int x, int y, int x2, int y2);
  private:
     void send2Byte( int n );  
};

void  Display::color(unsigned  long c)
{
    _BT.write('c');
   send2Byte( c &0xffff ) ;
   send2Byte( (c>>16) &0xffff );
}
void Display::waitStart()
{
  while( !_BT.available() ){}
  _BT.read();
}

void Display::send2Byte( int n)
{
  _BT.write( n &0xff  );
  _BT.write( (n>>8) & 0xff );
}

void Display::circle( int x, int y, int r, bool f)
{
   _BT.write('C');
   send2Byte( x );
   send2Byte( y );
   send2Byte( r );
   _BT.write( f );
}

void Display::line( int x, int y, int x2, int y2)
{
    _BT.write('L');
    send2Byte( x );
    send2Byte( y );
    send2Byte( x2 );
    send2Byte( y2);
}
#endif

COLOR 자료는  MSDN 참조했음(최종판)  -  디스플레이 클래스에서 사용.. 같은 디렉토리에 저장

ARGB_COLOR.H
 
#ifndef  _ARGB_COLOR_
#define _ARGB_COLOR_

#define AliceBlue              0xFFF0F8FF
#define AntiqueWhite           0xFFFAEBD7
#define Aqua                   0xFF00FFFF
#define Aquamarine             0xFF7FFFD4
#define Azure                  0xFFF0FFFF
#define Beige                  0xFFF5F5DC
#define Bisque                 0xFFFFE4C4
#define Black                  0xFF000000
#define BlanchedAlmond         0xFFFFEBCD
#define Blue                   0xFF0000FF
#define BlueViolet             0xFF8A2BE2
#define Brown                  0xFFA52A2A
#define BurlyWood              0xFFDEB887
#define CadetBlue              0xFF5F9EA0
#define Chartreuse             0xFF7FFF00
#define Chocolate              0xFFD2691E
#define Coral                  0xFFFF7F50
#define CornflowerBlue         0xFF6495ED
#define Cornsilk               0xFFFFF8DC
#define Crimson                0xFFDC143C
#define Cyan                   0xFF00FFFF
#define DarkBlue               0xFF00008B
#define DarkCyan               0xFF008B8B
#define DarkGoldenrod          0xFFB8860B
#define DarkGray               0xFFA9A9A9
#define DarkGreen              0xFF006400
#define DarkKhaki              0xFFBDB76B
#define DarkMagenta            0xFF8B008B
#define DarkOliveGreen         0xFF556B2F
#define DarkOrange             0xFFFF8C00
#define DarkOrchid             0xFF9932CC
#define DarkRed                0xFF8B0000
#define DarkSalmon             0xFFE9967A
#define DarkSeaGreen           0xFF8FBC8B
#define DarkSlateBlue          0xFF483D8B
#define DarkSlateGray          0xFF2F4F4F
#define DarkTurquoise          0xFF00CED1
#define DarkViolet             0xFF9400D3
#define DeepPink               0xFFFF1493
#define DeepSkyBlue            0xFF00BFFF
#define DimGray                0xFF696969
#define DodgerBlue             0xFF1E90FF
#define Firebrick              0xFFB22222
#define FloralWhite            0xFFFFFAF0
#define ForestGreen            0xFF228B22
#define Fuchsia                0xFFFF00FF
#define Gainsboro              0xFFDCDCDC
#define GhostWhite             0xFFF8F8FF
#define Gold                   0xFFFFD700
#define Goldenrod              0xFFDAA520
#define Gray                   0xFF808080
#define Green                  0xFF008000
#define GreenYellow            0xFFADFF2F
#define Honeydew               0xFFF0FFF0
#define HotPink                0xFFFF69B4
#define IndianRed              0xFFCD5C5C
#define Indigo                 0xFF4B0082
#define Ivory                  0xFFFFFFF0
#define Khaki                  0xFFF0E68C
#define Lavender               0xFFE6E6FA
#define LavenderBlush          0xFFFFF0F5
#define LawnGreen              0xFF7CFC00
#define LemonChiffon           0xFFFFFACD
#define LightBlue              0xFFADD8E6
#define LightCoral             0xFFF08080
#define LightCyan              0xFFE0FFFF
#define LightGoldenrodYellow   0xFFFAFAD2
#define LightGray              0xFFD3D3D3
#define LightGreen             0xFF90EE90
#define LightPink              0xFFFFB6C1
#define LightSalmon            0xFFFFA07A
#define LightSeaGreen          0xFF20B2AA
#define LightSkyBlue           0xFF87CEFA
#define LightSlateGray         0xFF778899
#define LightSteelBlue         0xFFB0C4DE
#define LightYellow            0xFFFFFFE0
#define Lime                   0xFF00FF00
#define LimeGreen              0xFF32CD32
#define Linen                  0xFFFAF0E6
#define Magenta                0xFFFF00FF
#define Maroon                 0xFF800000
#define MediumAquamarine       0xFF66CDAA
#define MediumBlue             0xFF0000CD
#define MediumOrchid           0xFFBA55D3
#define MediumPurple           0xFF9370DB
#define MediumSeaGreen         0xFF3CB371
#define MediumSlateBlue        0xFF7B68EE
#define MediumSpringGreen      0xFF00FA9A
#define MediumTurquoise        0xFF48D1CC
#define MediumVioletRed        0xFFC71585
#define MidnightBlue           0xFF191970
#define MintCream              0xFFF5FFFA
#define MistyRose              0xFFFFE4E1
#define Moccasin               0xFFFFE4B5
#define NavajoWhite            0xFFFFDEAD
#define Navy                   0xFF000080
#define OldLace                0xFFFDF5E6
#define Olive                  0xFF808000
#define OliveDrab              0xFF6B8E23
#define Orange                 0xFFFFA500
#define OrangeRed              0xFFFF4500
#define Orchid                 0xFFDA70D6
#define PaleGoldenrod          0xFFEEE8AA
#define PaleGreen              0xFF98FB98
#define PaleTurquoise          0xFFAFEEEE
#define PaleVioletRed          0xFFDB7093
#define PapayaWhip             0xFFFFEFD5
#define PeachPuff              0xFFFFDAB9
#define Peru                   0xFFCD853F
#define Pink                   0xFFFFC0CB
#define Plum                   0xFFDDA0DD
#define PowderBlue             0xFFB0E0E6  
#define Purple                 0xFF800080
#define RebeccaPurple          0x663399
#define Red                    0xFFFF0000
#define RosyBrown              0xFFBC8F8F
#define RoyalBlue              0xFF4169E1
#define SaddleBrown            0xFF8B4513
#define Salmon                 0xFFFA8072
#define SandyBrown             0xFFF4A460
#define SeaGreen               0xFF2E8B57
#define SeaShell               0xFFFFF5EE
#define Sienna                 0xFFA0522D
#define Silver                 0xFFC0C0C0
#define SkyBlue                0xFF87CEEB
#define SlateBlue              0xFF6A5ACD
#define SlateGray              0xFF708090
#define Snow                   0xFFFFFAFA
#define SpringGreen            0xFF00FF7F
#define SteelBlue              0xFF4682B4
#define Tan                    0xFFD2B48C
#define Teal                   0xFF008080
#define Thistle                0xFFD8BFD8
#define Tomato                 0xFFFF6347
#define Transparent            0x00000000
#define Turquoise              0xFF40E0D0
#define Violet                 0xFFEE82EE
#define Wheat                  0xFFF5DEB3
#define White                  0xFFFFFFFF
#define WhiteSmoke             0xFFF5F5F5
#define Yellow                 0xFFFFFF00
#define YellowGreen            0xFF9ACD32
#endif