블루투스로 한글 받아서 LCD (SSD1306)에 표시하는 샘플 코드 :
http://cafe.naver.com/arduinostory/36356
폰트 용량이 커서 RAM에 올리지 못하고 Flash 메모리에 올려야 한다.
Flash 메모리에 올리는 명령어에서 에러가 나서 아래와 같이 수정해야 컴파일 되었다.
const byte ASCfontSet[] PROGMEM = {
const, PROGMEM 명령어가 꼭 있어야 하며, 해당 키워드를 적어 넣는 순서도 중요함
수정한 코드 다운로드 ↓
BT_IN_hangel_ssd1360_minimize_DUE.zip
실행을 위한 관련 라이브러리 다운로드 ↓
아두이노 UNO는 Flash메모리가 작아서 첨부된 조합형 한글, 영어 폰트가 올라가지 않는다.
우노에서 실행하면 아래 사진과 같이 폰트가 깨져서 출력된다.
본 예제는 아두이노 DUE에서 동작시켰다.
컴파일 할때 보드 종류를 DUE로 해야 정상적으로 컴파일된다. (DUE에 있는 Serial1 을 썼기 때문)
한글을 전송하려면 유니코드로 전송해야 한다. 한글은 UTF-8 인코딩.
첨부된 샘플코드 처럼 스케치에서 한글 입력한뒤 시리얼 통신 터미널로 확인해 보면 아래와 같은 코드가 확인된다.
시리얼 통신 프로그램에서 받아서 HEX로 표시하면 아래와 같다.
이렇듯 PC에서 시리얼 통신으로 한글을 UTF-8로 인코딩해서 보내려면 TeraTerm 프로그램을 써야한다.
http://blog.naver.com/dk_dealer/60124422052
소스코드를 보면 알겠지만 문자열 끝에 '/'를 보내야 LCD화면에 출력된다.
안드로이드 스마트폰에서는 Bluetooth Terminal (제작:Qwerty) 에서 한글 전송이 가능했다.
스마트폰에서 블루투스로 접속해서 한글 문자열을 보내서 표시한 사진
관련 링크
블루투스로 한글 받아서 LCD (SSD1306)에 표시하는 샘플 코드 :
http://cafe.naver.com/arduinostory/36356
아두이노에서 조합형 한글 사용하기
http://cafe.naver.com/arduinostory/32771
한글 초,중,종 분리
http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=50&MAEULNo=20&no=919452&ref=919452
한글(유니코드) 초성 / 중성 / 종성 분리
아두이노 시리얼 함수 스트링 함수 설명 잘됨
http://m.blog.naver.com/yuyyulee/220303855563
MFC로 멀티바이트 전송은 있는데...
http://blog.naver.com/PostView.nhn?blogId=gwakdonggi&logNo=220054966365
아두이노에서는 아직 유니코드를 지원하지 않는다????
http://m.blog.naver.com/yuyyulee/220301796341
아두이노 퀵 레퍼런스
http://m.blog.daum.net/_blog/_m/articleView.do?blogid=0ZPt7&articleno=1973
unicode 전체 포맷 설명
http://www.azillionmonkeys.com/qed/unicode.html
Arduino UTF-8
http://playground.arduino.cc/Code/UTF-8
http://playground.arduino.cc/Main/Utf8ascii
** 테라텀으로 한글 송수신 가능
http://blog.naver.com/dk_dealer/60124422052