黑莓开发新手入门教学帖,如何制作一个能控制LED颜色的程序(五)

2024-04-03 02:08

本文主要是介绍黑莓开发新手入门教学帖,如何制作一个能控制LED颜色的程序(五),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

很久没来更新了,最近老板一来,实在有些忙活,没时间写这个第五篇,今天抽空小小的写一下。

这一课里,主要讲如何实现最后一个DISCO闪LED的功能,简单的讲是随机取值,然后再LED变化。其实会了第四课的内容,这一课应该可以自己做出来了。我做这个功能的时候没有仔细看LED的API,没有看到setColorPattern(int[] pattern, boolean repeat),而仍然用了setColorConfiguration(int onTime, int offTime, int color)的方法,当然需要借用一个计时器Timer.

 

 

class TimerMainEvent extends TimerTask {
    public TimerMainEvent() {
    }

    public void run() {
        if(globel.isrun) {
        if(LED.isPolychromatic()){
                            if (globel.israndom == true) {
                                String tmp = "";
                                int tmpa;
                                Random rndColor = new Random();
                               for (int i=0;i<6;i++)
                              {
                                tmpa = rndColor.nextInt(16);
                                if (tmpa == 10) tmp = tmp + "A";
                                else if (tmpa == 11) tmp = tmp + "B";
                                else if (tmpa == 12) tmp = tmp + "C";
                                else if (tmpa == 13) tmp = tmp + "D";
                                else if (tmpa == 14) tmp = tmp + "E";
                                else if (tmpa == 15) tmp = tmp + "F";
                                else tmp = tmp + tmpa;
                               }
                                LED.setColorConfiguration(150, 150, Integer.parseInt(tmp,16));
                            }
                            else {
                                String tmp2 = "";
                                int tmpa2 = 0;
                                Random rndColor2 = new Random();
                                tmpa2 = rndColor2.nextInt(9);
                                switch (tmpa2) {
                                    case 1: tmp2 = "FF0000";break;
                                    case 2: tmp2 = "FF6100";break;
                                    case 3: tmp2 = "FFFF00";break;
                                    case 4: tmp2 = "00FF00";break;
                                    case 5: tmp2 = "FFFF00";break;
                                    case 6: tmp2 = "0000FF";break;
                                    case 7: tmp2 = "A020F0";break;
                                    case 8: tmp2 = "FFFFFF";break;
                                    default: tmp2 = "FFFFFF";break;
                                }
                                   LED.setColorConfiguration(150, 150, Integer.parseInt(tmp2,16));
                            }
                        }
    }
}
}

代码中上面一部分是随机从000000-FFFFFF从抽取颜色,前面也讲过了,这样的效果不是太好,BB的LED大多时间下会显示接近白色的颜色。

下面一部分则是从红橙黄绿青蓝紫白中随机抽取颜色显示。这样整个LED player的功能都完成了,这一讲没有图片就略了。

下次将说说额外的东西,比如About菜单。

这篇关于黑莓开发新手入门教学帖,如何制作一个能控制LED颜色的程序(五)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/871653

相关文章

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

PyQt5 GUI 开发的基础知识

《PyQt5GUI开发的基础知识》Qt是一个跨平台的C++图形用户界面开发框架,支持GUI和非GUI程序开发,本文介绍了使用PyQt5进行界面开发的基础知识,包括创建简单窗口、常用控件、窗口属性设... 目录简介第一个PyQt程序最常用的三个功能模块控件QPushButton(按钮)控件QLable(纯文本

基于Python开发一个图像水印批量添加工具

《基于Python开发一个图像水印批量添加工具》在当今数字化内容爆炸式增长的时代,图像版权保护已成为创作者和企业的核心需求,本方案将详细介绍一个基于PythonPIL库的工业级图像水印解决方案,有需要... 目录一、系统架构设计1.1 整体处理流程1.2 类结构设计(扩展版本)二、核心算法深入解析2.1 自

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

浅析Spring如何控制Bean的加载顺序

《浅析Spring如何控制Bean的加载顺序》在大多数情况下,我们不需要手动控制Bean的加载顺序,因为Spring的IoC容器足够智能,但在某些特殊场景下,这种隐式的依赖关系可能不存在,下面我们就来... 目录核心原则:依赖驱动加载手动控制 Bean 加载顺序的方法方法 1:使用@DependsOn(最直

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

在Linux中改变echo输出颜色的实现方法

《在Linux中改变echo输出颜色的实现方法》在Linux系统的命令行环境下,为了使输出信息更加清晰、突出,便于用户快速识别和区分不同类型的信息,常常需要改变echo命令的输出颜色,所以本文给大家介... 目python录在linux中改变echo输出颜色的方法技术背景实现步骤使用ANSI转义码使用tpu

springboot项目打jar制作成镜像并指定配置文件位置方式

《springboot项目打jar制作成镜像并指定配置文件位置方式》:本文主要介绍springboot项目打jar制作成镜像并指定配置文件位置方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录一、上传jar到服务器二、编写dockerfile三、新建对应配置文件所存放的数据卷目录四、将配置文

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加

Spring如何使用注解@DependsOn控制Bean加载顺序

《Spring如何使用注解@DependsOn控制Bean加载顺序》:本文主要介绍Spring如何使用注解@DependsOn控制Bean加载顺序,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录1.javascript 前言2. 代码实现总结1. 前言默认情况下,Spring加载Bean的顺