电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>CyBalls(圣诞摆设)开源硬件

CyBalls(圣诞摆设)开源硬件

2022-12-22 | zip | 0.10 MB | 次下载 | 免费

资料介绍

描述

介绍

这个 CyBalls 项目的动机是我们公司的年度活动,邀请员工的孩子到我们的办公室做一些适合年龄的手工艺品,而我总是为 10 岁以上的孩子提供焊接课程。过去,我们确实焊接了从电子商店购买的基本电子套件,例如闪烁的 LED,例如圣诞树 PCB 等。

随着我们的孩子明显变大,并且大多数人在过去几年已经积累了一些焊接经验,这次我喜欢做一些更令人兴奋的运动,更复杂的项目,最后但并非最不重要的事情,这让我们能够可能在未来的一些儿童活动中进入软件编程方向。

pYYBAGOhLUWABxlZAAETa_tO4zg250.jpg
“CyBalls”项目 - 360° iIlluminated RGB 塑料球
 

“CyBalls”项目

透明(首选蛋白石)塑料球一般在工艺品店都能买到。这个想法是将六个 LED 放入内部以进行 360° 照明。使用微控制器可以实现一些效果,例如褪色或颜色变化和旋转。

力学

最关键的问题是找出如何在透明塑料球的中心实现 RGB 照明。最后,我决定 3D 打印一个与 WS2812B LED 条纹尺寸完全匹配的立方体 (60LEDs/m),即 1.67cm x 1.67cm x 1.67cm。由于该结构的重量仍然很轻,我在里面放了一个金属球 (d=15mm),这样末端的 LED 立方体或多或少居中。

poYBAGOhLUiAO1e8AAD6t3ud8Fk073.jpg
CyBall 立方体的构造和组装
 

请注意,两个 LED 灯条都需要进行电气连接。必须将一根隔离线从第一个条纹的 Dout 焊接到第二个条纹的 Din>。此外,GND 和两个 +5V 焊盘也必须通过电线连接。注意不要将 GND 和 +5V 短路!

最后把LED立方体放入透明的,首选蛋白石,塑料球。

poYBAGOhXZWANJ7DAAC3g_2EjVs024.jpg
成品球(尚未点亮)
 

正如已经提到的电子设备,尤其是当前的软件,最多可以驱动八个球。继续……现在做更多的球!

电子产品

赛普拉斯CY8CKIT-142 PSoC 4 BLE 模块是该项目的核心。PSoC 提供了很多片上外设,适合这个项目:

  • 用于驱动 WS2812 Neopixel LED 的 GPIO 和 UDB(通用数字模块)
  • 低功耗蓝牙 (BLE),例如通过智能手机进行远程控制
  • 计时器,例如生成颜色序列
  • ADC、CapSense、PWM 等未使用(尚未)

因此,该项目的框图看起来很简单

pYYBAGOhXZqAXn_JAACzO1MSlS4043.jpg
CyBalls 框图
 

这也使完整的设置变得简单明了:

pYYBAGOhXZ6ACakAAAFzcmrmftk803.jpg
概述硬件设置
 

您可以轻松地将电源和 3 线连接手动连接到每个球。

由于该项目打算在儿童活动期间运行,因此我开发了一些简单的 PCB,但这对项目来说不是强制性的,但可以为孩子们提供更多的焊接体验。仅供参考,在这里找到 PCB:

poYBAGOhXaeAE_8HAAF35ZSwNk4912.jpg
可选:'CyBalls' PCB - 很高兴拥有但不是必须的
 

不要混淆,项目不使用按钮(重置、用户),但可能 PCB 将用于其他项目。

软件

与赛普拉斯 PSoC4 微控制器一样,该软件是使用 PSoC Creator 开发的。抱歉,我会/不能在这里提供完整的课程。因此,如果您有专门的问题,尤其是当您不熟悉 Cypress IDE 时,请随时与我联系。

附上完整的项目,详细信息在下面的“开发人员和专家”部分中提供

运行与测试

仅硬件

根据所选输出(P3.0 至 P3.7)对 CY8CKIT-142(例如使用 CY8CKIT-042-BLE 基板,或单独的赛普拉斯 KitProg 或 MiniProg 编程器)进行编程后,光立方将显示不同的颜色和/或效果。注意:在将灯球连接到另一个输出之前,请关闭电源(拔下 USB 数据线)!

