LCD (แอลซีดี) มีชื่อเต็มว่า Liquid Crystal Display (ลิควิด คริสตัลดิสเพลย์ ) จอเอลซีดีจะประกอบด้วยแผ่นแก้ว 2 แผ่นประกบกันเว้นช่องว่างตรงกลางไว้ประมาณ 6-10 โมโครเมตรด้านในจะเคลือบด้วยตัวนำไฟฟ้าแบบใส่ในระหว่างตัวนำไฟฟ้าแบบใสจะมีโมเลกุลผลึกรวมตัวกันในทิศทางที่แสงส่องผ่าน แอลซีดี สามารถนำไปใช้ได้ตามอุปกรณ์ต่างๆเช่น จอโทรทัศน์ จอสมาร์ทโฟน จอพวกมินิคอมพิวเตอร์ อย่าง raspberri pi(ราสเบอรี่ไพ) หรือจอ LCD บางชนิดที่ประยุกต์ใช้งานกับบอร์ดNode MCU ESP8266 ที่ใช้สำหรับเขียนภาษา ไพธอน หรือ C# เป็นต้น
จอ Character LCD คืออะไร
จอ Character LCD (ชาแลคเตอร์ แอลซีดี) เป็นจอประเภทหนึงของแอลซีดีใช้เพื่อแสดงผลตัวอักษรภาษาอังกฤษและตัวเลข นิยมใช้กับระบบฝังตัว, IoT (ไอโอที), Microcontroller (ไมโครคอนโทรลเลอรฺ) ซึ่งปัจจุบันส่วนมากจะใช้กับ พวกบอร์ด Arduino (อาดุยโน่) Raspberrypi (ราสเบอรี่ไพ) Node MCU ESP8266 หรือ บอร์ดอื่นๆ โดยจอ Character LCD (ชาแลคเตอร์ แอลซีดี) แบบเดิมๆนั้นต้องใช้สายสัญญาณเยอะมากๆ ทำให้ไม่เหมาะในการทำงานเพราะด้วนสายสัญญาณที่เยอะทำให้ไม่มีช่องเสียบอุปกรณ์อื่นแล้ว จึงต้องเปลี่ยนช่องทางการสื่อสารใหม่โดยเปลี่ยนไปเป็น i2c bus ทำให้ประหยัดสายสัญญาณได้เยอะเพราะใชสายสัญญาณเพียง 2 เส้นเท่านั้น
ขั้นตอนการใช้งานจอ Character LCD ร่วมกับ Node MCU ESP8266
1.โหลดโมดูล esp8266_i2c_lcd.py และ lcd_api.py ได้จากอินเตอร์เน็ต
2.ติดตั้งโมดูลทั้ง 2 โดยท่านสามารถดูวิธีการติดตั้งได้ที่ การติดตั้งโมดูลให้กับ Node MCU ESP8266
3.เมื่อติดตั้งเสร็จแล้วให้ต่อสาย สัญญาณ SCL เข้ากับ GPIO 2 และสายสัญญาณ SDA เข้ากับ GPIO 0 ต่อไฟบวกกับกราวด์ให้เรียบร้อย
4.ใส่โค้ดเหล่านี้ลงไป
from machine import Pin #อิมพอร์ตคลาสพินเข้ามาใช้งาน
from machine import I2C #อิมพอร์ตคลาส I2C เข้ามาใช้งาน
#ส้รางออบเจคขึ้นมาใช้งานกับคลาส I2C
i2c = I2C(scl=Pin(2),sda=Pin(0),freq=40000) #scl=pin2=d4 sda=pin0=d3
i2c.scan() #คำสั่งแสกนหาแอดเดรส เดี๊่ยวเราจะเอาแอดเดรสที่ได้ไปใช้งานต่อ
ผลการรันจะได้ [39] ซึ่งก็คือแอดเดรสของอุปกรณ์
5.ต่อมาเขียนโค้ดเหล่านี้ลงไป
from esp8266_i2c_lcd import I2cLcd
lcd = I2cLcd(i2c,39,2,16) #เลข 39 คือเลข adress ที่ได้มาจาก i2c.scan
แค่นี้จอก็พร้อมใช้แล้ว
6.คำสั่งสำหรับ จอ Character LCD
lcd.clear() #คำสั่งเคลียร์หน้าจอ
lcd.move_to(3,0) #คำสั่งเลื่อนตำแหน่งแสดงข้อความ
lcd.putstr("hello python") #คำสั่งสำหรับใส้ข้อความที่ต้องการแสดง
รูปการรัน บน ซีเรียลมอนิเตอร์