Library สำหรับเชื่อมต่อจอ GLCD5110 หรือ LCD แบบ 16x2 โดยออกแบบมาแน้นใช้งานได้ง่าย
โดยสามารถ Download Source Code ได้จาก Github : PiMyLib
ลองทดสอบด้วย Function use_lcd16x2 หรือ use_lcd5110 สำหรับจอ LCD16x2 หรือ LCD5110
หรือหากต้องการเอา lib ไปใช้ แค่
1.สร้างตัวแปร สำหรับ LCD
st_lcd LCD;
2.เลือกชนิด LCD
LCD.lcd_type = _LCD_TYPE_16x2_; //สำหรับ LCD 16x2หรือ
LCD.lcd_type = _LCD_TYPE_PCD8544_; //สำหรับ LCD5110,LCD3310
3.กำหนด pin ต่างๆ ของ LCD และ Raspberry Pi
สำหรับ LCD 16x2
LCD.lcd_16x2.data_mode = _LCD_TYPE_16x2_MODE_8_BIT; //สำหรับ Data Mode ของ LCD16x2 (_LCD_TYPE_16x2_MODE_8_BIT และ _LCD_TYPE_16x2_MODE_4_BIT
)LCD.lcd_16x2.rs = RPI_GPIO_P1_11;LCD.lcd_16x2.en = RPI_GPIO_P1_15;LCD.lcd_16x2.data[0] = RPI_GPIO_P1_16;LCD.lcd_16x2.data[1] = RPI_GPIO_P1_18;LCD.lcd_16x2.data[2] = RPI_GPIO_P1_19;LCD.lcd_16x2.data[3] = RPI_GPIO_P1_21;LCD.lcd_16x2.data[4] = RPI_GPIO_P1_22;LCD.lcd_16x2.data[5] = RPI_GPIO_P1_23;LCD.lcd_16x2.data[6] = RPI_GPIO_P1_24;LCD.lcd_16x2.data[7] = RPI_GPIO_P1_26;
สำหรับ LCD5110
LCD.lcd_pcd_8544.sec = RPI_GPIO_P1_11;LCD.lcd_pcd_8544.rst = RPI_GPIO_P1_15;LCD.lcd_pcd_8544.dc = RPI_GPIO_P1_16;LCD.lcd_pcd_8544.sdin = RPI_GPIO_P1_18;LCD.lcd_pcd_8544.sclk = RPI_GPIO_P1_22;
4.จากนั้น initial gpio, initial lcd ด้วย function
init_gpio(&LCD);
lcd_init(&LCD);
5. function printl
ใช้สำหรับ print ตัวอักษรลงบนจอ LCD ซึ่งสามารถใช้ \n, %d, %f, %s, %c และอื่น
printl(st_lcd *lcd,uint8_t auto_cut,uint8_t pos_x,uint8_t pos_y, char *fmt)auto_cut คือ การสั่งตัดตัวอักษรอัตโนมัติ กรณีที่ตัวอักษรที่ต้องการ print ยาวเกิน 1 บรรทัด
pos_x คือ จุด start ตัวอีกษรในแกน x
pos_y คือ จุด start ตัวอีกษรในแกน y
fmt คือ รูปแบบการแสดงตัวอักษร
เช่น
printl(&LCD,1,0,1,"Free Lib For \n Raspberry Pi ");printl(&LCD,1,0,4," PiMyLib V%1.1f ",1);printl(&LCD,1,0,5," %s ","PiShared.com");
ขอรบกวนหน่อยนะค่ะ มีรูปการต่อวงจรของจอ lcd กับ raspberry pi มั้ยค่ะ
ตอบลบLCD ตัวไหนครับ
ลบ