智能手机应用程序

不幸的是,目前还没有专门的智能手机应用程序可用。您愿意开发一个吗?

在这两者之间,Cypress 的应用程序“CySmart”(Android、Apple)也可用于控制 CyBall。

启动时,从可见的 BLE 设备列表中选择 CyBalls,然后会显示可用的服务。RGB 服务允许静态更改所有连接的 CyBall 的颜色。亮度也可以改变。

pYYBAGOivFWATiuuAAFvQPXSbz8688.jpg
赛普拉斯 CySmart 应用程序可直接控制 CyBalls
 

CySmart 可以选择哪个输出在所有输出通道上可见,而不是将灯球连接到专用输出(如前所述):

选择“未知服务”,确认提示,然后再次选择“未知服务”。

pYYBAGOivFmAGrMwAAEhWURDWmI659.jpg
通过 Cypress CySmart App 直接写入 BLE 特性
 

使用 UUID [0003CBB8-0000-1000-8000-00805F9B0131] 输入从“1”到“8”的十六进制值,将向所有硬件输出输出专用配色方案。例如,通常在输出#3 可见的输出配色方案可以路由到所有八个输出。

输入“0”将禁用此功能,并且原始配色方案在每个专用硬件输出上可见。

poYBAGOivGKAZ41mAAFKv6_qBnQ292.jpg
赛普拉斯 CySmart 应用程序更改开关所有输出(此处为通道 3)
 

享受具有给定颜色照明效果的 CyBalls。

如果您想编写自己的轻型程序,请继续阅读...(同样,您可能需要对赛普拉斯 PSoC4 和 PSoC Creator 有一些基本了解。如果您还不知道此类器件,请查看www.cypress 上的培训材料。 COM第一。)

对于开发人员和专家

希望您了解 PSoC4 和 PSoC Creator 的基础知识,这里将仅提及主要主题,引导您修改项目,主要着重于更改每个 CyBall 的照明程序。

启动 PSoC Creator 4.2 或更新版本并打开工作区 CyBalls.cywrk。

包括两个项目和一个库:

  • BLE_OTA_FixedStack_Bootloadable 这是主要的 CyBalls 应用程序。您可以在此处找到 CyBall0/1/2/3/4/5/6/7.c 文件。每个都描述了一个状态机,您可以在其中修改和添加新状态,如下所述。
pYYBAGOivG6Afj2CAANj3D2kngM683.jpg
用户应用程序位于“Bootloadable”项目中
 
  • BLE_OTA_FixedStack_Bootloader这个项目允许通过蓝牙更新你的固件。请参阅下面的“通过 BLE OTA(无线)更新固件”部分。如果您想更改 BLE 设置,例如更改 BLE 设备,则只需触摸此项目。
poYBAGOivHaAUaxzAAQh5NFnPH0242.jpg
集成 BLE Bootloader 项目允许 OTA 更新
 

有关所用引导加载程序的详细信息,请参阅赛普拉斯的应用说明 BLE_OTA_FixedStack_Bootloadable.pdf 和A​​N97060

  • WS281xLib.cylib 感谢 Marc,这个很棒的 PSoC4 和 PSoC5 库可以在页面底部找到https://www.ihastings.com/ws2812-leds/ 它使得通过 PSoC 微控制器驱动智能 WS2812/Neopixel 变得非常容易。您不必触摸图书馆。它按原样完美运行。

BLE_OTA_FixedStack_Bootloadable / CyBalls#.c

