2014年12月26日 星期五

3D 相關資源







http://go3d.pixnet.net/blog/post/34250539-%5B3d%E6%A8%A1%E5%9E%8B%E5%88%86%E4%BA%AB%5D-%E9%A0%82%E7%B4%9A%E4%B8%8B%E8%BC%8910%E5%80%8B%E7%AB%99%E9%BB%9E
3D 模型分享平台, 收集10 個頂級免費資源, 資源重新組合, 將創作新作品, 你收集嗎? 進入收集吧, 看書或補習, 不如自己動手組合製作~~~ http://www.3dtotal.com/ http://www.turbosquid.com/Search/Index.cfm?FuseAction=ProcessSmartSearch&istSearchKey=Free&x=19&y=11 http://www.greatbuildings.com/types/models/models.html http://archive3d.net/ http://sketchup.google.com/3dwarehouse/ http://www.3dmodelfree.com/ http://www.3dxtras.com/3dxtras-free-3d-models-list.asp?catid=-1 http://dlegend.com/html/free-3dmodels.html http://artist-3d.com/ http://www.nasa.gov/multimedia/3d_resources/

2014年8月31日 星期日

使用 Arduino 製作 溫控灑水系統 (4.元件購入及測試)

最近因為其他事情的耽擱,只能趁有空的時候看看前輩們的文章。這兩天上網購買的東西到手了,也去了電子零件行逛了一下,先買了幾樣零件。

Arduino Mega + BreadBoard + 3Digits 7 Segment LED
幸運的是找到一盒約二十年前留下來的零件(右上)

根據之前我的問題,74LS48 BCD共陰七段顯示器驅動IC 線路疑問!? 零件到手後,馬上來測試。結果,因為在7448輸出內建 2K 電阻,所以輸出電流很小,只接一顆七段顯示LED還算明亮,但像我下圖(二)測試是將三位數同時接亮,所以亮度瞬間分散,亮度也變暗很多。

下圖(一)就像方式一的接法,並聯一較小電阻來提升電流,三位七段顯示器亮度馬上提升許多。
(一)7448 接 七段顯示器,加上提升電阻,三位七段顯示器變亮許多
(二)7448 接 三位七段顯示器同時接通,亮度變暗
當然,這三位七段顯示器接到 Arduino 後,是用分時顯示的方式來各別顯示其數字,就是同時間只會有一個數字亮起,也許不需要提升電阻,到時再看看囉!!


2014年8月26日 星期二

[己解決]74LS48 BCD共陰七段顯示器驅動IC 線路疑問!?

各位大家好,網路上查了一個 7447 7448 七段顯示驅動IC,其中7447是用於共陽七段顯示器,7448則是用在共陰的。包含CD4511等這幾種IC都可以直接驅動顯示器而不需要再使用電晶體放大電路,但仍需要接電阻來限電流。

針對7448連接共陰的七段顯示器,網路上看到一個線路:
(來自這裡)

但是大部份看到是這樣的接法:
(網路上大部份接法)

想請教,第一種和第二種接法有什麼差別?? 例如耗電度,穩定度等的?
謝謝!!

以我的認知,第一種接法不會造成這七段燈號都亮起來嗎?? 然後再加上7448輸出的電壓,不就會更高電壓嗎?電流不就相加上去變更高了?? 請前輩們開釋.... XD


根據 各前輩的討論說明 後,我大致得到一個結論,這兩種接法,第一種是電阻並聯,第二種是電阻串聯。

根據 7448 的 Datasheet 內的輸出線路來看,其輸出經電晶體放大線路後有接一個 2K 的提升電阻。


因為 7448 的a~g 輸出有內建提升電阻,所以可以採用第一種並聯電阻接法,搭配適合的電阻,去計算出所希望輸出的電流。

而有些驅動IC像是上圖中的左側 74 '46A'47A 的輸出,則是經電晶體線路直接輸出Vcc的電壓,則適用第二種電阻串接接法,去限制輸出電流。

所以前輩們說的沒錯,的確得去查所使用IC的 Datasheet 才能確定其用法及特性。

