×

迷你R2D2 PCB开源分享

消耗积分:0 | 格式:zip | 大小:0.05 MB | 2023-02-07

陈伟

分享资料个

描述

所以这里有一些特别的东西,一个说 ASTROMECH的迷你R2D2 PCB。

Astromech 是星球大战系列中的一种虚构语言,口哨声和哔哔声组成。

 
 

我制作的这个 Mini R2D2 是一个钥匙扣。

它的大脑是 Attiny85,由 CR2032 纽扣电池座供电。

MarceloLarios做了一个简单的 Arduino Uno 设置,每 3 秒发出一次随机蜂鸣声。

我接受了这个概念并通过使用带有独立电路的 Attiny85 而不是使用整个 Arduino UNO 来准备整个事情。

Attiny85 设置

 
 
 
capture_DOrH0p6acS.PNG?auto=compress%2Cformat&w=740&h=555&fit=max
 
1 / 3
 

在开始之前,我准备了一个简单的 Attiny85 设置,其中包括一个连接蜂鸣器和一个 LED 的 Attiny。

我按照下面的示意图进行连接,并首先制作了一个面包板版本。

我用我的Arduino 作为 ISP 编程器对 attiny85 进行了编程,只需将 attiny85 放在 IC 插座上并刷新 MCU。

电路板设计

在完成面包板版本后,我开始在我的 PCB 设计套件中制作原理图,它是这样的 -

sch_page-0001_(1)_RvWNeQ2RPj.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
 

该原理图由一个与 CR2032 电池连接的 Attiny85 组成,两个并联的 LED 连接到引脚 D2,一个蜂鸣器添加到引脚 D0。(蜂鸣器引脚必须是 PWM 引脚)

CR2032 和 Attiny85 之间也有一个开关。

完成原理图后,我继续进行电路板的设计部分。

我首先在谷歌上搜索 R2D2 2D 图像并选择了这个,它很小,即使转换为黑白 BMP 后看起来也不错。

702-7024054_r2d2-clipart-r2-d2-r2d2-clipart-black-and_azFi8h0zKi.png?auto=compress%2Cformat&w=740&h=555&fit=max
 

我必须将此图像转换为 BMP 图像,因为我的 OrCad PCB Suite 仅从 BMP 格式导入图像。

转换图像后,我将其作为丝印 TOP 层导入,并围绕该图像准备电路板。

capture2_ZR9wbIgTFi.PNG?auto=compress%2Cformat&w=740&h=555&fit=max
 

我将 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 组件

 
 
 
 
1 / 2
 

在回流焊工艺之后,我们添加了剩余的 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 并开始其蜂鸣声序列。

结果

这是此构建的最终结果!

 
 

感谢您阅读整篇文章,真的很感激。

如果您需要有关此项目的任何帮助,请发表评论或私信我,我很快就会带着新项目回来。

和平


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !