發表文章

目前顯示的是 2012的文章

IIC2USB bridge讀i2c裝置

圖片
最近長官因為客戶不斷問hall sensor的問題,希望我弄一個報告可以在未來客戶問起時,直接把報告寄給客戶減少信件的往來浪費時間。這種問題的簡單答案就是請hall sensor廠商提供application note出來即可,但是客戶實在是求學心切,將應用市場當學院,導致我也不得不花一些時間在hall sensor上。但是現在有個問題就是客戶還沒定下機構尺寸造成磁鐵大小不清楚的前提下我沒辦法做報告,敝公司也沒有什麼量磁力的儀器,導致我也很無奈,陷入一種雞生蛋,蛋生雞的泥沼。 後來想到我手上有磁力感測IC(magnet sensor)又稱為eCompass(電子羅盤),他是i2c介面,主要是拿來量地磁用的,雖然最大可以量到的高斯值只有8.1,但是針對磁鐵大小與磁力的簡單評估堪用了。再來就是本來打算接到我上次弄的cy8c27443+LCD模組去看高斯值的,但是由於手上還有個i2c to USB bridge,所已決定用這個bridge讀值。回想起來,我跟Cypress還挺有緣的,從一開始接觸的8pin的chip開始,中間Cypress也有來到我們公司介紹我也拿到一些sample可以拿來練習,還有就是某天在實驗室撿到一個看起來怪怪的東西: 上網查是Cypess出的I2C to USB bridge。然而這個bridge可能中間有其他廠商經手,所以裡面的firmware已經被改掉(bridge control panel讀不到這一條bridge),不過還好Cypress很佛心有提供原本的frimware,所以還是可以藉由miniprog再重新裝回原本的firmware,因此後來開啟bridge control panel可以正常讀到這一條bridge了。 藉由這個i2c to USB bridge可以將eCompass讀到的磁力值show在電腦螢幕上,這樣我就可以用比較有彈性的方式做報告了。

1602 LCD for PSoC

圖片
玩了一陣子的Cypress PSoC1 cy8c21123之後,雖然覺得8pin的IC竟然可以塞那麼多模組很驚豔,但是終究8pin的IC可用的IO才6pin,並且flash size才4KB,用了幾個內建函式庫會發生塞不下的窘況(例如要做i2c to UART功能需要將i2c device讀到的浮點數轉成字元印在電腦的終端機上,只是加個ftoa功能就把flash塞了一大半)。所以後來弄了幾顆cy8c27443來試試看,畢竟28pin可以利用的資源與彈性都比較大。首先就從內建的LCD user module用起,畢竟人家都寫好了protocol,只需要呼叫很方便... 雖然理想情境是這樣,但事實上發現點不亮,一度是以為我買的1602 LCD跟PSoC內建user module函式多少有出入,所以搞到最後自己去寫protocol。然而,寫完protocol後仍然不亮,用邏輯分析儀分析的結果也是感覺良好,到最後才發現是LCD的Vo訊號應該要下拉一個小電阻或是接地才會有畫面,因為Vo分壓後電壓越低液晶畫面越明顯(所以很多demo board會將Vo腳位直接拉地),真的是有點粗心。 結論是,其實PSoC內建的LCD模組雖然說支援Hitachi HD44780 ,但是其實類似這種LCD的protocol都是一樣的,所以都可以支援,包含 pvc160203 與 STC2E16DRG 。 試完這個後,接下來很多訊號的輸出基本上就可以不用用電腦讀UART了,直接顯示在LCD螢幕上即可。

縮時攝影 西巒山&郡大山

圖片
其實我覺得我的Olympus XZ-1已經發揮到了他的極致(畢竟應該很少人會把一台DC拿來玩縮時攝影),因為已經開始再挑剔他的畫質了。常常有人說我怎麼不買一台單眼... 雖然曾經有過這個念頭,但是一想到平常鮮少有機會把一台厚重的相機拿出來用,覺得很不切實際就作罷了。不過背後其實還有個主要的原因就是這個世界上沒多少人可以將隨身DC發揮成這樣,還蠻有成就感的,不排除哪天要將他除役時,把它拆了裝在其他的裝置上,繼續以其他的形式貢獻他的良能。

