亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

使用 Raspberry Pi 和 Arduino 的网络控制 LED 动画

组件和用品

Raspberry Pi 3 B 型
× 1
Arduino UNO
也可以使用Arduino Nano。可能需要Arduino Mega来驱动更多的LED像素。
× 1
NeoPixel strip
可以使用任何 WS8212 LED 灯条。
× 1

应用和在线服务

Arduino IDE

关于这个项目

项目概况

Arduino Light Animation (ALA) 是一个 Arduino 库,用于以最少的工作量控制 LED 和运行彩色动画。该库提供了 30 多个预定义动画和多个调色板。有关 ALA 图书馆的更多信息,您可以访问我的博客。

该项目介绍了一个 Raspberry Pi 3 板,它将提供一个网页,允许使用网络浏览器从智能手机或 PC 控制动画、颜色和速度。这是 AlaWeb 运行的简短视频。

此项目所需的组件很少。

  • WS8212 RGB LED 灯条 :此灯条包含多个 RGB LED,可以使用单线接口单独寻址,让您可以完全控制每个 RGB LED 的颜色。
  • 阿杜诺 :著名的微控制器板将运行我的 ALA 库来驱动 LED 灯条,通过 USB 串行端口接收来自 Raspberry PI 的命令。您可以使用 Arduino Uno、Nano 和 Mega 板。
  • 树莓派 :这台小型电脑将提供网页来控制灯光和动画的参数。

如果您熟悉 Arduino 和 Rapberry PI 板,则该项目非常简单。我将项目分为两个步骤,以指导您完成设置过程。

接线

WS8213 LED 灯条非常容易连接。您只需要足够的功率来驱动所有这些 LED。对于非常短的灯带(不超过 10 个 LED),您甚至可以直接从 USB 端口为它们供电,但对于较长的灯带,您必须提供良好的电源。作为起点,我建议使用 Arduino 5V 引脚为 LED 灯条供电,如您在上面的视频中所见。

  • Arduino GND 引脚到 WS2812 GND
  • Arduino 5V 引脚至 WS2812 5V
  • Arduino 引脚 6 到 WS2812 Ctrl/Din 引脚

如果要驱动更多像素,则必须提供更多功率。计算很容易。每个 RGB LED 在全亮白色时消耗 60mA 电流。例如,要以 60 个 LED/米驱动 2 m 长的灯带,您需要一个 5V 电源,提供 2m * 60pixel/m * 60mA =7,2 A。

像这样连接电源、Arduino 板和 WS8212 条。

  • 电源 GND 到 Arduino GND 和 WS2812 GND
  • 为 Arduino 5V 引脚和 WS2812 5V 供电 5V
  • Arduino 引脚 6 到 WS2812 CTRL 引脚

请注意,为 Arduino 5V 引脚供电是为 Arduino 供电,因此您无需将其连接到桶形连接器上的第二个电源。使用此连接方案时要非常小心,因为 5V 引脚绕过稳压器和保护。有关更多详细信息,您可以阅读本指南。

有关 WS8212 LED 灯条接线方案的更多详细信息,请阅读本指南。

Arduino 设置

将 Arduino 板连接到 PC 的 USB 端口。打开 Arduino IDE 并启动库管理器(Sketch> Include Library> Manage Libraries)以安装最新的 ALA 库 .

打开 RgbStripSerial 示例(文件> 示例> ALA> RgbStripSerial)并验证 NUM_PIXELS 常量定义与 RGB 灯条中的 LED 数量相匹配。请记住,如果您要驱动超过 10 个像素,则必须使用改进的连接方案。

您现在可以按 Ctrl+U 将草图上传到您的电路板 从 Arduino IDE 或选择上传 Sketch 菜单中的操作。如果您在上传草图时遇到问题,请在“工具”菜单中检查板类型和端口。

打开 Arduino 串行监视器(工具> 串行监视器),您将看到这样的欢迎消息。

