Difference between revisions of "Grove LCD RGB Backlight 16x2"
From Teknologisk videncenter
								
												
				m  | 
				m (→Eksempel på funktionalitet)  | 
				||
| (4 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
| − | [[Image:Grove - LCD RGB Backlight.png|thumb|  | + | [[Image:Grove - LCD RGB Backlight.png|thumb|300px|LCD with RGB Backlight]]  | 
| − | |||
=Links=  | =Links=  | ||
*[https://wiki.seeedstudio.com/Grove-LCD_RGB_Backlight/ Seeed studio Grove LCD Backlight homepage]  | *[https://wiki.seeedstudio.com/Grove-LCD_RGB_Backlight/ Seeed studio Grove LCD Backlight homepage]  | ||
*[https://www.nxp.com/docs/en/data-sheet/PCA9632.pdf NXP PCA9632 datasheet]  (RGB Backlight control chip)  | *[https://www.nxp.com/docs/en/data-sheet/PCA9632.pdf NXP PCA9632 datasheet]  (RGB Backlight control chip)  | ||
| − | *[  | + | *[[Media:AiP31068.pdf| LCD Display control chip]]  | 
| − | [[category:Grove]]  | + | =Eksempel på funktionalitet=  | 
| + | ==Display chip==  | ||
| + | <source lang=bash>  | ||
| + | #!/bin/bash  | ||
| + | # Hex codes found with  | ||
| + | #  echo Viborg | od -x --endian=big  | ||
| + | #  0000000 5669 626f 7267 0a00  | ||
| + | |||
| + | |||
| + | # i2cset -y <i2cBUS> <i2cADDRESS> <Control Byte> <Data byte>  | ||
| + | #  Control byte bits Co RS 0 0   0 0 0 0 ( 0x80 = Co, 0x40 = RS, 0xc0 = Co and RS)  | ||
| + | #    Co:  0 = Last Control Byte - 1 = Another Control Byte follows  | ||
| + | #    RS:  0 = Following data byte is a command - 1 = following data byte is data  | ||
| + | #Function set 0010 1000 // 2 line mode and 5x8  | ||
| + | i2cset -y 2 0x3e 0x00 0x28  | ||
| + | #Display on/off control 0000 1110 // Diplay on cursor on blink off  | ||
| + | i2cset -y 2 0x3e 0x00 0x0D  | ||
| + | #Display clear  | ||
| + | i2cset -y 2 0x3e 0x00 0x01  | ||
| + | #Entry mode set 0000 0110  | ||
| + | i2cset -y 2 0x3e 0x00 0x06  | ||
| + | #i2cset -y 2 0x3e 0x20 0x06  | ||
| + | #i2cset -y 2 0x3e 0x8 0x06  | ||
| + | i2cset -y 2 0x3e 0x00 0x02  | ||
| + | # 1xxx xxxx = set DDRAM adress = 1000 0000 to 1011 1111  | ||
| + | #  first line (1000 0000 to 1000 1111 possible on 16 characters line) = 0x80 to 0x8f  | ||
| + | #  second  line (1100 0000 to 1100 1111 possible on 16 characters line) = 0xC0 to 0xCf  | ||
| + | i2cset -y 2 0x3e 0x00 0x84 # 5th character on line 1  | ||
| + | #Display Mercantec  | ||
| + | i2cset -y 2 0x3e 0x40 0x4d  | ||
| + | i2cset -y 2 0x3e 0x40 0x65  | ||
| + | i2cset -y 2 0x3e 0x40 0x72  | ||
| + | i2cset -y 2 0x3e 0x40 0x63  | ||
| + | i2cset -y 2 0x3e 0x40 0x61  | ||
| + | i2cset -y 2 0x3e 0x40 0x6e  | ||
| + | i2cset -y 2 0x3e 0x40 0x74  | ||
| + | i2cset -y 2 0x3e 0x40 0x65  | ||
| + | i2cset -y 2 0x3e 0x40 0x63  | ||
| + | #Display Viborg in middle of second line  | ||
| + | i2cset -y 2 0x3e 0x00 0xC5 # 5th character on line 2  | ||
| + | i2cset -y 2 0x3e 0x40 0x56  | ||
| + | i2cset -y 2 0x3e 0x40 0x69  | ||
| + | i2cset -y 2 0x3e 0x40 0x62  | ||
| + | i2cset -y 2 0x3e 0x40 0x6f  | ||
| + | i2cset -y 2 0x3e 0x40 0x72  | ||
| + | i2cset -y 2 0x3e 0x40 0x67  | ||
| + | </source>  | ||
| + | ==RGB chip==  | ||
| + | <source lang=bash>  | ||
| + | #!/bin/bash  | ||
| + |  #LED chip adresse 0x62  | ||
| + |  #LEDOT register 0x08  | ||
| + |  #to bit pr. LED  | ||
| + |  #00 00 00 00  | ||
| + |  #Set 00 00 00 01  | ||
| + |  #Sleep mode off  | ||
| + | i2cset -y 2 0x62 0x0 0x0  | ||
| + | i2cset -y 2 0x62 0x8 0x10 # RED  | ||
| + | sleep 1  | ||
| + | i2cset -y 2 0x62 0x8 0x01 # BLUE  | ||
| + | sleep 1  | ||
| + | i2cset -y 2 0x62 0x8 0x04 # GREEN  | ||
| + | sleep 1  | ||
| + | i2cset -y 2 0x62 0x8 0x15 # RGB = White (Sort of)  | ||
| + | </source>  | ||
| + | [[category:Grove]][[Category:I2C]]  | ||
Latest revision as of 07:33, 11 April 2024
Links
- Seeed studio Grove LCD Backlight homepage
 - NXP PCA9632 datasheet (RGB Backlight control chip)
 - LCD Display control chip
 
Eksempel på funktionalitet
Display chip
#!/bin/bash
# Hex codes found with
#  echo Viborg | od -x --endian=big
#  0000000 5669 626f 7267 0a00
# i2cset -y <i2cBUS> <i2cADDRESS> <Control Byte> <Data byte>
#  Control byte bits Co RS 0 0   0 0 0 0 ( 0x80 = Co, 0x40 = RS, 0xc0 = Co and RS)
#    Co:  0 = Last Control Byte - 1 = Another Control Byte follows
#    RS:  0 = Following data byte is a command - 1 = following data byte is data
#Function set 0010 1000 // 2 line mode and 5x8
i2cset -y 2 0x3e 0x00 0x28
#Display on/off control 0000 1110 // Diplay on cursor on blink off
i2cset -y 2 0x3e 0x00 0x0D
#Display clear
i2cset -y 2 0x3e 0x00 0x01
#Entry mode set 0000 0110
i2cset -y 2 0x3e 0x00 0x06
#i2cset -y 2 0x3e 0x20 0x06
#i2cset -y 2 0x3e 0x8 0x06
i2cset -y 2 0x3e 0x00 0x02
# 1xxx xxxx = set DDRAM adress = 1000 0000 to 1011 1111
#  first line (1000 0000 to 1000 1111 possible on 16 characters line) = 0x80 to 0x8f
#  second  line (1100 0000 to 1100 1111 possible on 16 characters line) = 0xC0 to 0xCf
i2cset -y 2 0x3e 0x00 0x84 # 5th character on line 1
#Display Mercantec
i2cset -y 2 0x3e 0x40 0x4d
i2cset -y 2 0x3e 0x40 0x65
i2cset -y 2 0x3e 0x40 0x72
i2cset -y 2 0x3e 0x40 0x63
i2cset -y 2 0x3e 0x40 0x61
i2cset -y 2 0x3e 0x40 0x6e
i2cset -y 2 0x3e 0x40 0x74
i2cset -y 2 0x3e 0x40 0x65
i2cset -y 2 0x3e 0x40 0x63
#Display Viborg in middle of second line
i2cset -y 2 0x3e 0x00 0xC5 # 5th character on line 2
i2cset -y 2 0x3e 0x40 0x56
i2cset -y 2 0x3e 0x40 0x69
i2cset -y 2 0x3e 0x40 0x62
i2cset -y 2 0x3e 0x40 0x6f
i2cset -y 2 0x3e 0x40 0x72
i2cset -y 2 0x3e 0x40 0x67
RGB chip
#!/bin/bash
 #LED chip adresse 0x62
 #LEDOT register 0x08
 #to bit pr. LED
 #00 00 00 00
 #Set 00 00 00 01
 #Sleep mode off
i2cset -y 2 0x62 0x0 0x0
i2cset -y 2 0x62 0x8 0x10 # RED
sleep 1
i2cset -y 2 0x62 0x8 0x01 # BLUE
sleep 1
i2cset -y 2 0x62 0x8 0x04 # GREEN
sleep 1
i2cset -y 2 0x62 0x8 0x15 # RGB = White (Sort of)