资料介绍
描述
所以这里有一些特别的东西,一个说 ASTROMECH的迷你R2D2 PCB。
Astromech 是星球大战系列中的一种虚构语言,由口哨声和哔哔声组成。
我制作的这个 Mini R2D2 是一个钥匙扣。
它的大脑是 Attiny85,由 CR2032 纽扣电池座供电。
MarceloLarios做了一个简单的 Arduino Uno 设置,每 3 秒发出一次随机蜂鸣声。
我接受了这个概念并通过使用带有独立电路的 Attiny85 而不是使用整个 Arduino UNO 来准备整个事情。
Attiny85 设置
在开始之前,我准备了一个简单的 Attiny85 设置,其中包括一个连接蜂鸣器和一个 LED 的 Attiny。
我按照下面的示意图进行连接,并首先制作了一个面包板版本。
我用我的Arduino 作为 ISP 编程器对 attiny85 进行了编程,只需将 attiny85 放在 IC 插座上并刷新 MCU。
电路板设计
在完成面包板版本后,我开始在我的 PCB 设计套件中制作原理图,它是这样的 -
该原理图由一个与 CR2032 电池连接的 Attiny85 组成,两个并联的 LED 连接到引脚 D2,一个蜂鸣器添加到引脚 D0。(蜂鸣器引脚必须是 PWM 引脚)
CR2032 和 Attiny85 之间也有一个开关。
完成原理图后,我继续进行电路板的设计部分。
我首先在谷歌上搜索 R2D2 2D 图像并选择了这个,它很小,即使转换为黑白 BMP 后看起来也不错。
我必须将此图像转换为 BMP 图像,因为我的 OrCad PCB Suite 仅从 BMP 格式导入图像。
转换图像后,我将其作为丝印 TOP 层导入,并围绕该图像准备电路板。
我将 Attiny85 和 LED 放在顶部,并从底部添加剩余的 THT 组件。
我还在铜层和 FR4 上添加了一些阻焊层开口,以增加电路板的美感。(让它看起来很棒)
完成设计后,我在PCBWAY的报价页面上传了Gerber数据,我选择了蓝色的阻焊颜色并下了订单。
我选择蓝色阻焊层,因为 R2D2 是蓝色和银色,白色丝印将取代银色。
下单后一周就收到了PCB,PCB质量非常好。
真的很喜欢最终的结果。
您可以从这里查看 PCBWAY - www.pcbway.com
印刷电路板组装
将 PCB 拆箱后,我开始了具有以下步骤的组装过程。
- 焊膏点胶
- 取放过程
- 热板回流焊
- 添加 THT 组件
- Attiny85刷机过程
焊膏点胶
第一步是将焊膏涂到每个元件焊盘上。
我使用了熔化温度为140 至 270 °C的普通 Sn-Pb 焊膏。
拾放过程
然后,我使用 ESD Tweeaser 仔细挑选每个组件并将其一个接一个地放置在指定的位置上,这花了大约 30 秒的时间,但结果是一个完美的 PCB,所有组件都放置在它们的位置上。
热板回流焊
在“PICK & Place Process”之后,我小心地提起整个电路板并将其放在我的DIY SMT Hotplate上,它也是自制的,就像这个项目一样。
几分钟后,当加热板达到焊膏熔化温度时,所有组件都将通过这种热回流焊工艺进行焊接。
然后,我们从加热板上取下 PCB 以冷却所有组件和电路板表面。
添加 THT 组件
在回流焊工艺之后,我们添加了剩余的 THT 组件,即纽扣电池座、蜂鸣器和带有烙铁的滑动开关。
添加 THT 组件后,我们的电路就完成了。
电路已完成,但要使其正常工作,我们必须将草图烧录到 Attiny85 MCU 中。
代码和闪烁
/***************************************************
Project R2D2 Sound Generator
To all fans of StarWars and Arduino!
Written by Marcelo Larios BSD license, all text above must be included in any redistribution ****************************************************/ #define speakerPin 0 #define ledPin 2 void setup() { pinMode(speakerPin, OUTPUT); pinMode(ledPin, OUTPUT); randomSeed(analogRead(0)); } void phrase1() { int k = random(1000,2000); digitalWrite(ledPin, HIGH); for (int i = 0; i <= random(100,2000); i++){ tone(speakerPin, k+(-i*2)); delay(random(.9,2)); } digitalWrite(ledPin, LOW); for (int i = 0; i <= random(100,1000); i++){ tone(speakerPin, k + (i * 10)); delay(random(.9,2)); } } void phrase2() { int k = random(1000,2000); digitalWrite(ledPin, HIGH); for (int i = 0; i <= random(100,2000); i++){ tone(speakerPin, k+(i*2)); delay(random(.9,2)); } digitalWrite(ledPin, LOW); for (int i = 0; i <= random(100,1000); i++){ tone(speakerPin, k + (-i * 10)); delay(random(.9,2)); } } void loop() { int K = 2000; switch (random(1,7)) { case 1:phrase1(); break; case 2:phrase2(); break; case 3:phrase1(); phrase2(); break; case 4:phrase1(); phrase2(); phrase1();break; case 5:phrase1(); phrase2(); phrase1(); phrase2(); phrase1();break; case 6:phrase2(); phrase1(); phrase2(); break; } for (int i = 0; i <= random(3, 9); i++){ digitalWrite(ledPin, HIGH); tone(speakerPin, K + random(-1700, 2000)); delay(random(70, 170)); digitalWrite(ledPin, LOW); noTone(speakerPin); delay(random(0, 30)); } noTone(speakerPin); delay(random(2000, 4000)); //(1000, 2000) }
这是我在这个项目中使用的代码,它是由Marcelo Larios 制作的,它基本上是一个生成两个短语的随机声音生成器。
至于编程 ATtiny85,我使用了一个 SOIC8 Clip,它作为 ISP 编程器与我的 DIY Arduino 相连。这是我为通过 Arduino 作为 ISP 闪存任何 AVR MCU 所做的设置。
您可以从此处详细查看此过程 - https://www.hackster.io/Arnov_Sharma_makes/multiple-attiny85-13a-programmer-84adf8
但让我用简短的要点解释如何对 Attiny85 进行编程。
- 我们首先需要在 Arduino IDE 中下载并安装 Attiny85 Core 文件。
- 你可以从这里下载- https://github.com/SpenceKonde/ATTinyCore
- 转到工具菜单并在程序员部分选择 Arduino 作为 ISP 选项。
- 选择应该新添加的正确板 Attiny85
- 点击 Burn Bootloader 并等待几分钟。
- 现在打开要上传到 Attiny85 的草图
- 转到“草图”菜单并选择“使用编程器上传”。
- 您的 Sketch 将上传到 attiny85。
添加纽扣电池
为了给这个设置供电,我使用了一个 CR2032 纽扣电池,然后将其放在纽扣电池座上,然后转动滑动开关。
这样做会打开 R2D2 并开始其蜂鸣声序列。
结果
这是此构建的最终结果!
感谢您阅读整篇文章,真的很感激。
如果您需要有关此项目的任何帮助,请发表评论或私信我,我很快就会带着新项目回来。
和平
- 2D物理引擎开源分享
- 由Alexa提供支持的乐高R2D2机器人
- 基于Arduino迷你CNC 2D绘图仪
- 带有Arduino核心的3D打印R2D2
- ATtiny85迷你PCB小提琴开源设计
- 如何使用DVD驱动器L293D制作迷你CNC 2D绘图仪
- 悟空PCB徽章V2开源分享
- W406812AS2D2 Gerber PCB Flag Box Board开源
- Duino Coin I2C矿机PCB开源
- Banana Pi BPI-R2 开源路由器开发板硬件原图理
- 迷你PCB相扑摩托车司机开源
- W308461AS1C2 PCB制造开源
- AD 2D标准封装库下载 22次下载
- 台信高速高精度接近开关AEM8G2-D2D2 13次下载
- 台信高速高精度接近开关AEM12G2-D2D2 3次下载
- RA6T2的16位模数转换器操作 [2] A/D转换器概述 (2) 224次阅读
- LLaMA 2是什么?LLaMA 2背后的研究工作 817次阅读
- Rust语言中r2d2基础用法 2617次阅读
- 2D Transformer 可以帮助3D表示学习吗? 613次阅读
- Maxwell 2D瞬态磁场仿真加速小技巧 1.4w次阅读
- 探讨一下2D和3D拓扑绝缘体 2101次阅读
- 基于Si NCs和2D WSe2混合结构的突触器件 869次阅读
- 2层STM32最小系统板PCB图分享 1.4w次阅读
- CC2640R2F蓝牙低功耗无线MCU参考设计 7688次阅读
- 基于D2D通信的中继辅助的资源分配算法分析 2901次阅读
- 如何把OpenGL中3D坐标转换成2D坐标 8461次阅读
- 关于D2D通信中基于RLE编码二叉树发现消息的设计 3575次阅读
- 浅谈PCB设计中3D的应用 9120次阅读
- 2018 年 2 月份 GitHub 上最热门的开源项目 4554次阅读
- 正温度系数热敏电阻(R2)的延时电路 3863次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多