设置右下角的“换行”行并确保波特率设置为 9600。

现在尝试以下没有空格的命令(粗体):

  • A=101 - 打开 LED
  • A=251 - 运行“larson 扫描仪”动画
  • P=2 - 设置彩虹调色板
  • A=242 - 另一个动画

很酷吧?

您可以按照这个简短的参考来试验不同的命令和组合:

  • A=[动画代码] - 设置动画。 AlaLed.h 头文件中列出了可用的动画代码。
  • B=[亮度] - 设置亮度。它必须在 [0-100] 范围内。
  • D=[持续时间] - 以毫秒为单位设置动画周期的持续时间。标准值介于 500 和 5000 之间。
  • C=[颜色] - 设置颜色。它必须是像 E8A240 这样的十六进制 RGB 表示。
  • P=[调色板] - 设置调色板。它必须在 [0-5] 范围内。

现在让我们通过智能手机控制动画。

树莓派设置

在项目的这一部分中,我们将设置 Rapberry Pi 板来运行一个小型网络服务器,以从网络浏览器控制 LED 灯条。请注意,相同的应用程序可以在任何安装了 Python 3 的 PC 上运行。

先决条件是您的 Raspberry PI 已经配置并运行最新的 Raspbian 操作系统(我已经使用 Stretch 对其进行了测试)并已连接到互联网。

我们首先需要使用以下命令为 Python 3 安装几个库:

sudo pip3 安装pyserial Flask 

为您的项目创建一个主目录:

mkdir /home/pi/AlaWebcd /home/pi/AlaWeb 

将 AlaWeb git 仓库下载到 LightStrip 目录下并解压。

wget https://github.com/bportaluri/AlaWeb/archive/master.zipunzip master.zip 

现在所有软件都已准备就绪并进行设置。将 Arduino USB 端口连接到 Raspberry PI。您刚刚下载的 AlaWeb 应用程序将通过 USB 串行连接与 Arduino 板通信。

cd AlaWeb-mastersudo python3 AlaWeb.py 

AlaWeb 应用程序将列出所有 USB 串口并尝试自动检测 Arduino。如果它一直循环,中断执行并尝试按如下方式传递端口名称(根据需要替换端口 id):

 sudo python3 AlaWeb.py /dev/ttyACM0 

如果一切正常,您应该会看到类似这样的内容。

打开 Web 浏览器并连接到显示的 URL。您将看到一个充满按钮的网页,允许您从网络浏览器控制 LED 灯条。

享受!

代码

AlaWeb
AlaWeb 是用 Python 和 Flask 编写的 tini Web 服务器,用于从 Web 浏览器控制动画。https://github.com/bportaluri/AlaWeb
ALA
Arduino Light Animation (ALA) 是一个用于 Arduino 板的库,用于使用 LED 和 LED 灯条简化灯光动画的开发。访问此页面了解更多详细信息:http://yaab-arduino.blogspot.it/p/ala.htmlhttps: //github.com/bportaluri/ALA

示意图


制造工艺

  1. 用三星 SAMIIO、Arduino UNO 和 Raspberry Pi 在几分钟内制作一个火灾探测器
  2. 带有 Raspberry Pi 和湿度传感器的 Aeroponics
  3. 使用 Raspberry Pi 和 Python 构建机器人
  4. 使用 Arduino 和 Raspberry Pi 构建您的 Internet 控制的视频流机器人
  5. 带视频的树莓派网络控制机器人
  6. 带有 Arduino 的用于飞行模拟器的 LCD 面板
  7. 用于 FS2020 的带有 Arduino 的开关/LED 面板
  8. Arduino 带蓝牙控制 LED!
  9. Arduino Quadruped
  10. 使用 Arduino 和 MPU6050 控制伺服电机
  11. 使用 Bolt 和 Arduino 控制 LED 亮度
  12. u-blox LEA-6H 02 GPS 模块,带有 Arduino 和 Python