關於黑白照片效果

圖片
在photoshop中如果要將照片做成黑白照片,最簡單的方法就是: 影像\調整\去除飽和度。以下是原圖與一張去除飽和度的圖。 [原始圖檔] [影像\調整\去除飽和度] 這樣的做法雖然最快,但是在光線的呈現上效果比較差。目前的做法是基於RGB彩色座標將RGB的飽和度去除,但是如果進一步將色座標系轉成Lab彩色座標系再做去除飽和度的動作,這樣光影的表現會比較出色(注意燈籠與葉子亮度的部分),最後再轉回RGB,確保大部分的看圖軟體都可以正常看圖。 [影像\模式\ Lab色彩 -> 選擇Lab色板的L  -> 影像\模式\灰階 ->  影像\模式\RGB] 最後,如果還想讓照片更有復古的效果,可以使用內建的漸層對應功能,並在預設集內選擇相片色調。個人傾向相片色調裡面的硒色2 [將照片套用"硒色2"的漸層對應的結果]

樂高像素拼圖之照片像素化教學

圖片
有時候覺得自己桌子太曠,跟工業設計那些人比起來,跟沙漠沒甚麼兩樣。正逢最近流行樂高,弄個樂高像素拼圖點綴一下桌面也不錯。(其實本來是要做鬼塚英吉的,但是後來沒存檔又不小心關掉PS,又不想要同樣的事情做兩次,所以後來選了格瓦拉) -------------------------以下是照片像素化的教學分隔線------------------------- 為了將一張圖片做成樂高像素拼圖,需要一些方法將照片像素化。 樂高的底板最大的大小為48x48顆粒的正方形,實體大小可以參考上面的照片,其實還蠻大張的。可以搜尋"lego 628"找到這一塊底板的資訊。當然,如果不需要這麼大或是需要更大的話,可以選擇比較小的或是併板。 選照片的原則必須以"顏色簡單"、"構圖簡單"為原則。因為樂高的顏色有限,所以不建議找顏色太過豐富的圖案;並且48x48顆粒的板子實體就已經那麼大了,構圖太複雜的圖片很難塞進48x48的大小。因此簡單的卡通圖片就很適合拿來改成像素畫。 這一張是在網路上找到的皮卡丘。皮卡丘,就是你了! Step1: 48x48的比例為正方形,這張圖不是正方形,所以需要裁切成正方形 Step2: 濾鏡\風格化\尋找邊緣 Step3: 影像\調整\去除飽和度 Step4: 影像\影像尺寸,將寬度與高度設為48x48像素。 Step5: 然後照片就會變得非常小,要放很大檢視,以像素的尺度來看圖。 Step6: 影像\調整\色階,將輸入色階暗部調到190。這個步驟的目的是要讓輪廓明顯,所以需要看情況調整。 Step7: 影像\調整\色調分離。色階調到2,也就是黑白。 Step8: 接下來就靠自己的感覺修圖。選擇鉛筆工具,筆頭大小調成1,用黑色與白色慢慢修到自己滿意為止。(不會太麻煩,我才修不到10分鐘) Step9: 再來就是用油漆桶工具上色,這裡用到四種顏色。(這之間我有把臉部紅色部分的輪廓也用鉛筆工具改成紅色) Step10: 最後再用鉛筆工具加上一點裝飾,完成。是不是很簡單呢。 Step11: 想辦法買到底板,

關於後製影像品質 - 漸層的處理