補充電阻並聯的阻值計算公式:    R = (R1*R2) / (R1+R2)

以第一種例子來計算: (2000*470)/(2000+470) = 380.6

電子元件及相關查詢記錄備份

其實就是書籤,主要是最近消化跟電子元件&Arduino相關的資料,方便我查詢曾經查看過的相關網址。會不定時更新...

(74LS47, 74LS48, CD4511) BCD 七段顯示器驅動IC介紹

基本電學基礎實習(內有7447)








三位 三8 七段顯示器 接腳

2014年8月21日 星期四

使用 Arduino 製作 溫控灑水系統 (3.溫度傳感器DS18b20 消化)

上露天搜尋了 DS18b20 溫度傳感器,發現還蠻多種的,有些做成模組,有些則是單顆,還有另外一種不鏽鋼封裝的,裸裝單顆的只要25元,模組的要80~100左右,不過看了一下,以 Arduino 讀取數據似乎都是相同的流程。所以我可能會選不鏽鋼封裝型,大約60元。
DS18b20裸裝
不鏽鋼封裝

DS18b20模組
(以上圖片來自網路)
不過目前尚未購買,先來研究一下它的程式複雜性如何...

查了一下 DS18b20的程式,發現會使用到 OneWire 的 Library,但Arduino IDE 環境內並沒有預裝 OneWire 程式庫,所以又搜尋 OneWire,第一筆就是 Arduino 官網介紹,原來它是Dallas 半導體公司的產品協定,裡面有提供 Arduino OneWire Library 的下載點。

下載之後,解壓縮到 Arduino IDE 的 libraries\ 資料夾下,重啟 Arduino IDE後,就可以在選單 File→Examples→ 內看到 OneWire\ 的範例,其中 DS18x20_Temperature 就是 DS18b20 的讀取範例。

而這個範例內也有一個 連結 介紹,但這個介紹內的範例程式是有使用一個叫 DallasTemperature 的類別,有載入  DallasTemperature.h ,下方也有提供GitHub載點。除了有 .h 和 .cpp 外,還有 Examples 的範例!瞄了一下,原來這個 DallasTemperature 類別把讀取 DS18x20 溫度包裝成一個類別,這樣就比只使用 OneWire更方便使用。

以上,先到這...

補充:剛看到葉難 Arduino練習:溫度感測DS18B20 裡面都有寫到~ 哈哈!!
補充二:DS18b20 接法上 的 Normal Mode 及 Parasite Model 的區別這裡有說明,大致上是說 Normal Mode 用於數量較多且Sensor距離較遠的環境下;Parasite Mode則適用於Sensor數量少,且距離近的清況下用。至於多遠才叫遠,可以看文章內有提到!!

使用 Arduino 製作 溫控灑水系統 (2.構想)

這是此專案的 草案

基本上,想實作這個系統,一方面可以當作學習 Arduino 的相關知識,然後又不想只是測試某些模組,而是可以整合幾個模組,來達到一個特定功能。但...第一個實作,又不想系統太複雜,所以正好想到最近天氣實在太熱,樓頂屋頂如果可以加一個自動灑水系統來降溫,好像也是不錯!! 於是大概蒐集了一些資源,來慢慢完成這個功能。(雖然也許做好可能已經冬天了XD)

構想上的功能大致如下:
可以顯示目前溫度;可以顯示設定啟動/關閉灑水器的溫度上下限;可以顯示設定系統檢查頻率(例如每5分鐘抓一次溫度做檢查);可以顯示設定每次灑水器啟動時間(避免當灑水還是無法達到降溫下限時,會持續啟動)

備選功能:
可以顯示目前濕度;顯示最近 N 筆的溫度變化記錄;顯示最近N久的灑水器啟動次數
(備選功能可不做,或到主功能完成功再看看需不需要)