在 CyBalls#.ca 状态机中运行所需的照明,并且需要一些特殊的函数和变量来定义您自己的流程:

  • SetCubeTargetColor (BALL, 0xFF, 0x00, 0x00);定义要在整个立方体上显示的下一个颜色(R,G,B)。给定的示例将变为红色。
  • SetCubeTargetColor3 (BALL, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF);定义立方体每 2 个面(0/5、1/2 和 3/4)要显示的下一个颜色。给定的示例将在 0/5 侧显示红色,在 1/2 侧显示绿色,在 3/4 侧显示蓝色。
  • u8LedMode [BALL] = Mode_Col2Col6Init ;新模式Mode_Col2Col6Init将启动将颜色更改为给定值(参见上面的SetCubeTargetColor/SetCubeTargetColor6
  • u8LedMode [BALL] = Mode_DiscoRotateInit ;新模式Mode_DiscoRotateInit会将颜色从一侧交换/转换到另一侧
  • i32LedDiscoLoop [BALL] = 30;该值定义了由Mode_DiscoRotateInit 启动的侧转换数。此外,标志定义了方向。
  • i32LedTimeChange [BALL] = LEDTIME(3000);由Mode_Col2Col6Init模式使用,它以毫秒为单位定义了达到新目标的时间。给定的示例将在 3000 毫秒内将颜色更改为新目标。由Mode_DiscoRotateInit模式使用,它定义以毫秒为单位的时间将颜色变为下一面。给定的示例将在 3000 毫秒内交换侧面颜色。完成时间取决于i32LedDiscoLoop。总时间 [ms] = i32LedDiscoLoop X i32LedTimeChange。
  • HOLD (1000);如果你想冻结当前的光照站,只需要定义时间,单位ms。
  • WAITMODE该模式等待直到上一个给定的命令/模式完成。

通过 KitProg/MiniProg 更新固件

构建“BLE_OTA_FixedStack_Bootloadable”后,使用赛普拉斯 KitProg 或 MiniProg 编程器对 CY8CKIT-142 进行编程。或者,可以通过蓝牙 LE 更新固件(见下文)。

通过 BLE OTA(无线)更新固件

“BLE_OTA_FixedStack_Bootloadable”已经包含“BLE_OTA_FixedStack_Bootloader”(参见赛普拉斯的应用笔记 BLE_OTA_FixedStack_Bootloadable.pdf 和A​​N97060 )。这意味着 - 如果项目已由 KitProg/MiniProg 编程,则可以使用BLE 加密狗完成新更新

为了启动引导加载程序,必须再次使用 CySmart 应用程序,但这次必须将值 0x99(而不是 0 到 8)写入上述特征 UUID [0003CBB8-0000-1000-8000-00805F9B0131]。

poYBAGOivHmAbitdAAFLzyfsOeI574.jpg
输入 0x99 启动引导加载程序
 

所有 LED 将变为蓝色,表明引导加载程序已启动。断开 BLE 并退出手机上的 CySmart 应用程序。

将 BLE 加密狗输入您的 PC,然后在您的 PC 上启动 CySmart 应用程序。

单击 [ 开始扫描 ] 搜索 CyBalls 设备。

poYBAGOivHuALY_pAAGs3l8frRc929.jpg
使用 PC 的 CySmart 应用程序并开始扫描
 

[ 停止扫描 ] 并单击 CyBalls 设备以将其选中。

点击【更新固件】

pYYBAGOivH6AVu-6AAGIVRwpqUU319.jpg
OTA 固件更新
 

选择新固件映像 (*.cyacd),它位于您的项目文件夹 BLE_OTA_FixedStack_Bootloadable.cydsn\CortexM0\ARM_GCC_541\Debug\BLE_OTA_FixedStack_Bootloadable 中。氰酸

poYBAGOivICANUnjAABAof3bfCk437.jpg
选择 cyacd 固件镜像
 

然后单击 [ 更新 ] 按钮。

pYYBAGOivIOAOW5jAABOdh_IWsI214.jpg
固件更新过程
 

观察绿色进度条。

pYYBAGOivIaAavjyAABAWtxqiV4977.jpg
固件更新成功
 

新的应用程序映像将自动启动。享受!

好吧,我知道这是对赛普拉斯 OTA 固件更新的非常粗略的介绍。通常这应该像这里描述的那样直接工作。如果您遇到麻烦或想了解详细信息,请查看上面提到的赛普拉斯网站上提到的应用说明。

结束

好吧-就是这样!

当然,圣诞节已经过去了,但CyBalls灯饰肯定也可以用于您的下一次派对……只需修改不同场合的灯效程序即可。

自己复制并享受!

问候,霍尔格

poYBAGOivJmAFQcuAAVxfyyr8B0036.jpg
2019 年圣诞节,树上有八个 CyBall
 

 


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费