移动LED显示软件



我正在设计一个应用程序,用户可以在其中输入类似("我喜欢被愚弄")的文本。然后,该文本将显示在类似窗口的电子LED显示屏上。它显然会移动。为此,我必须进行

  1. 设计一个具有16(行)*64(列)LED的窗口。视觉上。但是怎么做呢
  2. 我将制作一个文本文件,其中将包含数据,如(f00f-ofo-foo-3051(假设为i,十六进制值)、2340foof-ooo-fofo(假设为l)和…..)
  3. 然后我必须随着时间的推移把它们从左边移到像现实世界中的LED显示器一样写。但是怎么做呢

我更喜欢使用winform

请注意,你的任何想法对我来说都很好。

谢谢,A.Rahim

实现这一点的方法是为字母表中的每个字符创建一个6 x 5的数组,如:

int[][] letterA = { { 0, 0, 1, 1, 0, 0 },
                    { 0, 1, 0, 0, 1, 0 },
                    { 1, 1, 0, 0, 1, 1 },
                    { 1, 1, 1, 1, 1, 1 },
                    { 1, 1, 1, 1, 1, 1 },
                    { 1, 1, 0, 0, 1, 1 },
                    { 1, 1, 0, 0, 1, 1 }};

然后,您可以合并所需的字母,以构建键入的单词。

因此,每一行都会随着需要打开的LED而变长。

这就是应用程序的商业逻辑。

您现在想要创建一个finitie LED灯集,比如说60 x 10,并从最右边开始,如果当前阵列值为1,则显示圆圈黄色或黑色。

希望能有所帮助。

编辑:在表格上用程序渲染圆圈。

你可以创建一个定时器,然后删除面板中的所有控件,然后你可以做:

//word is the merged array of letters like the one above
foreach(int[] line in word)
{
    //currentShiftIndex is the shift amount to render control from left to right
    int currentShiftIndex = 1;
    foreach(int i in line)
    {
        //set up a control called 'light' for example [im not including that]
        light.Left = currentShiftIndex * 10;
        light.Background = i == 1 ? "Yellow" : "Black"
    }
}

这纯粹是一个渲染一行的例子。忽略任何错误的语法。我只是举一个例子说明这个过程。

我希望这能有所帮助。

相关内容

最新更新