아두이노 lcd 한글자만 - adu-ino lcd hangeuljaman

아두이노 lcd 1602 화면 한글자문제 해결 방법

별에 별방법을 해도... 네이X 카페에 확인해봐도 답을 알수가 없었다.

분명 난

//YWROBOT

//Compatible with the Arduino IDE 1.0

//Library version:1.1

#include <Wire.h>

#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x3F,16,2);  // set the LCD address to 0x27 for a 16 chars and 2 line display

void setup(){

lcd.init();                      // initialize the lcd

// Print a message to the LCD.

lcd.backlight();

lcd.setCursor(3,0);

lcd.print("Hello, world!");

lcd.setCursor(2,1);

lcd.print("Ywrobot Arduino!");

}

void loop(){

}

cs

아두이노
1602 LCD 에서
lcd.print("hello, world!");
하는데 h 한글자만 찍힐 때는 라이브러리를 바꾸어 보세요.

예제.

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,16,2);

void setup() {
  // put your setup code here, to run once:
  lcd.init();
  lcd.backlight();

  lcd.setCursor(0, 0);
  lcd.print(" This stop is");
  lcd.setCursor(0, 1);
  lcd.print("  Akihabara");

}

void loop() {
  // put your main code here, to run repeatedly:
}

저는 lcd.print 했을 때 한 글자씩만 나오기에 여러 글을 검색해보고, 아래 라이브러리를 써서 해결했습니다.

https://github.com/marcoschwartz/LiquidCrystal_I2C

/*-----( Import needed libraries )-----*/

#include <Wire.h>  // Comes with Arduino IDE

// Get the LCD I2C Library here: 

// www.4tronix.co.uk/arduino/sketches/LiquidCrystal_V1.2.1.zip

// Move any other LCD libraries to another folder or delete them

// See Library "Docs" folder for possible commands etc.

#include <LiquidCrystal_I2C.h>

/*-----( Declare Constants )-----*/

/*-----( Declare objects )-----*/

// set the LCD address to 0x27 for a 20 chars 4 line display

// Set the pins on the I2C chip used for LCD connections:

//                    addr, en,rw,rs,d4,d5,d6,d7,bl,blpol

LiquidCrystal_I2C lcd(0x2721045673, POSITIVE);  // Set the LCD I2C address

/*-----( Declare Variables )-----*/

//NONE

void setup()   /*----( SETUP: RUNS ONCE )----*/

{

Serial.begin(9600);  // Used to type in characters

lcd.begin(20,4);   // initialize the lcd for 20 chars 4 lines, turn on backlight

// ------- Quick 3 blinks of backlight  -------------

for(int i = 0; i< 3; i++)

{

lcd.backlight();

delay(250);

lcd.noBacklight();

delay(250);

}

lcd.backlight(); // finish with backlight on  

//-------- Write characters on the display ------------------

// NOTE: Cursor Position: (CHAR, LINE) start at 0  

lcd.setCursor(0,0); //Start at character 4 on line 0

lcd.print("Hello, world!");

delay(1000);

lcd.setCursor(0,1);

lcd.print("4tronix I2C LCD"); // Print text on 2nd Line

delay(1000);

lcd.setCursor(0,2);

lcd.print("0123456789ABCDEFGHIJ"); //Print 20 characters on 3rd line

delay(1000);

lcd.setCursor(0,3);

lcd.print("4th Line of Text");

delay(8000);  

// Wait and then tell user they can start the Serial Monitor and type in characters to

// Display. (Set Serial Monitor option to "No Line Ending")

/*  lcd.clear();

  lcd.setCursor(0,0); //Start at character 0 on line 0

  lcd.print("Use Serial Mon");

  lcd.setCursor(0,1);

  lcd.print("Type to display"); */

}/*--(end setup )---*/

void loop()   /*----( LOOP: RUNS CONSTANTLY )----*/

{

{

// when characters arrive over the serial port...

if (Serial.available()) {

// wait a bit for the entire message to arrive

delay(100);

// clear the screen

//lcd.clear();

// read all the available characters

while (Serial.available() > 0) {

// display each character to the LCD

//lcd.write(Serial.read());

}

}

}

}/* --(end main loop )-- */

/* ( THE END ) */