![//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719065522.jpg](//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719065522.jpg)
有了之前開發 Nodemcu 轉速表的經驗,就可以轉移到 Arduino uno 與 ATtiny85
讓轉速表的電路體積更小一些
需要的材料:
1、勇氣 ($10)
2、Arduino UNO R3 ($150) 現在很便宜了
3、ATtiny85 ($70)
4、WS2812B 8位 RGB LED ($11 x 2) 需要二支
5、TM1637 4位數字顯示模組 ($25)
6、PC817 ($5)
7、DC-To-DC Buck MP1584 ($20) 將機車 12V 轉 5V
8、電阻 1KΩ 1/2w ($0.5)
9、電阻 470Ω 1/2w ($0.5)
10、電阻 10KΩ 1/2w ($0.5)
11、LED 最便宜普通的 ($1)
12、單芯線 紅、黑、白...
13、麵包板
14、焊接用麵包板 ($10)
15、成就感 ($9999)
扣掉開發成本的話,一個自製轉速表的成本: 70+22+25+5+20+3+10+10 = $ 165
TM1637 或 WS2812B 可以二個都裝,或是只裝其中一種,那可以再省一些^^
轉速表電路說明
![//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719065523.jpg](//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719065523.jpg)
細部接線圖
![//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719065518.jpg](//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719065518.jpg)
第一次開發 ATtiny85 不熟的同學,可以參考這張照片的開發方式
ATtiny85 在左邊開發,燒錄程式
然後移到右邊測試
![//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719137646_1.png&noshow=1](//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719137646_1.png&noshow=1)
打開 Arduino
檔案→偏好設定→額外的開發板管理員網址,加入:
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
![//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719137970_1.png&noshow=1](//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719137970_1.png&noshow=1)
工具→開發板→開發板管理員
輸入 attiny 搜尋,找到
attiny by David A. Mellis 版本 1.0.2 進行安裝
![//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719138316_1.png&noshow=1](//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719138316_1.png&noshow=1)
初次使用,需先對 Arduino UNO 作成可以燒錄 ATtiny85 的燒錄板
開一個空白的專案,選
工具→開發板→Arduino AVR Boards→Arduino Uno
![//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719138505_1.png&n](//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719138505_1.png&n)
檔案→範例→11 ArduinoISP→ArduinoISP
打開範例,並執行,把程式 Run 進 Arduino UNO
![//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719138771_1.png&n](//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719138771_1.png&n)
電腦接上 Arduino UNO 版後,上傳,把這個範例執行
讓 Arduino UNO 變成可以燒錄 ATtiny85 的燒錄機
![//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719138904.jpg](//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719138904.jpg)
進行燒錄 ATtiny85 的接線
![//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719139586_1.png&n](//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719139586_1.png&n)
接線,這樣就可以把程式燒錄進去
Arduino--> ATtiny85
5V 8 (VCC)
GND 4 (GND)
Pin 13 7 (PB2)
Pin 12 6 (PB1)
Pin 11 5 (PB0)
Pin 10 1 (PB5 也叫 Reset)
![//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719137029_1.jpg&n](//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719137029_1.jpg&n)
ATtiny85 接角圖
下載程式、打開 轉速表程式 GITHUB
RPM_TACHOMETER_PIXEL_LED.ino
程式碼要稍微看一下,二行程、四行程引擎不一樣,要稍微調一下程式碼
![//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719140387_1.png&n](//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719140387_1.png&n)
安裝 Grove 4-Dital Display (1.0.0)
![//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719140811_1.png&n](//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719140811_1.png&n)
安裝 Adafruit NeoPixel (1.12.2)
安裝二個相依套件,Windows 每次安裝套件都很痛苦
畫面會卡很久,要有耐心慢慢等,慢慢輸入文字
草稿區→匯入程式庫→管理程式庫
搜尋 TM1637 安裝 Grove 4-Dital Display (1.0.0)
搜尋 adafruit neopixel 安裝 Adafruit NeoPixel (1.12.2)
![//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719141444_1.png&n](//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719141444_1.png&n)
接下來這個步驟很重要,第一次新的晶片要作這個步驟
-
- 工具→開發版,要選 ATtiny Microcontrollers ATtiny25/45/85
- 處理器選:ATtiny85
- Clock: 要選 Internal 16 MHz
- 燒錄器: Arduino as ISP
- 進行燒錄,第一次使用的晶片都要燒錄 Bootloader ,或是你更換 Clock 也要再燒一次
![//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719141695_1.png&n](//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719141695_1.png&n)
燒錄 Bootloader 完畢
補充說明:
因為要用 Adafault Neopixel 跑 WS2812B 燈條,吃的 CPU 時脈要比較高,至少 8 Mhz 以上
如果有調整頻率,就要重新燒錄一次 Bootloader ,不然時脈會出錯,delay時間也會錯
發生錯誤時,WS2812B 不管怎麼寫都是全亮,羽山抓這個 bug 抓了二天
眼睛閃到快瞎 XD
如果要更省資源,可以考慮用 FastLed 或 Adafault Neopixel-attiny85 的套件
不過程式碼就要再改寫,如果要控超大量矩陣 led 再來研究吧~
![//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719143311_1.png&n](//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719143311_1.png&n)
當上面的 bootloader 燒好,就可以把程式燒進 ATtiny85 晶片了
按下「上傳」等大概15秒鐘,看到「上傳完畢」即可開始測試
![//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719067130.jpg](//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719067130.jpg)
接下來就可以把晶片移到接好的電路,進行過電池測試
這裡電同樣利用 Arduino uno 5V 即可正常運作
![//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719145160_1.png](//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719145160_1.png)
附上 fritzing 製作的電路圖 ATtiny85 機車轉速表
![//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719145351_1.png](//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719145351_1.png)
注意一下,這裡的 PC817 羽山轉了 180 度,第1腳在右上
接好後就長這樣,電路少少,佔的空間很小
![//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719065523.jpg](//3wa.tw/photo/small.php?w_size=1280&compassion=95&file_name=users/shadow/1719065523.jpg)
接線細節,應該是 OK 了,找時間焊到板子,放到機車上玩玩
接下來要考慮顯示的光線,不要調太亮會刺眼睛
在表面蓋一層 ABS 板,可以作出柔光的效果
另外就是這個程式預設是給 2 行程引程使用,4 行程引擎要調整 rpm 那行
rpm *=2; 移除註解
二行程引擎,點火一次曲軸轉一圈
四行程引擎,點火一次曲軸轉二圈
延伸閱讀:
1、RPM 訊號產生器 Nodemcu 版 網址:https://3wa.tw/blog/blog.php?id=1928
2、RPM 訊號產生器 555 版 網址:https://3wa.tw/blog/blog.php?id=1378
3、酷龍 150 自製轉速表 網址:https://3wa.tw/blog/blog.php?id=2082
4、KTM RC 390 自製轉速表 網址:https://3wa.tw/blog/blog.php?id=2083