圖片
自己一直有在玩影像處理,並且時常將拍攝過後的照片做後製的動作。不過最近針對一直存在的問題越來越覺得不可以忽略,他就是"漸層"。通常一張照片如果是都市或是人物的部分,漸層在整張圖所佔的比例有限,所以後製的過程中比較難察覺到後製所帶來的失真。但是如果照片是風景照,漸層的比例就會偏高,如果這個時候又要加上一些特效,整體的品質就會大幅下滑,到最後存成jpeg的時候,對一些比較挑的人來說,幾乎是不能看。 後來做了一些小研究的結果,如果照片要後製的話,最好先把照片轉成16位元的格式後製,不然就是從raw檔匯出的過程,不要降成8位元,直接以16位元匯出。等到一切處理好之後再轉成8位元格式。至於為什麼最後要轉成8位元的原因是,目前的電腦系統螢幕顏色深度都是24位元,也就是RGB各佔8位元。16位元的數位檔案代表著使用者需要48位元深度的螢幕才有辦法呈現,不過相信目前沒有人看過48位元的螢幕。 以下以一張黑白的漸層做例子: Step1: 先將這一張圖片轉成16位元模式,或者從raw檔轉匯出來不要降成8位元。 Step2: 做想要做的候製。 Step3: 轉成8位元。 Step4: 存檔。 以下是我依照以上的步驟存的檔案: 如果不經過Step1與Step3的轉換直接後製,結果將會如下(上下兩張圖片可以下載做比對):

Temperature logger

圖片
紀錄了七個多小時我在公司座位的溫度,看起來的確是蠻冷的。 這個溫度感測紀錄也是用Cypress PSoC弄的。之前搞定了 行動電源 與 縮時攝影快門 後,想說要做點純數位的東西,練習MCU的數位介面溝通。不過其實都已經模組化了,充其量只能說是應用,沒有寫到底層協議部分。 為了要將溫度的資料可以記錄在電腦上,需要有可以跟電腦溝通的介面,PSoC1最基礎的介面就是UART,不過這只需要單方向從MCU丟資料到電腦,所以選用比較簡單的TX模組即可,還可以省掉一根RX腳位。 再來就是MCU與溫度感測器的溝通,這個是用Ti的溫度感測器,i2c介面。介面膜組的使用很方便,application note寫得清清楚楚了。 不過之中遇到了一些問題,後來才知道是這顆MCU的flash space不夠用(4k byte),導致本來想要印含有小數點的溫度資訊,只能先丟16進制的資料出來,在把log出來的資料丟給excel使用hex2dec轉成溫度。 為什麼4k byte不夠用? 為了完成以上的工作,需要用到的MCU user module有: UART_TX8, I2C_HW, counter8(for uart baud rate generation), sleep_timer(for delay),還有一些標準函式庫的資料,例如ftoa(將浮點數轉成字元,為了要印在UART_TX上),ftoa用了大概1.6k的flash空間,上網找解決辦法有人說可以用csprintf...後來發現這個吃更多2.5k左右。不過還是很感謝上網問人馬上解答才能讓我知道真正的原因在哪裡,在這裡也覺得Cypress服務做的真是不錯。最後附上連結是我上網問問題的網頁,並且有FAE順便將他過去如何減少code space的經驗寫進去,服務真好!  http://www.psocdeveloper.com/forums/viewtopic.php?f=3&t=9139

2012 八月縮時攝影作品

圖片
在將縮時快門做好之後,總共做了三個縮時攝影的作品。短期間應該會讓自己沉澱一下,畢竟最近案子又要開始忙了: (1) 8/12當天晚上去基隆打算拍英仙座流星雨的,八點多到,結果一顆流星都沒有看到。不過還好我的相機(olympus XZ-1)還是可以拍到星星,所以至少可以做成星星旋轉的畫面。不過後來發現單純星星旋轉的話片太單調,所以上網找到了國外有人放的 photoshop的action腳本 ,可以將星星的移動疊成星軌,畫面頓時生動了起來。 (2) 8/15 啟德颱風有可能直撲台灣(後來沒有),這一天天空的光影透過公司的3M檔光玻璃看起來相當協調,所以就架在室內拍了,也因為如此會有反光出現。整個影片看起來像是在替公司做選舉宣傳短片,其實做畫面移動的目的只是在練習而已。因為通常縮時攝影要做畫面移動需要去買馬達傳動的滑軌,但是其實照片一張有一千萬畫素,所以還有一些餘裕可以被裁切掉做畫面移動效果。 (3) 8/18 台北市政府在大稻埕舉辦煙火節,那邊想說不要人擠人,就回到公司的陽台對著大稻埕方向拍。結果運氣很好,同一時間在另一個方位的烏雲不斷閃著雷光,與煙火交相輝映,所以也就順便拍進去了。夜拍有個地方要注意就是jpg很容易將已經雜訊不低的藍色色頻搞得更糟,所以下次要再弄夜拍,jpg的品質要12才會比較好。還有就是這次我也有用拍星軌的那個photoshop action腳本,因為如果單純直接撥放的話,煙火與閃電會很生硬。不過我有手動調整腳本的不透明度從預設9x%到70%,這樣煙火的殘影才不會拖太久,整體感也比較自然。

