Difference between revisions of "Grove LCD RGB Backlight 16x2"

From Teknologisk videncenter
Jump to: navigation, search
m
m (Eksempel på funktionalitet)
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
[[Image:Grove - LCD RGB Backlight.png|thumb|300px|LCD with RGB Backlight]]
 +
=Links=
 +
*[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)
 +
*[[Media:AiP31068.pdf| LCD Display control chip]]
 +
=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
  
  
=Links=
+
# i2cset -y <i2cBUS> <i2cADDRESS> <Control Byte> <Data byte>
*[https://wiki.seeedstudio.com/Grove-LCD_RGB_Backlight/ Seeed studio Grove LCD Backlight homepage]
+
#  Control byte bits Co RS 0 0  0 0 0 0 ( 0x80 = Co, 0x40 = RS, 0xc0 = Co and RS)
*[https://www.nxp.com/docs/en/data-sheet/PCA9632.pdf NXP PCA9632 datasheet]
+
#    Co: 0 = Last Control Byte - 1 = Another Control Byte follows
*[https://www.newhavendisplay.com/appnotes/datasheets/LCDs/AiP31068.pdf AiP31068 datasheet]
+
#    RS: 0 = Following data byte is a command - 1 = following data byte is data
[[category:Grove]]
+
#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

LCD with RGB Backlight

Links

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)