当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]该项目是由物理计算实验室课程与雕塑课程共同合作完成的。每名 PCL 课程的学生与一名雕塑课程的学生结成搭档。我们被赋予了一个主题——“培育光线”,并且必须在项目中展现这一主题的抽象或具体概念。

该项目是由物理计算实验室课程与雕塑课程共同合作完成的。每名 PCL 课程的学生与一名雕塑课程的学生结成搭档。我们被赋予了一个主题——“培育光线”,并且必须在项目中展现这一主题的抽象或具体概念。

我们的想法

对于我们的项目,我们采用了更为抽象的构思。我们想要探讨一个在当今社会中在同龄人中非常普遍的话题:社交媒体。我们希望找到一种方式来展示社交媒体对个人自尊和“内在光芒”所产生的影响。

正是由此,我们才有了这样一个项目的构想:该项目会追踪股票价格,然后根据其涨跌情况做出相应调整,以展示社交媒体的影响。

如果股票价格上涨,这将揭示出社交媒体背后存在的负面自我认知现象,从而表明社交媒体会让人对自己产生消极的看法。

如果股票下跌,那么帷幕就会缓缓落下,将社交媒体笼罩在负面的言论之中。这时你就得照照镜子,专注于自身以及自己所拥有的所有积极方面,而不能将其与他人进行比较。

这个想法是想展示社交媒体的有无会对你的自我形象和自尊心产生怎样的影响。

创造

第 1 步:API

在本项目中,找到并使用 API 是较为简单的一部分。我使用了“API 小子”股票价格 API。我选择追踪的股票是 META,因为 meta 拥有 Instagram 这家大型社交媒体公司。通过使用 Particles 自定义集成,我创建了一个 Webhook 来仅获取股票价格。我遇到的第一个问题是更新 API。我想要每分钟更新一次 API,我以为使用 delay() 函数会很简单。然而,delay() 函数给我带来了许多错误,并且会干扰数据的比较。我只好使用 millis() 和一些简单的逻辑来每 60 秒获取一次数据。

第 2 步:数据对比

既然我已经成功地让我的代码能够从 API 中正确获取数据,那么接下来就需要对这些数据进行比较了。

通过使用“股票价格”和“前一价格”这两个变量,我能够将当前的股票价格与之前的股票价格进行比较。上述代码的逻辑是:查看股票价格是否发生变化,如果变化了,则判断是上涨还是下跌,然后将当前价格重置为之前的价格。接着获取一个新的股票价格,然后项目流程重新开始!这是我整个项目中相对较为简单的部分之一。

第 3 步:物理组件

现在我需要将 LED 灯带和步进电机与我的代码进行整合,使其能够做出相应的反应。这个初始部分相对简单,我编写了我认为可行的代码,并将组件连接到了面包板上。LED 是该项目中最简单的部分,当股票上涨时,LED 会亮起,而当股票下跌时,LED 会熄灭。

第 4 步:将所有部件焊接在一起

从图纸上看(也就是我的串行监控器)一切运行得都非常正常,所以我将我的粒子和组件焊接到一个原型板上。我对焊接的经验有限,所以这绝对是一次学习的过程。

第 5 步:修复窗帘上的每一个瑕疵

这时,我以为一切都已经完成了,我完成了编程工作,把所有元件都焊接好了,工作过程中也遇到了一些小问题,但都不是什么大问题。然而,我的最大难题现在才开始出现了。

对于我来说,这个项目最大的挑战在于帷幕部分。我原本以为这会是相当简单的一个环节,但结果却成了整个项目中最困难的部分之一;我先解决了一个问题,接着又遇到了另外两个问题需要去解决。

我设计窗帘的构想是:在上面安装一根长杆,通过拉动这根杆,它可以反向旋转(即顺时针或逆时针转动),从而实现卷起或展开窗帘的功能。就这么简单吧?

我遇到的第一个大问题是,窗帘不能连续两次上下移动(如果窗帘已经升起,我不想让它再次升起,反之亦然)。这个小问题很容易解决,我创建了一个布尔变量“curtainLifted”来记录窗帘的状态(是否升起)。

然后我意识到了另一个关键问题,我的粒子无法保存“窗帘升起”的值,每次都会将其重置为“否”,所以如果在上一次运行我的项目时窗帘是升起的,那么下次我启动它时,我的代码会认为窗帘是关闭的,但实际上它是升起的,这就会破坏我的代码。这个问题真的把我难住了,因为步进电机(我用来移动窗帘的部件)无法追踪其位置,所以没有办法重置它。我试图手动重置它,结果却把整个东西都弄坏了。后来我找到了一个解决方案,将布尔值的值推送到一个谷歌表格中以保存该值。

我使用了两个网关函数,即“curtainState”和“getcurtainState”。通过使用“curtainState”网关函数以及谷歌表格中的 Apps Script,我能够将“TRUE”或“FALSE”值输入到谷歌表格的单元格中。

然后,我用同样的方法将谷歌表格中的数据提取出来,作为我代码中的值使用。

