2014/04/15

自己以ATtiny85建構Adafruit Trinket

之前曾介紹過Adafruit公司的小型Arduino開發板Trinket,這篇則是自己在麵包板或洞洞板(萬用電路板)上建構具備相同功能的Arduino。

所需零件:

  • LM7805,5V穩壓器,1個。
  • 電解電容0.33μF,1個。
  • 陶瓷電容0.1μF,1個。 
  • ATtiny85微控制器晶片,1個。
  • 電解電容10μF,1個。
  • 按壓開關,1個。
  • 綠色LED,1個。 
  • 紅色LED,1個。
  • 碳膜電阻470Ω,2個。
  • Zener二極體3.6V,2個。
  • 碳膜電阻68Ω,2個。
  • 碳膜電阻1.5kΩ,1個。
  • USB Type-B母座,1個。
  • Schottky二極體,1個。

若先在麵包板上建構,電路圖如下。其實就跟Adafruit提供的Trinket 5V電路圖相同。
Adafruit使用的穩壓器是MIC5225-5.0V,我改用LM7805。

至於腳位對應則如下圖,不過其中針腳1已作為重置功能,再扣掉VCC與GND,還有5個腳位,可當做數位腳位(標示為D0~D4),有3個腳位具備PWM功能(PWM0、PWM1、PWM4),有3個腳位可作為類比輸入(Ain1、Ain2、Ain3)。其中ATtiny85的針腳2與3連接USB的資料線路。
然後再把電路搬移到洞洞板,不過需要調整。完成後如下圖。
完成後,燒錄Adafruit提供的bootloader,就跟Adafruit的Trinket 5V一模一樣了。

只不過我弄出來的作品體積很大,若想要小型化,可看看底下的參考資料。


參考資料:

11 comments:

  1. 1.ATtiny85沒有串列傳輸,燒錄只能用Arduino isp?
    2.ATtiny85沒有串列傳輸拉出2支腳接USB的作用?

    ReplyDelete
    Replies
    1. 2. 其中ATtiny85的針腳2與3連接USB的資料線路,以USB線連接電腦。
      1. 最初ATtiny85裡沒有bootloader,所以須使用燒錄器進行燒錄,燒入bootloader後,便可使用像一般的Arduino板子的燒錄方式。

      Delete
    2. 1.ATtiny85沒看到TX.RX也可以用TTL to USB燒錄嗎?
      2.有USB傳輸的資料嗎?我看到Arduino都是RS232串式傳輸?
      3.請問之後會寫Arduino對Arduino藍芽傳輸嗎?

      Delete
    3. 1. ATtiny85沒有TX.RX。
      我先使用獨立的燒錄器燒錄Adafruit開發的bootloader,然後以普通的USB線連接ATtiny85與電腦,便可以一般方式燒錄,但需要稍微修改一些東西(跟燒錄相關的),詳情可見https://learn.adafruit.com/introducing-trinket/setting-up-with-arduino-ide。

      2. ATtiny或ATmega微控制器晶片並無USB功能,以Uno板子為例,還須加上一顆「USB轉Serial」的晶片,譬如FTDI的產品或以ATmega16U2模擬,而電腦端安裝的驅動程式則是把電腦端USB埠模擬成Serial port,這麼一來,上層軟體就能以Serial介面與Arduino板子的微控制器晶片溝通。

      此篇的Trinket(或Gemma)不太一樣,是由其bootloader來模擬USB功能。

      3. 有空的話,:)。

      Delete
    4. [廣告]
      關於各種燒錄方式,可參考一下拙作「Arduino輕鬆入門:範例分析與實作設計」
      http://yehnan.blogspot.tw/2014/02/arduino_21.html

      裡頭第12章介紹如何在麵包板上建構Arduino、何謂self-programming(自我燒錄)、ISP燒錄、USB轉序列傳輸介面、ISP燒錄器、讓Uno板成為ISP燒錄器、自製並列埠燒錄線、等等。

      Delete
    5. 我有買一本範例分析與實作設計,
      還有看到圖3.3的筆誤,
      但是裡面沒有寫到ATtiny85使用USB傳輸或許版主可以再寫一本.
      USB沒有選COM(RS232)如何傳輸?

      不知道Arduino機器人製作聖經好不好?
      之前有買馥林文化的開始走吧!二足步行機器人入門,
      覺得不是很喜歡,

      Delete
    6. > 我有買一本範例分析與實作設計
      謝謝。

      > 圖3.3的筆誤
      多謝指出錯誤。

      > 沒有寫到ATtiny85
      呃,因為時間、內容取材、等因素。

      > 或許版主可以再寫一本
      有機會的話。

      > USB沒有選COM(RS232)如何傳輸?
      我的ATtiny85,先以獨立的ISP燒錄器燒錄Adafruit的bootloader(具有模擬USB的功能),它就變成一台USB裝置了,

      電腦端也需要安裝相對應的驅動程式(https://learn.adafruit.com/introducing-trinket/starting-the-bootloader),方能與之溝通,

      然後,電腦端的上層軟體,譬如avrdude,經由驅動程式、與含有bootloader的ATtiny85溝通,便可進行傳輸。

      所以,這當中並無Serial或RS232等介面。

      Delete
    7. Arduino機器人製作聖經一書的目錄可看這裡
      http://yehnan.blogspot.tw/2014/04/arduinoarduino-robot-bonanza.html

      我個人覺得是本寫的不錯的著作,
      但對你來說就不一定了,其主題與內容是不是你想要的呢?
      還是到書店實際翻一翻最為準確。

      Delete
  2. ATtiny85可以控制舵機嗎?

    ReplyDelete
    Replies
    1. 沒試過。

      請參考
      http://www.cunningturtle.com/attiny4585-servo-library/

      Delete
  3. 請問如果是用ATMEGA328去製作Arduino板,那USB type的D+、D-需要接上IC的哪兩頭ㄋ。

    ReplyDelete