# **2024陽明交通大學電機系一日營 硬體課程補充資料** ## 硬體課程簡報 [https://www.slideshare.net/slideshows/2024013020240202/266434073out](https://) ## ATtiny85 20U 燒錄方式 ### 什麼是ATtiny85 20U? - AVR 8-bit 微控制器晶片 - 可使用 Arduino IDE 作為開發環境 ### 在 Arduino IDE 中加入 ATtiny 開發板 1. 檔案 > 偏好設定 ![螢幕擷取畫面 (121)](https://hackmd.io/_uploads/BJ4cE6xt6.png) 2. 額外的開發板資料網址 > 加入網址:[http://drazzy.com/package_drazzy.com_index.json] ![螢幕擷取畫面 (120)](https://hackmd.io/_uploads/rychNaxYp.png) 3. 工具 > 開發板 > 開發板管理員 ![螢幕擷取畫面 (122)](https://hackmd.io/_uploads/Hk1ph1ZYa.png) 4. 在搜尋欄打上「ATTinyCore」 > 安裝 ![螢幕擷取畫面 (123)](https://hackmd.io/_uploads/rkEFa1ZK6.png) ### 將 Arduino 變成 AVR ISP 燒錄器 1. 檔案 > 範例 > 11.ArduinoISP > ArduinoISP ![螢幕擷取畫面 (124)](https://hackmd.io/_uploads/SJi4zeWY6.png) 按下後會彈出另一個 ArduinoISP 檔案 ![螢幕擷取畫面 (125)](https://hackmd.io/_uploads/S169GgZtT.png) 2. 在 ArduinoISP 檔案中,選擇開發板為 Arduino Uno 工具 > 開發板 > Arduino AVR Boards > Arduino Uno ![螢幕擷取畫面 (127)](https://hackmd.io/_uploads/HkfcUX-FT.png) 3. 點選上傳 ![螢幕擷取畫面 (126)](https://hackmd.io/_uploads/rJRlNe-Yp.png) Terminal 顯示上傳完成後 Arduino Uno 就成功變成燒錄器了 ==注意:燒錄期間若 Arduino Uno 斷電,就要重新上傳一次 ArduinoISP== ### 燒錄時接線 下圖是 ATtiny85 腳位圖 ![螢幕擷取畫面 2024-01-14 141143](https://hackmd.io/_uploads/B1uNHHZYp.png) | ATtiny85腳位 | Arduino Uno腳位 | |:------------:|:---------------:| | 1 | 10 | | 4 | GND | | 5 | 11 | | 6 | 12 | | 7 | 13 | | 8 | 5V | ==記得Arduino Uno板的 Reset 要接上 10uF 電容正極,GND接上10uF電容負極== ![螢幕擷取畫面 2024-01-28 140113](https://hackmd.io/_uploads/BkmT6DQca.png) ### 燒錄程式步驟 打開要燒錄到 ATtiny85 上的程式碼 1. 選擇開發板為 ATtiny85 工具 > 開發板 > ATTinyCore > ATtiny85/45/25(No Bootloader) ![螢幕擷取畫面 (128)](https://hackmd.io/_uploads/SkZjDX-KT.png) 2. 選擇燒錄器為 **Arduino as ISP** 工具 > 燒錄器 > Arduino as ISP ![螢幕擷取畫面 (129)](https://hackmd.io/_uploads/SJCQjX-K6.png) 3. 若為第一次燒錄的新IC,在上傳程式碼前要先燒錄 Bootloader 工具 > 燒錄Bootloader ![螢幕擷取畫面 (130)](https://hackmd.io/_uploads/HJXeXrbt6.png) 4. 點選上傳 ![螢幕擷取畫面 (131)](https://hackmd.io/_uploads/rkY3WBZKa.png) Terminal 顯示上傳完成後,我們就成功將 code 燒錄到 ATtiny85 上啦! ## EasyEDA 大家有沒有很好奇遊戲機的PCB板 (黑色那塊電路板) 是怎麼設計出來的呢? 讓我們一起認識EasyEDA吧! ### 什麼是 EasyEDA? EasyEDA 是一個線上電路設計工具,它提供了一個簡單而直觀的界面,讓使用者能夠輕鬆地進行電路設計、原理圖繪製、PCB(Printed Circuit Board,印刷電路板)設計和仿真等操作。 ### 先畫電路圖 1. 在工作區點選「新建工程」 ![螢幕擷取畫面 (132)](https://hackmd.io/_uploads/ByKrsrbt6.png) 2. 點選「保存」,建立一個名為「New Project」的專案 (名字可自訂) ![螢幕擷取畫面 (133)](https://hackmd.io/_uploads/HywJyUZY6.png) 3. 接下來就是要在這個畫布上畫出原理圖 ![螢幕擷取畫面 (135)](https://hackmd.io/_uploads/SyQrWLWY6.png) 4. 從元件庫選取適當元件 尋找適合的元件往往是畫PCB板最耗時間的部分,可以在立創商城中尋找。 元件庫 > 立創商城 > 搜尋元件 ![螢幕擷取畫面 (134)](https://hackmd.io/_uploads/rkNtXL-F6.png) 找到適合元件後點選「放置在畫布」 :bell:按空白鍵可以旋轉圓見到想要的方向 ![螢幕擷取畫面 (136)](https://hackmd.io/_uploads/ByMzD8WFT.png) 5. 使用電器工具的 Wire(W) 畫接線 ![螢幕擷取畫面 (138)](https://hackmd.io/_uploads/Sydt5Ibt6.png) 6. 完成原理圖 ![螢幕擷取畫面 (139)](https://hackmd.io/_uploads/r1uQjU-tp.png) ### 設計PCB 1. 設計 > 原理圖轉PCB ![螢幕擷取畫面 (140)](https://hackmd.io/_uploads/H1CvSD-F6.png) PCB圖 ![螢幕擷取畫面 (141)](https://hackmd.io/_uploads/r1Eo8v-F6.png) 2. 調整邊框 工具 > 邊框設置 ![螢幕擷取畫面 (142)](https://hackmd.io/_uploads/S1YlOD-Fa.png) 3. 拖移元件到適當位置 :bell:元件電線交叉數量最少為最好的配置 4. 確定元件擺放位置後,就要來佈線啦 佈線 > 自動佈線 ![螢幕擷取畫面 (143)](https://hackmd.io/_uploads/S1KoqDZt6.png) :bell:只需特別注意哪些焊點、線靠得很近容易出問題 5. 鋪銅 提高導電性能、抗干擾 放置 > 鋪銅 ![螢幕擷取畫面 (147)](https://hackmd.io/_uploads/HklLosMca.png) 點選確認 ![螢幕擷取畫面 (148)](https://hackmd.io/_uploads/BywFiiMqa.png) 選取鋪銅範圍完成鋪銅 ![螢幕擷取畫面 (149)](https://hackmd.io/_uploads/Sy_isofcp.png) 記得底層也要鋪喔~ ![螢幕擷取畫面 (150)](https://hackmd.io/_uploads/S11Rjof5a.png) ## 參考資料 - ATtiny Datasheet [https://ww1.microchip.com/downloads/en/devicedoc/atmel-2586-avr-8-bit-microcontroller-attiny25-attiny45-attiny85_datasheet.pdf] - 遊戲來源 [https://github.com/andyhighnumber/Attiny-Arduino-Games]