資料介紹
描述
所以這里有一些特別的東西,一個說 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次下載 | 免費
評論
查看更多