訓練家的佈弱格-Patch1.2

The BLOG of trainer



編輯日期:2024-06-23 17:44

類型:Arduino
作者:羽山
文章時間:2024-06-23 17:44:10
瀏覽人數:174人
標題: (ATtiny85) 自製轉速表 4位數七段顯示器 與 WS2812B PIXEL LED
網址:https://3wa.tw/blog/blog.php?id=2087
內容:
 

有了之前開發 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 可以二個都裝,或是只裝其中一種,那可以再省一些^^

 

轉速表電路說明

 

 

細部接線圖

 

第一次開發 ATtiny85 不熟的同學,可以參考這張照片的開發方式

ATtiny85 在左邊開發,燒錄程式

然後移到右邊測試

打開 Arduino

檔案→偏好設定→額外的開發板管理員網址,加入:

https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json

 

工具→開發板→開發板管理員

輸入 attiny 搜尋,找到 

attiny by David A. Mellis 版本 1.0.2 進行安裝

 

初次使用,需先對 Arduino UNO 作成可以燒錄  ATtiny85 的燒錄板

開一個空白的專案,選

工具→開發板→Arduino AVR Boards→Arduino Uno

 

檔案→範例→11 ArduinoISP→ArduinoISP

打開範例,並執行,把程式 Run 進 Arduino UNO

 

電腦接上 Arduino UNO 版後,上傳,把這個範例執行

讓 Arduino UNO 變成可以燒錄 ATtiny85 的燒錄機

 

 進行燒錄 ATtiny85 的接線

 

接線,這樣就可以把程式燒錄進去

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)

 

ATtiny85 接角圖

 

下載程式、打開 轉速表程式 GITHUB 

RPM_TACHOMETER_PIXEL_LED.ino

程式碼要稍微看一下,二行程、四行程引擎不一樣,要稍微調一下程式碼

 

安裝 Grove 4-Dital Display (1.0.0)

 

安裝 Adafruit NeoPixel (1.12.2)

 

安裝二個相依套件,Windows 每次安裝套件都很痛苦

畫面會卡很久,要有耐心慢慢等,慢慢輸入文字

草稿區→匯入程式庫→管理程式庫

搜尋 TM1637 安裝 Grove 4-Dital Display (1.0.0)

搜尋 adafruit neopixel 安裝 Adafruit NeoPixel (1.12.2)

 

接下來這個步驟很重要,第一次新的晶片要作這個步驟

 

  1.  
    1. 工具→開發版,要選 ATtiny Microcontrollers ATtiny25/45/85
    2. 處理器選:ATtiny85
    3. Clock: 要選 Internal 16 MHz
    4. 燒錄器: Arduino as ISP
    5. 進行燒錄,第一次使用的晶片都要燒錄 Bootloader ,或是你更換 Clock 也要再燒一次

 

燒錄 Bootloader 完畢

 

補充說明:

因為要用 Adafault Neopixel 跑 WS2812B 燈條,吃的 CPU 時脈要比較高,至少 8 Mhz 以上

如果有調整頻率,就要重新燒錄一次 Bootloader ,不然時脈會出錯,delay時間也會錯

發生錯誤時,WS2812B 不管怎麼寫都是全亮,羽山抓這個 bug 抓了二天

眼睛閃到快瞎 XD

如果要更省資源,可以考慮用 FastLed 或 Adafault Neopixel-attiny85 的套件

不過程式碼就要再改寫,如果要控超大量矩陣 led 再來研究吧~

 

當上面的 bootloader 燒好,就可以把程式燒進 ATtiny85 晶片了

按下「上傳」等大概15秒鐘,看到「上傳完畢」即可開始測試

 

 

 接下來就可以把晶片移到接好的電路,進行過電池測試

這裡電同樣利用 Arduino uno 5V 即可正常運作

 

   附上 fritzing 製作的電路圖 ATtiny85 機車轉速表

 

 注意一下,這裡的 PC817 羽山轉了 180 度,第1腳在右上

 

接好後就長這樣,電路少少,佔的空間很小

 

接線細節,應該是 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

 

 

 

 

 

 

 

首頁  上十頁  上一頁  1 下一頁    最末頁 (總共有...1頁)

第 1 頁

有話要說  看留言 【0】
其他分類
當月訓練
(2024-06-23)
【Arduino】(ATtiny85) 自製轉速表 4位數七段顯示器 與 WS2812B PIXEL LED

(2024-06-23)
【Arduino】(Nodemcu) 自製轉速表 WS2812B PIXEL LED

(2024-06-20)
【浪浪之家】可愛的大黃跟小乳牛

(2024-06-16)
【NSR 150】NSR150 曲軸 kit

(2024-06-09)
【KTM 390】KTM RC390 自製轉速表

(2024-06-02)
【酷龍 150】酷龍150 - 自製轉速表 - Part2

最新訓練
(2024-06-23)
【Arduino】(ATtiny85) 自製轉速表 4位數七段顯示器 與 WS2812B PIXEL LED

(2024-06-23)
【Arduino】(Nodemcu) 自製轉速表 WS2812B PIXEL LED

(2024-06-20)
【浪浪之家】可愛的大黃跟小乳牛

(2024-06-16)
【NSR 150】NSR150 曲軸 kit

(2024-06-09)
【KTM 390】KTM RC390 自製轉速表

(2024-06-02)
【酷龍 150】酷龍150 - 自製轉速表 - Part2

(2024-05-20)
【酷龍 150】酷龍150 - 自製轉速表 - Part1

(2024-05-19)
【遊戲 / 生活】腳踏車車燈維修 Fuuga - Part2

(2024-05-18)
【酷龍 150】酷龍150 更換前齒 16T → 15T

(2024-05-12)
【KTM 390】KTM Duke390 更換前齒 15T → 16T