아두이노
아두이노와 한글 -#4
오징어땅콩2
2020. 10. 24. 18:30
반응형
저번에 UFT8과 16에 대해서 공부 했다.
약간의 개념만 잡았다면 성공한것이다.
그리고 초성중성종성을 분리 할 수 있다면 거의 이해한것이다.
초성중성종성을 분리하기 전에 먼저 점과 폰트에 대해서 이해를 해야 한다.
글자한자에 대한 점들로 구성되어져 있고 그것들이 만들어진것이 폰트이다.
일단 점으로 글자를 만들어 보자.
이전에도 많이 사용했던 LCD를 이용해보자.
분명이 한계도 있고 쓰기에 많이 불편하지만, 그레도 한글 한자를 표현함으로써
어떤식으로 구현하는지를 이해 하자.
https://mikeyancey.com/hamcalc/lcd_characters.php
위사이트에서 글자를 만들어 보자. LCD는 5x8해서 가로 5칸, 세로 8줄이다.
그것을 만들어 출력하는것이다.
자동으로 만들어 주고 있지만, 이진수로 표현할수가 있다.
만들어서 출력해보자.
본인은 I2C LCD 모듈을 사용했지만, 그냥 LCD 모듈도 어렵지 않게 구현 할 수가 있다.
가라는 글짜 한글자를 했지만, 본인이 어떻게 만드느냐에 따라서 다양한 "가"라는 글자가 나올수 있다.
그리고 도트가 작아서 글자가 이쁘게 출력되지는 않는다.
커스텀 케렉트는 8자까지 가능하니 여러글자 만들어서 문장을 만들수도 있을것 같다.
아두이노 특성상 많은글자를 모두 표현하는것이 전부는 아니다.
정보전달 정도만해도 충분하다.
#include <SoftwareSerial.h>
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
//LiquidCrystal_I2C lcd(0x27,20,2);
LiquidCrystal_I2C lcd(0x3F,20,2);
byte newChar[8] = {
0B11110,
0B00110,
0B00110,
0B00111,
0B01010,
0B10010,
0B00000,
0B00000
};
void setup()
{
lcd.init();
lcd.backlight();
lcd.createChar(0, newChar);
lcd.setCursor(0, 0);
lcd.print("Hello, world!");
lcd.setCursor(0, 1);
lcd.write((byte)0);
delay(1000);
}
void loop() {}
|