96SEO 2026-02-20 00:13 0
打印部件和焊接四、拼装打印的DNA散件五、组合DNA螺旋结构六、执行DNA文件七、程序烧录八、总结及成品展示

这款LED灯通过人类的完整基因组点亮房间。
它从SD卡中缓慢读取DNA代码并将基因碱基对显示为颜色这些颜色沿着螺旋结构向上移动。
四个碱基—A、T、G和C—分别以红色、紫色、绿色和蓝色表示。
它有一个电源按钮以及底座上的速度和亮度调节旋钮。
对于螺旋结构我尽力使比例尽可能接近实际的DNA。
这是一个让人陷入沉思的有趣灯具。
因为大约有三十亿个碱基对所以需要很长时间才能完整地展示一遍。
这款LED灯在最快速度下应该每2毫秒显示一个新的碱基对。
但实际上它的移动速度比这慢得多。
最初我将整个染色体存储在一个文本文件中。
Arduino会读取该文件然后移动到下一个染色体/文件。
我注意到随着时间的推移它似乎变得越来越慢确实如此。
我怀疑这种减速的原因是寻找下一个字母的代码不得不遍历所有之前的字母。
当它在文件的开头时这不会花费很长时间但当下一个字母是几百万个字母之后时找到它需要一秒钟。
为了解决这个问题我改变了方式不再是将整个染色体存储在一个文本文件中而是将染色体分割成许多文件每个文件100万个字母。
不幸的是这并没有真正解决慢速问题。
接下来我尝试重新配置以便SD卡上一次只保存一个染色体。
这样的想法是Arduino会读取该染色体的文件完成后用户将SD卡上的染色体文件替换为下一个染色体的文件。
这确实提高了速度。
最后我意识到在读取完文件后让代码删除文件也是一种帮助。
仍然有改进的空间。
我相信我的代码可以改进但SD卡的读取速度以及Arduino的速度也可能限制了性能。
我认为这个项目处于一个即将成为中级开发者的初学者水平。
这里是指南…
绿色、灰色和透明色2个电位计1个按钮可焊接的面包板导线5V电源线我使用了一根USB电缆并将其切成两半以便我可以焊接导线到面包板上Micro
3V3-5个M3x6mm螺栓电源锁存材料1个2N3904晶体管1个FQP27P06
MOSFET2个二极管我相当确定这是我使用的2个100千欧姆电阻1个270欧姆电阻1个10千欧姆电阻1个13千欧姆电阻1个12千欧姆电阻
打印部件。
如果我没记错的话柱子需要支撑接触构建板的地方需要一个边缘。
将Arduino、SD卡读取器、电源锁存器以及连接到面包板的导线焊接起来。
照片显示了最终的样子。
不要焊接输入电源线。
我是基于这个制作的电源锁存器。
电源锁存器是必需的这样Arduino在关闭之前就可以将其在DNA中的位置保存到EEPROM中。
清理打印部件。
剪下一段包含11个LED的灯带确保在第11和第12个LED之间的中间剪断电线这样第11个LED上就有一段电线可以用来焊接。
按照图片所示将这些LED穿过10个柱子。
每两个LED之间应该有一个柱子。
这串LED中的最后一个在第一个螺旋柱的顶部将连接到第二串的第一个LED在那个柱子的底部因此需要在第11个LED上焊接一条电线到数据线白色线。
然后这条线需要穿过所有的柱子以便所有四根线三个LED输入线这个输出数据线都从柱子底部伸出。
这个输出数据线最终将被拉伸到基座的底部以连接到另一串LED所以确保它足够长见图片。
为下一步做准备剪下大约两打胶带来包裹柱子以便在胶水干燥时将其固定在一起。
使用泡沫/膨胀大猩猩胶将所有十个柱子部件粘合在一起确保LED从柱子之间的孔中突出如图片所示。
LED应该相对松散且自由。
用胶带包裹接合处。
尽量减少胶水粘在柱子外部的数量。
剪下另一段包含11个LED的灯带并将它们穿过另外10个柱子。
用另一串柱子重复粘合过程。
将柱头帽和柱基座粘合到柱子上确保将所有导线穿过基座部分的底部孔。
对于每个“横档”使用两个交叉梁部件并将它们夹在一起使得一个交叉梁部件在顶部另一个在底部。
这可能是一个紧密的配合所以要做好心理准备。
我使用透明大猩猩胶来粘合交叉梁。
将一个交叉梁部件插入灯座部分的足迹中并粘合在那里。
然后粘合两个柱子到基座上确保将所有导线穿过基座的孔如图。
然后在上面粘合另一个交叉梁使其全部闭合在一起第一个横档就完成了。
将两个交叉梁粘合到所有其他“横档”上。
对于接下来的步骤面包板最终将安装在灯座部分确保从螺旋顶部部分到面包板的导线足够长以便顶部部分可以被移除并侧放以访问面包板如图。
将通往第一柱子起始端的LED数据线焊接到面包板上的Arduino的第5脚。
将之前从第一柱子最后一个LED末端伸出的LED数据线焊接到第二柱子的第一个LED上。
将电源和地线焊接到两个LED柱子上。
在灯座部分安装电位计和按钮并焊接它们与面包板之间的所有连接。
我使用了一些热熔胶来帮助固定电位计以便在旋转时不会转动。
我还在基座上用记号笔标记了电位计。
使用M3x5螺栓将面包板安装到灯座底部。
确保螺栓没有短路/连接面包板上的任何线路。
我使用了一小块电工胶带作为临时的“垫圈”将螺栓头与板子隔开。
将电源线穿过灯座底部侧面的孔然后将其焊接到面包板上的正确位置。
由于DNA文件大小为3GB我无法将它们附加到本指南中。
以下是获取它们的步骤
访问网站滚动到页面底部打开染色体1的RefSeq链接。
按照图片指示下载为FASTA文件。
对其他染色体重复上述步骤。
FASTA文件包含了标题和N等不需要的内容。
dna_processing.py
脚本可以去除所有这些内容并创建只包含ATGC的文本文件。
将所有文件和dna_processing.py文件移动到一个文件夹中。
在dna_processing.py中将chromosome_number设置为1来处理第一个染色体并运行代码。
为每个染色体更改chromosome_number并重新运行代码。
我一开始没有理解的一件事是A’总是与’T’配对G’总是与’C’配对。
因此FASTA/文本文件中的所有字母只是每对的一半。
例如文件中的一个’A’意味着一个AT配对这就是在螺旋的“横档”上显示的内容。
构成了螺旋灯的主要程序。
正如我之前所说一个已知的问题是碱基对在螺旋中的移动速度没有我想象的那么快。
理想情况下在最快速度下它们应该每2毫秒更新一次但实际上在SD卡上存放所有染色体文件的情况下我测量的速度在80-500毫秒之间有时候可能会更慢我的测试并不全面。
让事情变快的一个方法是一次只在SD卡上放置单个染色体的文件但这意味着当Arduino处理完这些文件后你将不得不将下一个染色体的文件放到SD卡上。
你可以通过在代码中更改
在主程序中每个文件播放完毕后都会有庆祝模式因此我也附加了一个仅包含庆祝模式的程序。
我是用ChatGPT生成这些模式的这相当容易也很有趣。
我只需坐下来请求模式然后看看它们看起来有多酷。
如果你想修改主程序中的模式这段代码很有帮助。
或者你可能只想全程运行模式代码。
在所有内容都上传并工作后确保也将上一步骤中生成的DNA文件放到micro
SD卡上使用2-4个M3螺栓将灯座和底部连接在一起。
你可能需要用刀子将底部的孔稍微扩大一些。
确保在两部分组合在一起时没有任何导线被夹住以及按钮和电位计上**的电气连接没有触碰/短路到面包板上的任何东西。
按下电源按钮可以打开灯具。
要关闭它按住电源按钮直到灯光停止移动。
最后为灯具找个地方坐下来享受这场灯光秀。
整个人类的基因组代码正在照亮你的房间。
希望你喜欢这个项目并在构建过程中找到乐趣如果你有任何问题或需要帮助欢迎在评论区交流。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback