토론:진한프로젝트:온, 습도계
아두이노에서 사전 정의.[원본 편집]
#include <map>
#include <string>
using namespace std;
// 출력하는 함수 만들기.
void printLargeChar(LCD& lcd, string text) {
for (char c : text) {
// 문자의 상단 및 하단 비트 패턴 가져오기
auto [topPattern, bottomPattern] = charPatterns[tolower(c)];
// 상단 출력
lcd.setCursor(0, 0);
for (int i = 0; i < 5; i++) {
lcd.write(topPattern & (1 << (4 - i)) ? '0' : ' ');
}
lcd.setCursor(0, 1);
// 하단 출력
for (int i = 0; i < 5; i++) {
lcd.write(bottomPattern & (1 << (4 - i)) ? '0' : ' ');
}
// 문자 사이 간격
lcd.setCursor(6, 0);
lcd.print(" ");
lcd.setCursor(6, 1);
lcd.print(" ");
}
}
// 문자별 상단 및 하단 비트 패턴 맵
map<char, pair<byte, byte>> charPatterns = {
{'0', {0b11111, 0b10001}},
{'1', {0b00100, 0b00100}},
{'2', {0b11011, 0b10101}},
{'3', {0b11101, 0b10001}},
{'4', {0b10110, 0b00110}},
{'5', {0b11101, 0b01001}},
{'6', {0b11111, 0b01001}},
{'7', {0b00001, 0b00001}},
{'8', {0b11111, 0b10101}},
{'9', {0b11101, 0b10001}}