LED显示类

tijos.framework.transducer.led中包含了LED灯、RGBELD灯以及OLED屏幕相关的类。其中LED灯为普通单色发光二极管,套件中自带红色、黄色、蓝色、绿色四种颜色的发光二极管,可以通过不同的PIN口单独控制亮灭,适用于需要指示灯、报警灯等场景;RGB三基色LED灯包含红色、绿色和蓝色三种基础色,可通过TiPWM接口各自输出不同的亮度等级,最终混色成相应的颜色,适用于需要变色指示灯、呼吸灯等场景;OLED屏幕使用TiICMaster接口控制,可输出4*16个字符,适用于需要显示信息、带有人机交互界面的设备。

包含类如下:

类名称 说明
TiLED LED灯类
TIRGBLED RGBLED灯类
TiOLED_UG2864 OLED12864屏幕类

TiLED

TiJOS提供控制LED灯的类。

TiJOS LED包括如下类:

类名 说明
TiLED LED灯类

TiLED的创建、绑定与使用

TiLED实例在创建时需要和具体总线设备绑定,具体绑定类型与其工作方式以及通讯协议有关,本实例绑定的设备总线类为 tijos.framework.devicecenter.TiGPIO;设备总线的使用请参考:tijos.framework.devicecenter。

构造器如下:

构造器 说明
TiLED(TiGPIO gpio, int signalPinID) 创建实例,默认为低电平点亮
TiLED(TiGPIO gpio, int signalPinID, boolean highLevel) 创建实例,点亮电平可配置

主要方法如下:

方法 说明
void turnOn() 点亮LED灯
void turnOff() 关闭LED灯
boolean isTurnedOn() 获取当前LE灯D状态(开/关)
void turnOver() 对当前LED灯开关状态取相反状态

TiLED中主要方法的使用如下:

//创建TiLED对象
TiLED red = new TiLED(gpio0, gpioPin0,false);
//点亮LED灯
red.turnOn();
//关闭LED灯
red.turnOff();

TiLED类中他方法的使用请参考TiLED灯控制例程。

TiRGBLED

TiJOS提供控制RGBLED三基色灯的类。

TiJOS RGBLED包括如下类:

类名 说明
TiRGBLED TiRGBLED三基色灯类

TiRGBLED的创建、绑定与使用

TiRGBLED实例在创建时需要和具体总线设备绑定,具体绑定类型与其工作方式以及通讯协议有关,本实例绑定的设备总线类为 tijos.framework.devicecenter.TiPWM;设备总线的使用请参考:tijos.framework.devicecenter。

构造器如下:

构造器 说明
TiRGBLED(TiPWM pwm, int redChannelID, int greenChannelID, int blueChannelID) 创建实例,默认为低电平点亮
TiRGBLED(TiPWM pwm, int redChannelID, int greenChannelID, int blueChannelID, boolean highLevel) 创建实例,点亮电平可配置

主要方法如下:

方法 说明
void setPeriod(int period) 设置PWM频率(默认为1Khz)
int getPeriod() 获取PWM频率
void setRedBrightness(int level) 设置红色灯的亮度等级(支持等级:0~255)
void setGreenBrightness(int level) 设置绿色灯的亮度等级(支持等级:0~255)
void setBlueBrightness(int level) 设置蓝色灯的亮度等级(支持等级:0~255)
void updateBrightness() 将设置好的三基色灯的亮度登记更新到PWM并输出
int getRedBrightness() 获取红色灯的当前亮度等级(其余绿色和蓝色均有相应方法)

TiRGBLED类中主要方法的使用如下:

//创建TiRGBLED对象,传入需要使用的pwm对象并绑定相应的通道
TiRGBLED rgbled = new TiRGBLED(pwm0, CH0,CH1,CH2,false);
//设置PWM周期为1000hz
rgbled.setPeriod(1000);
//随机选取三个亮度等级
r = 35;
g = 87;
b = 128;
//设置相应颜色的亮等级
rgbled.setRedBrightness(r);
rgbled.setGreenBrightness(g);
rgbled.setBlueBrightness(b);
//将设置好的亮度等级更新到硬件中
rgbled.updateBrightness();

TiRGBLE类中他方法的使用请参考TiRGBLED灯控制例程。

TiOLED_UG2864

TiJOS提供操作TiOLED_UG2864屏幕的类。

TiJOS OLED_UG2864包括如下类:

类名 说明
TiOLED_UG2864 OLED12864屏幕类

TiOLED_UG2864的创建、绑定与使用

TiOLED_UG2864实例在创建时需要和具体总线设备绑定,具体绑定类型与其工作方式以及通讯协议有关,本实例绑定的设备总线类为 tijos.framework.devicecenter.TiI2C;设备总线的使用请参考:tijos.framework.devicecenter。

构造器如下:

构造器 说明
TiOLED_UG2864(TiI2CMaster i2c, int address) 创建实例,设备地址根据实际设定

主要方法如下:

方法 说明
void turnOn() 点亮屏幕
void turnOff() 关闭屏幕
void clear() 清除当前屏幕显示的所有信息
void print(int lineId, int columnId, String text) 在指定行列坐标处开始显示字符(可显示的最大数据量为一个满屏幕的数据量,即:4*16个字符,多余字符将无法显示)
void setPosition(int lineId, int columnId) 设置指定的行坐标和列坐标(支持0~3行,0~15列)
void output(String text) 在指定坐标(由setPosition方法设置)处开始显示字符(当字符超出屏幕末端时,回滚从0行0列开始覆盖显示)

TiOLED_UG2864类中主要方法的使用如下(单屏显示):

//创建对象并传入默认设备地址0x78
TiOLED_UG2864 oled = new TiOLED_UG2864(i2c0, 0x78);
String s = "Welcome to the TiKit world !";
/*给屏幕上电*/
oled.turnOn();
/*清屏*/
oled.clear();
/*从第0行0列开始打印字符串*/
oled.print(0, 0, s);

支持回滚的显示方法:

//创建对象并传入默认设备地址0x78
TiOLED_UG2864 oled = new TiOLED_UG2864(i2c0, 0x78);
String s = "Welcome to the TiKit world !";
/*给屏幕上电*/
oled.turnOn();
/*清屏*/
oled.clear();
/*设置行起始坐标和列起始坐标,第1行第2列*/
oled.setPosition(1, 2);
/*在已经设置好的指定位置显示字符串(第1行第2列)*/
oled.output(s);

TiOLED_UG286类中他方法的使用请参TiOLED_UG2864屏幕控制例程。