這個禮拜的DIY - 水晶膠、縮時快門、連接頭

圖片
繼前一代送人的的PSoC縮時快門之後,本來還想要再多學一些數位控制的,包含可以藉由按鈕輸入指令與螢幕輸出結果等。不過看到12號晚上有英仙座流星雨,所以就打算以舊版的縮時快門直接再做一個,這樣才趕得上。不過這次還要玩點別的。 因為我自己的相機是Olympus XZ-1消費型DC,所以會比DSLR還要耗電,需要外接電源才能支持長時間不間斷操作。本來想藉由相機充電埠一邊拍攝一邊充電,但是這一台相機的遙控快門與充電埠是放在同一個客製化的連接頭上,也就是只能擇一使用。還好我發現相機底部裝接電池的門旁邊有個橡膠製的影藏小門,可能是開發人員用來接 SD card做為debug用的吧!剛好可以拿來當外接電源的出口,這需要一顆假電池才能達成,所以我打算用他的電池為範本製作一個矽膠膜,再將膜灌注環氧樹脂(水晶膠)完成假電池的製做。以上這些材料台北圓環附近的天水街的化學材料行都有在賣。 首先將電池丟進矽膠內等矽膠硬化,就完成了電池的模。中間塞的那個硬紙板是為了留一個溝把電池的電源拉出來。不過後來發現硬紙板不是一個合適的材料,因為後來倒環氧樹脂的時候會與厚紙板黏在一起,最後要把厚紙板去除會很麻煩。 翻模矽膠與環氧樹脂都需要時間硬化,通常需要整整兩天的時間才能完成這個假電池的完成品。電池的+/-/NTC都可以很順利頂到相機內部的電池接點,並且沿著那個溝走線出來。最後拉出一條延長線接外接電源。 再來就是遙控快門的接頭。由於相機付的一條AV線是與遠端快門還有充電埠共用,所以我把他的AV線給拆了,取他的頭來用。 再把上網查這個連接器的腳位定義,把快門、對焦、與GND訊號接到耳機的母頭。這樣的好處是,我將縮時快門的訊號標準化成耳機接頭,未來如果換相機的話,還是可以繼續使用原本的快門。(可以參考第一張圖,接頭就是耳機的公頭) 最後接上之前自製的行動電源,完成了!! 由於遠端快門在觸發的時候會瞬間亮橘燈,所以這張圖很明顯的就是用遠端快門照的,才會有橘燈發光的狀態。

Benq scanner driver for vista/win7

這款掃描器已經有點歷史了,所以上BenQ台灣網站找不到給Vista or Win7的驅動程式。不過如果逛到歐洲BenQ就找的到了,可以參考以下連結 Please click the following link for BenQ Scanner 5000 Vista/Win7 driver: http://benq.eu/support/downloads/downloads.cfm?product=631

任天堂馬戲團之矮波觸發

圖片
太克科技是研發示波器的廠商,幾個月之前去參加一個研討會他們有介紹這個網頁希望大家踴躍參加,雖然獎品不是很吸引人,秉持著順便加強學習影片後製的心態,所以我也就做了一個小短篇介紹矮波觸發。不過放在網頁上的效果實在是不怎麼樣,看到自己做的影片解析度變得這麼差的狀況心理有些失落... 畢竟是自己的作品。 有些朋友有提到後半段的文字說明與google translation語音有點多餘。事實上,那真的是多餘的@@~因為本來我才做20秒的小短片,後來上傳到太克後,他們有人打電話給我希望我加長到最短45秒的限制。所以後來不得已只好拖棚了lol

DIY縮時攝影(time lapse)自動快門

