본문 바로가기

프로젝트/휴대폰을 BarCode Reader 로 사용하여 C# DB에서 이용하기

아두이노와 바코드앱 메세지 주고 받기

이젠 PC대신 아두이노를 사용한다.

앱은 그대로 사용 하면 되고 아두이노는 TFT LCD 쉴드를 사용한다.

아두이노 우노의 경우 쉴드를 사용하면  블루투스는 0(RX),1(TX) 핀을 사용 해야한다.

TFT LCD , SD카드 사용 하면 A5핀과 RX,TX핀만 남는다.

주의 점은 프로그램 업로드시 블루투스 모듈을 제거해야 한다.  업로드도 RX,TX핀을 사용 한다.

쉴드 때문에 핀에 선을 연결 하기 힘들다. 그래서 블루투스 연결 선을 납땜하여 사용한다.

핀에 직접 할 필요 없이 우도 보드를 보면 RX,TX,VCC,GND가 따로 모여 있는 곳이 있다.

이곳에서 선을 납땜하면 된다.

 

블루투스 RX 아두이노 TX

블루투스 TX아두이노 RX에 연결한다.

 

동영상 확인하기

 


#define   _TFTLCD_      myLcd              // TFT LCD 이름 정의
#define _INDEX_TYPE_2_                    // 인덱스방법 2로 사용시
                                                               // 방법 1로 사용시 주석처리 하면 됨                                            
#include  "D:\\Program Files (x86)\\Arduino\\myHeader\\HanGul_TFT.H"                                                                              
                                         
HanGul_TFT  ht;     // 한글출력 클래스

bool togColor =true;

void setup()
{     
     
  ht.start();       // 한글출력 클래스 시작
                                      
  myLcd.InitLCD();            
  myLcd.setRotation(3);   //3 가로 480x320  //2 세로   320x480
  myLcd.clrScr();   
  myLcd.fillScreen(cGreen);


  ht.color(cWhite,cBlue);
  ht.print(F("휴대폰 바코드 연동 DB "),0,0,2,3);
  ht.under(cWhite); 


  ht.color(cWhite,cGreen);


  ht.print(F("메세지:"),5,100,2);
  ht.print(F("바코드:"),5,170,2);
  ht.print(F("상품명:"),5,220,2);


  ht.color(cYellow);
  ht.print(F("블루투스 연결 대기중"),130,100,2);


  Serial.begin(9600);  // 블루투스 시작


  while( !Serial.available() ) 
  {
    if( togColor ) ht.fill();  
    else ht.print(F("블루투스 연결 대기중"),130,100,2);
    togColor = ! togColor;
    delay(700);
  }
  ht.print(F("블루투스 연결됨     "),130,100,2);
}

void loop()
{
 String msg,cmd;
   
 if(Serial.available() )
 {
  msg=Serial.readString();
  cmd=msg.substring(0,1);    // 명령코드 분리  B바코드  A상품명//처리는 다음 편에서 만들 것임
  msg=msg.substring(1);      //   바코드 또는 상품명
  ht.print("                ",130,100,2);  
  ht.print( cmd,130,100,2);
  ht.print("                ",130,178);  
  ht.print( msg,130,178);
  Serial.println("-1");
 }
  
  
}//loo