13 ต.ค. 2020 เวลา 07:06 • วิทยาศาสตร์ & เทคโนโลยี
การใช้งาน จอแสดงผลแบบ LCD สำหรับ Arduino
16x2 character LCD 16 ตัวอักษร สองแถว
16x4 character LCD 16 ตัวอักษร สี่แถว
20x4 character LCD 20 ตัวอักษร สี่แถว
จอ LCD ที่นิยมวางจำหน่ายจะมีอยู่ 2 แบบคือ LCD แบบปกติที่เชื่อมต่อแบบขนาน (Parallel) และ เชื่อมต่อแบบอนุกรม (Serial) (แบบ I2C)
รูปแบบตัวอักษรมาตราฐาน (Standard character pattern)
การแปลงค่าจาก เลขไบนารี่เป็นเลขฐานสิบ (Binary to Decimal converter)
การใช้งาน : นำตัวเลข Binary ของอักขระที่ต้องการจากตาราง แนวตั้ง+แนวนอน มาใส่ในช่อง Enter binary number เช่น ต้องการตัวไมโคร ตามตารางแนวตั้งคือ1110 กับแนวนอน 0100 จะได้เป็น 11100100 แปลงได้เป็นเลข 228
ตัวอักษรที่ต้องการ
หน้าโปรแกรม
*** Code ที่ใช้ใน Program ***
lcd.print((char)228);
นอกจากนี้เรายังสามารถสร้างรูปแบบตามที่ต้องการ ขึ้นมาได้เองโดย ใช้ Charracter Generator ช่วย
ฟังก์ชั่นการทำงาน LCD
lcd.clear()
lcd.home()
lcd.setCursor
lcd.write
lcd.print
lcd.cursor()
lcd.noCursor()
lcd.display()
lcd.noDisplay()
lcd.scrollDisplayLeft()
lcd.scrollDisplayRight()
lcd.autoscroll()
lcd.noAutoscroll()
lcd.leftToRight()
lcd.rightToLeft()
ตัวอย่างการนำไปใช้งาน
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3f, 16, 2); //Module IIC/I2C Interface บางรุ่นอาจจะใช้ 0x27
//รูปแบบสัญลักษณ์ แท่งปรอด
byte tmp[] = {
B01110,
B01110,
B01110,
B01010,
B01010,
B10001,
B10001,
B01110
};
//รูปแบบสัญลักษณ์ หยดน้ำ
byte hum[] = {
B00100,
B00100,
B01010,
B01010,
B10001,
B10001,
B10001,
B01110
};
//รูปแบบสัญลักษณ์ องศา
byte degree[] = {
B00111,
B00101,
B00111,
B00000,
B00000,
B00000,
B00000,
B00000
};
void setup() {
lcd.begin(); //กำหนดให้ใช้งาน LCD
lcd.createChar(0, tmp); //รูปแบบสัญลักษณ์ แท่งปรอด
lcd.createChar(1, hum); //รูปแบบสัญลักษณ์ หยดน้ำ
lcd.createChar(2, degree); //รูปแบบสัญลักษณ์องศา
lcd.backlight(); //กำหนดให้หน้าจอเปิดไฟพื้นหลัง
}
void loop() {
lcd.setCursor(0, 0); //กำหนดตำแหน่งตัวอักษรตัวแรกที่เริ่มให้แสดงและกำหนดบรรทัดของหน้าจอ
lcd.print("Temp "); //สั่งให้แสดงตัวอักษรที่อยู่ในเครื่องหมายฟันหนู
lcd.write(0); //แสดงรูปปรอด
lcd.setCursor(14, 0);
lcd.write(2); //แสดงสัญลักษ์องศา
lcd.setCursor(15, 0);
lcd.print("C");
lcd.setCursor(0, 1); //กำหนดตำแหน่งตัวอักษรตัวแรกที่เริ่มให้แสดงและกำหนดบรรทัดที่สองของหน้าจอ
lcd.print("Hum rh ");
lcd.write(1); //แสดงรูปหยดน้ำ
lcd.setCursor(15, 1);
lcd.print(" %");
}
โฆษณา