Gravity: I2C LCD1602 RGB 彩色背光液晶屏

简介

见惯了千篇一律的LCD液晶屏,你是否也想来一次不一样的体验?DFRobot彩光LCD将给您带来全新的视觉感受,摆脱沉闷的单色背光,换上RGB全彩背光,能够提供1600万种颜色组合。
DFRobot Gravity I2C LCD1602彩色背光液晶屏采用通用Gravity i2C接口,仅需两根通信线,即可完成通信与背光控制。液晶屏可以显示2x16个字符,支持屏幕滚动,光标移动等功能。没有繁琐的接线,没有复杂的代码,通过专门的Arduino库,就可以完成所有的设计。

技术规格

  • 工作电压:3.3V~5.0V
  • 工作电流:≤60mA
  • 显示描述:16*2
  • 通信方式:I2C
  • 背光:RGB可调背光(1600万)
  • 工作温度:-20 to +70℃
  • 存放温度:-30 to +80℃
  • 模块尺寸:87.0mm*32.0mm*13.0mm

引脚说明

标号 名称 功能描述
1 VCC 电源正
2 GND 电源负
3 SCL I2C时钟线
4 SDA I2C数据线

I2C接口

使用教程

按照引脚说明连接好硬件,并下载样例代码到UNO中,上传成功,即可看到LCD的显示及背光渐变效果。

准备

接线图

接线

样例代码

点击下载库文件[库和例程下载]如何安装库?

/*!
 * @file SetColor.ino
 * @brief Serial port input Format:255 255 255,There is no end or newline
 * @copyright	Copyright (c) 2010 DFRobot Co.Ltd (http://www.dfrobot.com)
 * @licence     The MIT License (MIT)
 * @maintainer [yangfeng](feng.yang@dfrobot.com)
 * @version  V1.0
 * @date  2021-09-24
 * @url https://github.com/DFRobot/DFRobot_RGBLCD1602
 */
#include "DFRobot_RGBLCD1602.h"

char dtaUart[15];
char dtaLen = 0;

/*
Change the RGBaddr value based on the hardware version
-----------------------------------------
       Moudule        | Version| RGBAddr|
-----------------------------------------
  LCD1602 Module      |  V1.0  | 0x60   |
-----------------------------------------
  LCD1602 Module      |  V1.1  | 0x6B   |
-----------------------------------------
  LCD1602 RGB Module  |  V1.0  | 0x60   |
-----------------------------------------
  LCD1602 RGB Module  |  V2.0  | 0x2D   |
-----------------------------------------
*/

DFRobot_RGBLCD1602 lcd(/*RGBAddr*/0x2D ,/*lcdCols*/16,/*lcdRows*/2);  //16 characters and 2 lines of show

void setup() {
	Serial.begin(115200);
    /**
     *  @brief initialize the LCD and master IIC
     */ 
    lcd.init();
    // Print a message to the LCD.
    lcd.print("set color");
}

void loop() {
    if(dtaLen == 11) {
        int r = (dtaUart[0]-'0')*100 + (dtaUart[1] - '0')*10 + (dtaUart[2] - '0');          // get r
        int g = (dtaUart[4]-'0')*100 + (dtaUart[5] - '0')*10 + (dtaUart[6] - '0');
        int b = (dtaUart[8]-'0')*100 + (dtaUart[9] - '0')*10 + (dtaUart[10] - '0');
        
        dtaLen = 0;
        /**
         *  @brief set RGB
         *  @param r  red   range(0-255)
         *  @param g  green range(0-255)
         *  @param b  blue  range(0-255)
         */
        lcd.setRGB(r, g, b);

        Serial.println("get data");
        
        Serial.println(r);
        Serial.println(g);
        Serial.println(b);
        Serial.println();

    }
}

void serialEvent() {
    while(Serial.available()) {
        dtaUart[dtaLen++] = Serial.read();
    }
}

样例代码下载到UNO中后,打开串口监视器,波特率设置为115200,并选择没有结束符。

注:每次重新输入都需要给开发板复位,且R,G,B取值范围为0-255

输入格式为每四位为一组,例如12302540123,输入结果就为123,254,123。

结果

LCD1602背光根据输入数值变为相应颜色

常见问题

还没有客户对此产品有任何问题,欢迎通过qq或者论坛联系我们!

更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。

更多

DFshopping_car1.png DFRobot商城购买链接