2014年10月24日 星期五

使用Lux Sensor來顯示太陽光的光照值


LUX Sensor是採用高範圍的TSL2591,可測範圍高達88000 LUX(TSL2561: 40000 LUX) 同時也可測得紅外線(IR)、全光譜(Full)、及人類可見光(Visible)。 
 

2014年10月16日 星期四

使用UV Sensor來顯示太陽光的UV值

使用UV Sensor取得日照的UV值,然後參照UV Index( 紫外線頻譜 )的值轉換成LED來顯示。



  • 1 to 2: Low
  • 3 to 5: Moderate
  • 6 to 7: High
  • 8 to 10: Very High
  • 11 or more: Extreme

可依這個指數來判別今天陽光的安全性,來決定如何做防曬的保護。

2014年10月12日 星期日

Lesson 1︰使用FTDI來Upload sketch到ATMega328P-PU晶片中

此教學是使用穩定度較高,使用上也較方便(因為有DTR不用手動Reset)的FTDI模組來Upload Sketch。要注意的是晶片必須已燒錄了bootloader,才可用FTDI寫入程式。連接時要注意正負極的位置,接反了可是很容易會燒掉晶片的哦!!第一次操作的最好是在接完後再檢查一遍。

準備材料及工具︰
  1. FTDI模組 x 1
  2. ATMega328P-PU(已帶有bootloader) x 1
  3. 16Mhz振盪器 x 1
  4. 22pF電容 x 2
  5. 100nF電容 x 1
  6. 10KΩ電阻 x 1
  7. 麵包板 x 1
  8. 單芯線數條

2014年10月11日 星期六

使用 2.2" Color TFT Shield 來增加實驗的多變性


為方便實驗時顯示,製作此Arduino Shield。此shield使用2.2" TFT並內建SD Card讀取座。也將Arduino Reset按鈕接出,方便Reset使用。 影片中示範的是使用 2.2" Color TFT Shield 來顯示光敏電阻值。

 


使用TFT Shield設計的範本Pannel

2014年10月9日 星期四

FabISP - 20Mhz



LabISP - 20Mhz是一款專為Arduino單片機設計的ISP下載器,使用它可以為大部分Arduino單片機下載程式或bootloader。LabISP是以USBtinyISP為基礎設計,而USBtinyISP又是Arduino IDE相容性很高的下載器,所以相對的LabISP的相容性也非常高。而此20Mhz版本又大輻提高了Clock Speed,所以執行速度相對於USBtinyISP提高了許多,所以在使用時能節省許多的時間。
LabISP - 20Mhz下載器,最主要的功能是用來下載bootloader。


工作電壓︰ 5v
Microcontroller︰ATtiny44A
Clock Speed︰20Mhz
電腦連接頭︰Mini USB
連接方式︰6P ICSP


  • 內含防靜電保護  、抗雜訊EMI設計
  • 帶輸出電源控制開關
  • 內含電源指示燈、燒錄指示燈、電源輸出指示燈
  • 快速的燒錄時間 ( ATMega328P-PU燒錄bootloader約 01:42 )

List︰

LabISP - 20Mhz x 1
6P連接線 x 1

K-type 熱電偶測溫器

前陣子為了想自製一個迴流焊,來焊接一些,如QFN IC。所以先一步一步將會用到的模組製作出來。第一步就是測溫模組,所以就有它的出現。我採用的晶片是MAX31855K,它比MAX6675有更寬廣的溫度測量範圍,也同樣兼容MAX6675的Code,所以當然就非它莫屬囉!為了加強穩定性加入了靜電保護元件及防干擾元件。
Arduino Library方面可以使用Adafruit MAX31855 Library。YA!!!!

