npm 包 pixelnode-driver 使用教程

阅读时长 4 分钟读完

PixelNode 是一个基于 Raspberry Pi 和 LED 灯带搭建的硬件实现平台,用于开发新奇有趣的光电互动艺术项目,其像素点串口通信采用 SPI / GPIO 方案。

在这篇文章中,我们将介绍 npm 包 pixelnode-driver 的使用教程,这个包提供了一个帮助你轻松控制 PixelNode 特性的 JavaScript API。

安装

要安装 pixelnode-driver,你首先需要创建一个新的 Node.js 的项目。打开命令行终端,输入以下命令,创建一个名为 my-pixelnode 的项目:

在项目根目录下,运行以下命令安装 pixelnode-driver:

使用

pixelnode-driver 提供了一些简单易用的 API 来控制 PixelNode 的操作。你首先需要导入这个包:

然后,你可以用以下代码创建一个新的 PixelNode 实例:

PixelNode 构造函数接收一个包含以下属性的选项对象:

  • color_order: 它可以是 PixelNode.RGB、PixelNode.GRB 或 PixelNode.BRG(表示像素的 RGB 颜色序列)。默认为 PixelNode.RGB。
  • leds: 要控制的 LED 灯的数量。默认为 0。
  • type: 灯带的型号。应该是 PixelNode.TYPE_WS2812B 或 PixelNode.TYPE_APA102。默认为 PixelNode.TYPE_WS2812B。
  • gamma: RGB 颜色空间的 gamma 矫正值。默认为 2.8。
  • fps: 指定每秒钟更新像素的速率。默认为 60。

另外,还有两个可选参数,用于 SPI 线的设置:

  • spi_device: SPI 设备的路径。例如, /dev/spidev0.0,默认为 /dev/spidev0.0;
  • spi_speed_hz: SPI 速度,以 Hz 为单位。默认为 8000000。

创建 PixelNode 实例后,你可以使用 setPixel() 方法设置每个像素的颜色,使用 update() 方法来更新所有像素的颜色:

-- -------------------- ---- -------
--- ---- - - -- - - ------------------------ ---- -
  --------------------- -
    -- ----
    -- --
    -- -
  ---
-

-------------------

setPixel() 方法的第一个参数是像素编号,第二个参数是包含 r、g 和 b 的对象,表示对应像素的颜色值。这些值应该在 0 到 255 之间。

注意,setPixel() 方法是零基索引的,所以第一个像素的索引是 0。

示例

这里有一个简单的示例,它显示了一些闪烁的红色和黄色的 LED。它会不停地闪烁直到你按下 Ctrl + C

-- -------------------- ---- -------
----- --------- - ----------------------------

----- --------- - --- -----------
  ------------ --------------
  ----- --
  ----- ----------------------
---

-------- ------- -
  --- ---- - ------
  -------------- -- -
    --- ---- - - -- - - ------------------------ ---- -
      --------------------- -
        -- ---- - --- - --
        -- ---- - --- - --
        -- -
      ---
      -- -- - - --- -- -
        --------------------- -
          -- ---- - --- - --
          -- ---- - --- - --
          -- ---- - --- - -
        ---
      -
    -
    -------------------
    ---- - ------
  -- -----
-

--------

总结

在这篇文章中,我们介绍了如何使用 pixelnode-driver 这个 npm 包来控制 PixelNode 灯带。我们讲解了包的 API 和用法,并提供了一个简单的示例来演示其使用方法。PixelNode 是一个非常有趣的硬件项目,它可以用于创造出新奇别致、富有创意的光电互动艺术作品,希望这篇文章对大家有所帮助。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/80181

纠错
反馈