现在我有了一个谷歌表格,它能够记录窗帘是否升起这一信息!

就在我以为已经解决了所有问题的时候,又出现了一个新的问题,因为 setup() 和 loop() 是同时运行的,而 tax API 的获取速度比 getCurtainState 更快,所以我的代码会以错误的布尔值(表示窗帘升起)来响应 API。我解决这个问题的办法是创建另一个布尔变量 curtainStateRestored 来跟踪窗帘状态是否已更新,并将所有代码都放在由 curtainStateRestored 控制的 loop() 中。然而,这个 while 循环最终破坏了我的代码,因为状态恢复后,我的代码就无法跳出这个 while 循环,而税值也从未得到更新。所以我没有使用 while 循环,而是使用了一个 if 语句:

如果窗帘状态没有恢复,我就会执行一个回退操作,这将使代码停止运行,并重新启动“if”语句。该回退循环会一直运行,直到状态恢复为止,然后我的代码就能正常运行了。

我的最后一个问题是:如果我的项目从拉起窗帘的动作开始,并且“窗帘拉起”这一状态的值为“真”,那么我的灯光原本是不会亮起来的。解决方法很简单,我只需在调用用于获取窗帘状态的 Webhook 的函数中添加一个 if 语句,并添加一个简单的 if 语句来规定如果窗帘被拉起就开启灯光。

现在我的任务是调整步进电机的步进幅度。这部分并不难,只是需要不断调整其步进幅度,直至达到理想的上下位置。此外,还要调整并裁剪窗帘,以免其被卡住并卷起来不正常。

为了让窗帘能够平稳地卷起来,我们只需把窗帘的左侧裁掉一部分,这样就能避免它被电机缠住。

第 6 步:已完成!

现在一切都按照我的预期正常运转了,太棒了!我的灯光和幕布都按照我想要的方式工作着!我们又添加了一块幕布来遮挡硬件部分,这样项目就完成了!

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

尽管我一生都在芝加哥生活,但在成长过程中我对这座城市的实际模样却有着有限的认识。然而,当我进入高中后,我开始了解到芝加哥的全貌。在城市里乘坐公交车和火车成了我日常生活的一部分,虽然这让我能够探索一些我从未去过的地方,但它...

关键字: LED 显示屏 步进电机

在一个一切都为了追求速度的世界里,就连时间也成了我们无需思考就能理解的概念。匆匆一瞥,然后继续前行。但倘若有一个时钟能够让你放慢脚步——慢到足以让你停下来思考呢?

关键字: LED 时钟 树莓派

这个项目源于我在嵌入式设计课程早期时的一个想法。当时我试图思考能否用相对简单的基础组件构建出一些有趣且可行的系统,并由此提出了“低成本虚拟现实”这一概念——即通过一个单一屏幕连接到一个虚拟世界的单个画面,并利用惯性测量单...

关键字: LED 嵌入式 Linux 系统

我的儿子非常喜欢阅读,昨天他在图书展上挑选了四本书。不过他才刚满 10 个月大,所以我想让他对阅读的兴趣能够一直保持下去,所以我决定要为他制作一本既有趣又能让他阅读并从中学习的优秀书籍!

关键字: LED WS2812B 3D 模型

另一个重要的学习要点是理解 Zynq 设备的系统级行为。由于该设计依赖于处理系统来提供时钟,因此必须对处理系统进行初始化,以便可编程逻辑能够正常运行。

关键字: LED FPGA AUP-ZU3

Keensight 旗下 Lummitry 平台上线 AI 智能测肤能力,全面提升咨询精准度、服务效率与求美者消费信心 上海2026年5月12日 /美通社/ -- 全球领先 AI 与 AR 美妆时尚科技企业玩美移动宣布...

关键字: API 移动 AI SI

•在画面的前景中会有一辆公交车。每隔五分钟,车轮就会转动(仅仅是为了满足项目要求,即要包含一个步进电机),车门也会开启(通过伺服系统控制),从而露出另一条发光带。如果在任何特定时刻光污染情况变得更糟,这条发光带就会变得更...

关键字: LED 伺服电机 步进电机

在本教程中,您将学习如何通过蓝牙低能耗(BLE)模块将 Arduino 与智能手机连接起来。完成本教程后,您将能够使用一个简单的移动应用程序无线地控制一个 LED 的开启和关闭。

关键字: 蓝牙 Arduino 智能手机 LED

我打算将汉尼瓦模型改造为“陶土灌溉”与“动态稻草人”的混合体,用于我的小型花园。——陶土灌溉:利用黏土的多孔特性实现自动、低技术的灌溉。与一个 2 瓦的树莓派 Pico 一起使用,它将监测土壤湿度并控制陶俑内部的水位。它...

关键字: 边缘AI 树莓派 LED

May 11, 2026 ---- 根据TrendForce集邦咨询最新Micro LED产业研究,生成式AI驱动高速光通信需求急速攀升,由于Micro LED具备仅1-2 pJ/bit的能耗,以及具有低于百亿分之一的误...

关键字: LED CPO光收发模块 数据中心
关闭