所以也查了大概需要的元件:

  • Arduino Uno 或 Mega(還會拿來做其他測試)開發板一塊,完成功能後再改用Mini...
  • 一個DHT11溫濕度感測器。(它是數位資料,還有濕度可以抓,先選這顆)
  • 有二位數的顯示器,可以用來顯示目前溫度、顯示設定溫度上下限(啟動灑水檢查用)...等,目前規劃使用兩個七段顯示器。
  • 上網查了一個 CD4511BE 的BCD轉七段顯示器驅動IC (可以省接腳,也可省電阻及升壓電路電晶體)
  • 有三個按鈕,一個為模式/設定切換,另外兩個為溫度上下調整鈕或上下切換鈕。
  • 5V一路的繼電器模組,用來啟動灑水器。
  • 其他電阻電容元件
  • 灑水器為一獨立系統,有一加壓馬達來把水推到管線的灑水孔。

以上就是這個系統大致的構想。所以基本上它也不一定用來啟動灑水器,也許也可以套用在以溫度控制的設備。

不知道以上的構想有沒有其他的模組或元件建議,謝謝!!

這裡有相關的資源:
DHT11  CD4511BE  四位七段顯示器測試  繼電器

CD4511 Sample





使用 Arduino 製作 溫控灑水系統 (1.草案)

最近有個計畫,就是使用 Arduino 來製作一個溫控灑水系統(系統需求還在腦袋中...)。
想說可以用來替頂樓的屋頂,加上一個灑水系統來降溫,也或許可以拿來做一些溫控的用途,也當作第一個實作。

但對於 Arduino 只屬於網路上看過模擬的階段,還沒有實作過,所以現在先開始蒐集一些網路上的資源。

除了 Arduino 官網一定要看看外,目前也加入了 Arduino.Taipei  Arduino.Taiwan的粉絲團。

網誌目前有前輩們:柯博文老師葉難Cooper Ma, Open Knowledge(知識開源共享)大兵萊恩 一路直前, 請繼續推薦...

一個創意的分享網站 Instructables,

工具的資源目前有: Fritzing , 123D Curcuit ,

還有 曹永忠 老師製作的免費 Arduino 電子書,

看到前輩們很多都是用 Frizing 來製作線路圖,所以也已經下載並安裝完成,不過才剛開始測試,有問題再請教大家。

123D Circuit 好像是 AutoDesk 公司的產品,註冊了免費帳號,測試了一下,發現這個工具還不錯,可以直接模擬運行電路的結果,而且還可以模擬執行 Arduino 程式,很好玩!! 只是不知道是免費帳號的原因,可以使用的電子元件好像不多,就...再研究囉!!
我在 123D 製作的幾個測試 線路一線路二 , 線路三 ...

目前大概整理這些資源,如果還有大家推薦,會再補上。

對於 Arduino 還有電學的設計規劃上,希望大家的建議及指導,也希望可以用實作方式來完成這個系統。線路及程式會同步分享在網誌上。


2014年8月12日 星期二

Generate QR Code by using Google Chart API

API Reference 基本上就是參考這裡:
https://google-developers.appspot.com/chart/infographics/docs/qr_codes

API Root URL 網址:
https://chart.googleapis.com/chart?

會用到的參數大致就這四個:
cht=qr //這是固定一定要的chs=<width>x<height> //產生QR Code圖的寬高
choe=UTF-8 //編碼預設定UTF-8,所以也可以不設定
chl=Hello%20world //QR Code的內容
chld=<error_correction_level>|<margin> //容錯率 預設是L(7%)也可以設定 M/Q/H
margin 是留邊,單位是QR Code的內格區塊寬度數,預設是4



比較重要的地方是:因為是以URL傳送,所以QR Code內容需要先做 URI 編碼動作,
把一些如空白或一些特殊字元轉成%XX的16進位碥碼,以避免出現錯誤的內容。
若是在 JavaScripte 中可以用 encodeURIComponent(uri); 先把內容編碼。
PHP 中則可用 string urlencode ( string $str ); 函數來編碼。

所以直接以API網址來產生QR Code的例如下(Sample URL):
https://chart.googleapis.com/chart?cht=qr&chs=200x200&chld=L|0&chl=Hello%20world


或是以 JavaScripte 來動態產生(generate by JavaScript dynamically):



補上一個網路分享的QR Code(還有Bar Code等的)解碼器(Chart Decode Tool)
http://zxing.org/w/decode.jspx