圖片
天氣不好又是在擋光玻璃內拍的,所以反光很嚴重,畫面也沒有很美,只能靠無恥的後製了!! 某日山豬在某網站上掘到了一個自製縮時攝影的DIY計畫,問我有沒有辦法也弄出一個。那個人是用555這一顆timer做時脈控制,並用9V的電池做為電源供應。這個架構很簡單,照做不是問題,但是剛好我又在自學PSoC,想說弄個比較特別的出來,順便增強自己對這一顆單晶片的認識。先說那個人做的自動快門的缺點好了,555IC已經是爺爺等級的產品,9V供電在這個mobile年代稍嫌高了些,並且不用看spec也知道用電量一定比現今的單晶片還要耗電。IC555的控制只能做定時開關,所以無法在這樣的架構下再多加B快門的功能。 目前做的這個是藉由旋鈕選定不同的自動快門時間,轉到最右邊就是B快門,並且指示燈也有類似心跳的dimming effect。並且可以藉由mini USB充電,就不用換電池了。完成之後還蠻有成就感的,因為不只是完成,重點在學習。在學習的過程中體會到寫程式的一些限制,並且也學會怎麼控制ISR(interrupt service routine)。完成之後可以將Premiere+After effect+Photoshop整合做出一個影片,算是一個跨領域的小專案!!!

南拳喵喵

圖片
南拳喵喵大學時同學在射箭場撿到的流浪貓,還沒斷乳就被遺棄了。也不知道怎麼給他取名字,只是他常常在餵乳的時候猛出拳,並且當時有個偶像團體叫做南拳媽媽,因此給他取名叫南拳喵喵。幾個大男生在基隆校外的宿舍根本就不知道怎麼照顧,只知道給他買個貓用奶粉泡給他喝,只是喵喵不管怎麼喝好像都喝得很痛苦,喂他的時候一直揮拳...。我住在學校宿舍,七八月晚上太熱就會去校外同學家避暑睡覺,常常睡到一半會發現喵喵跑到身邊睡,所以睡覺的時候也要很小心不要醒了就一股腦的隨便一抓就起床了。喵喵非常喜歡跟人靠在一起,除了睡覺會自己爬到床上睡之外,我在看電視時,他也會像是攀岩般的爬到我肩膀上的一個奇怪的點蜷起身子睡起覺來,模樣真的很好笑。不過可能是沒有母貓的照顧兼我們也不太會養,結果小貓一天比一天虛弱,送去給醫生看醫生也說不出個所以然來,就在某天的晚上小貓就在我同學的肩膀上往生了。小貓現在就長眠於龍崗步道的某個草叢中,每次回母校時,都會回去探望一下他... JUN 13 SUN 2010 08:43 - migrate from pixnet

M31 星雲

圖片
上次畫完馬頭星雲後,就好久沒動筆了。 這次的做法比較不一樣,偷偷學到用棉花棒沾蠟筆,如此可以產生比較多的細節。不過我還是比較喜歡馬頭星雲。 APR 15 THU 2010 22:13 - migrate from pixnet

IC434馬頭星雲(horsehead nebula)

圖片
繼月光海後第二張相同效果的粉蠟筆作品。 12/16買的掃描器,掃出來的顏色正確許多,細節有出來,馬也變苗條了 這是之前沒有掃描器用相機拍的 DEC 03 THU 2009 22:20 - migrate from pixnet

Active noise cancellation or Passive noise isolation?