PS:在操作時要小心不要被燙到,我就在測試時就忘了熱電偶溫度還未降下來就用手去拿,結果燙到哎哎叫Orz..........................


  • IC可測量範圍︰-200℃~1350℃
  • 工作電壓︰3.3V~5V
  • Logic Level︰3.3V~5V
  • SPI Interface
  • 使用K-Type的熱電偶(最終可測範圍需兩者配合。IC:-200~1350,我買的熱電偶是0~400,那這兩個合起來能測的範圍就是0~400。熱電偶型式規格非常多種,要小心選擇適用的型式)

2014年10月8日 星期三

SerialChat串口輸出~使用紀錄


今天在FB  Arduino-Taipei上看到有人分享了一套由串口取得資料來繪製曲線圖的軟體SerialChat,看起來不錯用就來試用看看。以下是使用完畢後的心得。

使用方式不難。就是設定軟體CONFIG,然後Arduino Code修改成合規則的輸出格式。只是軟體配置文件有一些小地方要注意,不然就會什麼輸出畫面都沒有。

2014年10月7日 星期二

USBTinyISP 12MHz VS LabISP 20Mhz 燒錄速度比較

LabISP原設計是採用12Mhz晶振,在最初試做後測試時,覺得燒錄時間有點長,就開始尋找加速的方式。後來有找到一個方案是將晶振提升到20Mhz,所以就出現了現在這個20Mhz版本的LabISP。因為LabISP原本就是從USBTinyISP修改過來的,所以就以USBTinyISP來做對照組。

ATTiny44A Speed Grade

以下就是測試USBTinyISP 12MHz and LabISP 20Mhz的燒錄時間差異。
  • 燒錄程式使用Arduino IDE 1.0.5r2
  • 晶片使用ATMega328P-PU
  • 燒錄內容是bootloader

測試結果︰


USBTinyISP 12Mhz -- 2:43
LabISP 20Mhz -- 1:42


從這個結果上看來,速度的提升還蠻大的。穩定性測試到現在也都很順利。這就表示LabISP 20Mhz可以開始服役了,YA.......。


PS:在測試中也發現了一個必須記錄下來的問題。因為兩個在IDE-Tools-Programmer中都是選擇USBTinyISP所以同時接上電腦時,IDE會不知要用那個而產生錯誤。所以同一時間只能接上一個,才不會出錯。

使用avrdude-GUI來直接燒錄程式到ATMega328P-PU

準備的工具及材料︰

  1. FabISP ( AVR Programmer )
  2. ATMega328P-PU DIP-28
  3. 自製的DIP28燒錄快拆模組(當然也可以自行用麵包板來搭建)
  4. 6P的連接排線
  5. avrdude-GUI

 步驟一︰

將 "快拆模組" 連接到FabISP

2014年10月4日 星期六

如何使用 FabISP 來燒錄 ATMega328P-PU 及 Arduino UNO開發板的 Bootloader

準備的工具及材料︰

  1. FabISP ( AVR Programmer )
  2. ATMega328P-PU DIP-28 and Arduino UNO開發板
  3. 自製的DIP28燒錄快拆模組(當然也可以自行用麵包板來搭建)
  4. 6P的連接排線


2014年1月22日 星期三

使用ArduinoISP v3 及 Arduino UNO 來直接燒錄程式碼到晶片中

使用ArduinoISP v3 配合Arduino UNO,在不經由bootloader的情況下,來直接燒錄程式碼到晶片中。
此例中要燒錄的晶片為ATmega8A-PU。




使用ArduinoISP v3 及 Arduino UNO 來燒錄Arduino主板上晶片的 bootloader

使用ArduinoISP v3 配合Arduino UNO,經由ICSP來自行燒錄Arduino主板上晶片的bootloader。
此例中要燒錄的Arduino主板為Arduino MEGA 2560。



使用ArduinoISP v3 及 Arduino UNO來燒錄晶片bootloader

使用ArduinoISP v3 配合Arduino UNO,來自行燒錄ATmega晶片的bootloader。
此例中使用晶片為ATmega8A-PU。