使用旗舰组件存储系统,再也不会丢失部件

2020-09-07 14:52:12

这个项目的创建者,APTechnologies,通过观察他在组织组件库时会遇到麻烦,提出了存储柜的想法。他想要一种将所有东西整合到一个地方以便容易找到的方法,而不是必须穿过车间才能拿到每个零件。该系统的工作方式是,首先让用户在相邻屏幕上搜索部件,然后如果在系统中找到该部件,则相关的存储箱将亮起。

存储解决方案由一个35x12的抽屉网格组成,为零件提供了充足的空间。抽屉根据条带中LED之间的间距(30个LED/米)进行布局。它们是单独打印的,然后开槽,另外还有几种不同的尺寸。

每个抽屉都被3D打印在一台Prusa Mk2上,上面有PLA长丝,层高为0.2 mm。为了最大限度地减少灯丝消耗,壁厚保持非常薄,但即使这样节省下来,也需要5公斤的灯丝来制造零件。还有一个小的关节臂从侧面伸出,用于HDMI显示。

与系统交互的主要方式是通过运行Python3脚本的终端。它首先检查文本文件的数据完整性,然后将其解析并加载到对象中。数据以CSV样式存储,ID为第一列,关联的LED位于第二列,最后数量位于第三列。所有后续值都是可选的,用户在定位部件时只需加载即可。正则表达式用于解析用户的请求,包括搜索组件、更改其数量、添加新部件和删除组件。

据该项目的创建者称,硬件组件的选择相当简单。他将Raspberry PI 4Model B与通用HDMI显示器配合使用,以显示命令行界面。在供电方面,他选择了一个简单的5V适配器来为Raspberry PI 4和NeoPixel条供电。由于PI从其GPIO引脚输出3.3V信号,因此需要一个电平移位器,在本例中为74AHCT125。如果NeoPixel条带太不可靠,可以选择通过UART使用Arduino Uno,因为Arduino Uno可以提供更严格的计时。

若要添加新零件,请发送命令PI<;ledn>;:Pi<;ledn+k>;,<;Quantity>;[,Optional Parameters]:Add,该命令会将新元件添加到库中。存在ID<;id number>;(按ID搜索零件)和ID<;id number>;:rm(删除具有该ID的零件)等其他命令来管理库中添加的元件。

虽然该系统在一个地方和一小部分组件上运行良好,但当有一个大型库或多个用户想要与其交互时,它的可伸缩性往往较差。解决此问题的一种方法是用关系数据库(如MySQL)替换单个文本文件,在关系数据库中,部件可以在单个表中存储和索引,并且可以引用其他数据。这为软件提供了一个非常强大的界面,可以轻松地搜索、添加和修改零件,而不必不断地读取和重写文本文件。

Arduino有一个18岁的男孩,物联网和嵌入式系统爱好者。也是Hackster.io的实习生,喜欢做项目和分享知识。