為了不要聽到耳機播放音樂以外的噪音,目前有兩種解決方案:一種是主動式消音(active noise cancellation),另一種是被動式隔音(passive noise isolation)。 第一種主動式消音的方法是耳機本身會附上一個麥克風,但是這個麥克風不是用來給你說話用的,而是取外界的噪音反相處理後,混合到音樂中,達到噪音互相抵銷的功能。然而這種作法有三個缺點,第一:需要額外的電池供應主動式消音功能。 第二:因為多了一個電池,耳機本身就會變笨重。第三:(對某些"欣賞"音樂的人來說)對音訊動手腳本身就是一種失真,這種技術頂多能讓你"聽"音樂,而不是"欣賞"音樂。至於被動式隔音,如果隔音做得好的話,外界的聲音至少可以被減到隨身聽只要放一點音量就可以完全覆蓋剩下的噪音的程度,對於耳朵的保護、音質的堅持都不失為一種很好的解決方案。 以下的文章取自ZDnet ( FW from ZDnet/News&Blogs/David Morgenstern's article) A vote for passive noise isolation, not active reduction flight to NYC I took this week, many travelers are using active noise-reduction technology to shut out the din of the airplane. However, I prefer the passive approach of noise isolation, which is a greener solution, and provides more accurate sound. The earbuds in question were a pair of Etymotic Research ER•4 MicroPro earphones that I purchased at the Macworld Expo in January. The company offers a substantial discount during the show and I splurged o

月光海

圖片
這次去花蓮晚上去七星潭附近看夜景,剛好月光明亮,映在七星潭上形成月光海。在回家的路上即興畫了在腦海中即時負片效果的月光海,掃描後再用負片效果轉出,效果還不錯。有關夜景的部分其實用負片效果創作應該是一個不錯的作法~ 太魯閣遊客中心用蠟筆畫的原稿:               掃描後用負片效果: NOV 14 SAT 2009 19:09 - migrate from pixnet

在公司拍的一些ESD照片

圖片
四月多的時候支援同事打ESD所拍的。打ESD真的很無聊,除了生平第一次看到ESD槍放電覺得很新奇之外,整個操作重複性高,又冗長,長時間打下來整個人都昏昏沉沉的。某天剛好有帶相機去公司也想到說可以拍拍看效果如何,也替這個無聊的過程增添了一點趣味性與美感,落花水面皆文章嘛。 Electrostatic Discharge (ESD),靜電放電,簡單來說就是小型的打雷。通常這種現象發生在乾燥的的地區,我們穿在身上衣服的摩擦容易產生靜電,靜電的能量雖然不高但是電壓卻很高,都是幾kV起跳的,一不小心帶有靜電的手直接去碰電子產品非常容易造成內部IC的永久性損壞。所以電子產品在研發過程中必須針對ESD做一定程度的防護,但是光這樣還不夠,還要通過IEC 61000-4-2標準中的四種等級的air discharge與contact discharge以確保免疫力有達到規定的標準。在這兒的三張圖片是用air discharge所拍出來的。 NOV 22 SAT 2008 18:35 - migrate from pixnet

Stardic(星際譯王) - 解決音標亂碼問題

圖片
過去三年使用星際譯王的經驗覺的這套免費的字典軟體相當實用,支援的熱鍵功能可以在瀏覽文件的過程中不需要動到滑鼠就可以做到查字典的動作。 他的取詞功能不太靈光,所以我習慣在主視窗查詢。主視窗查詢的方法也很方便,看文件時想查一個單字可以按ctrl+alt+z把主視窗叫出來,而且不需要把視窗移開(可以藉由調整透明度transparency,看到視窗後面待查字) 不過同時也發現一些問題,例如音標部分顯示成亂碼 之前有到 偏好設定/字型/使用自訂字型 成功將字型改成Tahoma,Tahoma可以正常顯示音標。不過最近不知道為什麼,都沒有辦法改字型,一按選擇字典字型的那個按鈕星際譯王就會當掉 後來上網有找到解決辦法,可以依照以下步驟就可以將字型改成可以看音標的Tahoma字型: [Step 1] 到 開始/程式集/Gtk+/Theme Selector 得知目前的theme是哪一個,通常預設都是MS-Windows [Step 2] 到 C:\Program Files\Common Files\GTK\2.0\share\themes\ MS-Windows \gtk-2.0 (標示成紅色部分就是上一個步驟得知的theme名稱,如果選的theme是Mist的話,那就是到 C:\Program Files\Common Files\GTK\2.0\share\themes\Mist\gtk-2.0 這個資料夾...以此類推,不過通常都是MS-Windows) [Step 3] 用wordpad打開gtkrc,把標示綠色文字加上去 gtk-icon-sizes = "gtk-menu=13,13:gtk-small-toolbar=16,16:gtk-large-toolbar=24,24:gtk-dnd=32,32" gtk-toolbar-icon-size = small-toolbar style "win32-font" {font_name = "tahoma 10"} class "*" style "win32-font" # disable images in buttons. i