Arduino通过I2C控制LCD输出



  • 使用PlatformIO开发:

    1、Libraries中搜索LiquidCrystal,然后选择”By Arduino“的安装。
    2、修改platformio.ini文件(在lib_deps中添加库)

    [env:uno]
    platform = atmelavr
    board = uno
    framework = arduino
    lib_deps = 
        LiquidCrystal
    

    将Arduino与LCD的线接起来[ GND,VCC(5v),SDA,SCL ]

    0_1560937221828_WechatIMG146.jpeg

    • PS:上图中LCD背面有个蓝色的旋钮,是用来调整对比度的,如果LCD无法显示文字的话可以尝试调节该旋钮。

    DEMO

    #include <Arduino.h>
    #include <LiquidCrystal_I2C.h>
    
    LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
    
    void setup() {
    // 初始化LCD,每行16个字符,共两行
    lcd.begin(16, 2);
     
    // 背光闪烁三次
    for(int i = 0; i < 3; i++) {
    lcd.backlight(); 
    delay(250);
    lcd.noBacklight();
    delay(250);
    }
    lcd.backlight();
     
    lcd.setCursor(0, 0); // 设置游标:第一行第一列
    lcd.print(" Welcome Guaik ");
    delay(1000);
    lcd.setCursor(0, 1); // 设置游标:第二行第一列
    lcd.print("<bbs.guaik.org>");
    delay(3000);
    lcd.clear(); // 清除内容
    }
    void loop() {
    lcd.setCursor(0, 0); 
    lcd.print("Message:");
    lcd.setCursor(0, 1);
    lcd.print("Hello world");
    }
    

    如果无法正常工作的话,请检查I2C的设备地址,也就是LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);的第一个参数,当前的是0x3F。


    0_1560937679044_2019-06-19 171658.gif


Log in to reply