วันเสาร์ที่ 25 พฤษภาคม พ.ศ. 2556

PiMyLib : PiMyLCD free library for Raspberry Pi + LCD16x2 + LCD5110

Standard

    Library สำหรับเชื่อมต่อจอ GLCD5110 หรือ LCD แบบ 16x2 โดยออกแบบมาแน้นใช้งานได้ง่าย

โดยสามารถ Download Source Code ได้จาก Github : PiMyLib





หรือใช้คำสั่ง #git clone https://github.com/ultramcu/PiMyLib.git

จากนั้นใช้คำสั่ง #make (กรณี path ของ lib BCM2835 อยู่ที่ /store/lib/bcm2835-1.14/src/ หรือดูได้ที่ lib bcm2835)

ลองทดสอบด้วย 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");







2 ความคิดเห็น:

  1. ขอรบกวนหน่อยนะค่ะ มีรูปการต่อวงจรของจอ lcd กับ raspberry pi มั้ยค่ะ

    ตอบลบ