Android Things 教程:I2C LCD 显示

在本系列的第一部分,我们使用了运行 Android Things 的预览版的 Raspberry Pi,找寻了一些硬件来驱动 LCD 字符显示。在这一部分,我们将在 Android Studio 中设置项目,导入驱动程序库,并向显示屏写入消息。

创建项目

首先在 Android Studio for Android Things 中创建一个新项目。 您可以按照 Android 开发人员网站上的教程进行操作。请确保将 Android Things 支持库添加为依赖项,并按照官方文档中的说明声明一个 home activity。

1. 添加库

在应用程序模块的 build.gradle 的依赖项部分添加下行:

compile 'nz.geek.android.things:things-drivers:1.1.0'

2. 使用驱动

使用类构建器创建一个 I2cSerialCharLcd 的实例。建造者(builder)方法获取 LCD 显示器的宽度和高度。然后使用生成器将 LCM1602 的引脚映射到 LCD 显示引脚上。构建 LCD 对象,并调用连接来初始化显示。现在,您可以使用打印方法显示,它需要行(行)号打印到和要打印的消息。

OnCreate

构建器方法从器件数据手册中获取与 P0-P7 相对应的 PCF8574 引脚编号,例如 P0 的引脚编号为 0。尽管 LCD 和 LCM1602(以及克隆 )在我的例子中有一个标准的引脚,但是您可能需要查阅模块的数据表以获得正确的引脚映射。

建造者方法

  • rs() 设置寄存器选择引脚
  • rw() 设置读/写引脚
  • e() 设置启用引脚
  • data() 设置 D4 到 D7 引脚
  • address() 为 LCM1602 设置 A0-A2 的值(在板上用焊桥设置,默认值为 7)
  • bl() 告诉驱动程序哪个 PCF8574 引脚控制背光(如果可用)

在这个例子中没有显示 isPcf8574(),以告诉驱动程序使用不太常见的 PCF8574 的基地址,而不是普通的 PCF8574A。

驱动程序功能

使用LCD驱动程序,您可以使用 clearLine() 清除每条显示行,并将行传递给 clearLine()。 您也可以使用 enableBacklight() 来启用和禁用 LCD 背光。

您也可以使用 setCgRam() 定义自定义字符。 以后我会解释如何使用这个功能。

示例代码

以下是完整的 MainActivity 示例:

package com.example.android.androidthingsexample;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import nz.geek.android.things.drivers.lcd.I2cSerialCharLcd;

public class MainActivity extends AppCompatActivity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    I2cSerialCharLcd.I2cSerialCharLcdBuilder builder = I2cSerialCharLcd.builder(20, 4);
    builder.rs(0).rw(1).e(2).bl(3).data(4, 5, 6, 7).address(6);
    I2cSerialCharLcd lcd = builder.build();
    lcd.connect();
    lcd.print(1, "Hello World!");
  }

}

原文链接:http://android.geek.nz/i2c-with-android-things-part-2/

尚未评分
您的评分将帮助我们做出更好的玩法

观光\评论区

Copyright © 2017 玩点什么. All Rights Reserved.