2014年5月18日 星期日

[Arduino]霍爾轉速表


親愛的愛將沒有轉速表,

油表又從沒正常工作過,

所以就把它的位置拿來做轉速表了。


一般的轉速表是接到CDI的脈動線圈上抓取轉速訊號,

但不想大費周章拆車只為了找出這條線,

而檔車的火星塞就正在引擎的側邊,

因此直接使用霍爾元件去感應火星塞的點火訊號,

就可以抓到引擎的轉速。





















使用示波器可以看出霍爾元件感應火星塞時所輸出的波形,

線性的霍爾元件在沒有磁場的狀況下輸出1/2Vcc的電壓,

這樣的電壓已經高於單晶片的閾值電壓,

因此需要使用電壓比較器來抓出脈波。

















使用可變電阻來調整閾值電壓。































Arduino mini pro
ss49e hall sensor
LP339n
Servo
Regulator
others
----------------------
HALL EFFECT SENSING AND APPLICATION
SS49e Hall effect sensor
LP339n Voltage comparator



2013年12月2日 星期一

[Arduino]GPS測速器


身為一個奉公守法的飆車族,

能夠知道自己真正的車速是一件很重要的事情,

而你永遠不會知道自己的儀表板的快樂程度,

所以就用GPS測定自己的車速了。


在露天上面可以找到許多UART界面的GPS模組,

上電之後,接收器就會自動連上衛星,並且透過Serial Port不斷的傳回數據,

這些數據為NMEA所制定的訊息格式,

因此直接使用TinyGPS++這個Arduino的函式庫來解讀GPS接收器所傳回來的訊息。


GPS除了可以讀回車速,也可傳回許多其他的相關資訊,

而這邊我總共抓取了車速、UTC時間、航向、HDOP(水平2D坐標精度因子) 以及所連接的衛星數量這五個參數。


為了易於判讀資訊以及減小體積,這邊只用一個四位數的七段顯示器來顯示資訊,

搭配Atmega8l上的兩個外部中斷,來調整顯示模式以及顯示亮度。


目前Atmega8l幾乎是市面上最便宜的Atmega系列晶片,甚至比有些attiny還來的便宜,

但也因為8k的flash,所以必須想盡辦法降低程式碼的體積,

因此使用了AVR-GCC直接對IO PORT存取的語法來點亮七段顯示器,

這邊把原本用來接外部振盪器的PB6,PB7也作為GPIO使用。





也為了搭配車上的12V電源,或者9V電池,所以另外規劃了一個5伏特的穩壓。







正面左邊為GPS模組,中間是共陽四位七段顯示器,


右邊兩個中斷的按鈕、2.1DC座以及開關。



背面分別為穩壓IC、Atmega8l以及GPS的陶瓷天線。

為了減小體積,Atmega8l直接焊死到板子上,

所以另外拉出了ICSP腳位方便之後修改程式碼。



顯示時間八點整,靠近七段顯示器的按鈕為中斷1(PD3,arduino pin3),調整亮度用。

另一個按鈕則為中斷0(PD2, arduino pin2),用來改變顯示模式。


Ublox neo 6m GPS module

程式碼:




compile後的大小

測試影片:

--------------------


GPS模組-----------------690
Atmega8l---------------39 共陽四位七段顯示器--50   
按鈕
開關
穩壓IC7805
電容104
2.1mm DC jack
洞洞板
接線

-----------------
TinyGPS++
NMEA Reference Manual 
u - blox 6 GPS Modules
Atmega8
Arduino IDE 1.0.1 and ATmega8 running at 8MHz with Optiboot








2013年11月7日 星期四

[專題]機械鳥原型

年初開始跟系上的老師做專題,

 他說想要機器鳥,

所以就開始幫他做了。


還飛不起來, 紀錄一下小進度。


材料主要都以容易取得為主,

機身使用飛機木, 骨架使用竹籤,

翅膀使用垃圾塑膠袋,

齒輪箱用木板、熱溶膠組合,

只有齒輪組是訂作的。


控制部份利用nrf24傳輸控制命令,

Arduino控制無刷馬達的電子變速器以及尾舵兩個伺服馬達。


每次修改好一些硬體機構之後的任務就是出去飛(ㄕㄨㄞ)到壞掉,

然後回來修理哈哈。



 




2013年6月1日 星期六

[Arduino]日出而作日落而息健康鬧鐘(一)


為了脫離爆肝病奄奄大學生的稱號,

以效法農業時代日出而作,日落而息的精神,

就來做一個能夠告訴自己每個時間該做什麼事情的鬧鐘吧。


一天二十四小時三等分,

每天能睡上八小時絕對是件幸福的事情了吧。

而為了對應日光的腳步,

正午就該是一天當中生產過程的中點。

於是原型機就出現了。




顯示方式跟一般的時鐘不同,

簡單說就是24小時制的指針時鐘。

零時在三角形的下邊正中央,

正午12點在三角形的上方頂點。

下邊顯示20點到清晨4點,這段時間該睡覺休息。

左邊顯示4點到12點,表示上午的時間,

右邊顯示12點到20點,亦即下午的時間。

而分鐘表示就跟普通時鐘一樣了,

但是60分無法被24整除,因此每跳一格代表2.5分鐘。



24個LED圍成的三角形中間有兩樣東西,

分別是蜂鳴器以及光敏電阻。

蜂鳴器用來擔任鬧鐘響鈴的工作,

五伏的蜂鳴器就可以吵死人了。

而光敏電阻則是用來自動調整LED亮度,

否則晚上睡覺的時候會非常刺眼。

實際影片:


顯示順序依序為:時-位置標旗-分

所以影片所顯示的就是晚上九點半,

位置標旗是為了在昏暗環境下也可以容易的讀出時間。

現場看比影片明顯很多。


位置標旗

























訓練耐心的電路呵呵。

--------------------------------------

健康鬧鐘程式碼

電路圖:

































LED------------------------------2元/顆
100ohm電阻--------------------1元/個
74595-----------------------------5元/個
光敏電阻------------------------3元/個
電磁蜂鳴器---------------------6元/個
RTC 模組(DS1307)---115元/組


參考資料:
--------------------
74595:
Coopermaa-使用兩顆74595控制16顆LED
葉難-霹靂車燈
74595 dtasheet
-------------------
RTC(DS1307):
葉難-即時時鐘DS1307
DS1307 Arduino Library
DS1307 datasheet
-------------------




下一版要做成掛壁鐘,全部用IC拼,模組掰掰。




2013年4月25日 星期四

[Arduino] IR XCANNER - 紅外線偽X光機



在醫院裡 x 光掃描是一種廣泛使用的檢測技術,
但它卻有使用技術門檻高、放射線對人體有危害等缺點。
這個實驗利用人體肌肉組織與骨頭對於紅外線的通透性不同的特性,來達成 x 光機的效果。

這個想法來自於紅外線脈搏計,
既然紅外線可以穿透肌肉組織而被骨頭反射,
這不就正好與X光攝影的原理相似嗎?
所以可以用紅外線來完成X光的工作嗎?

上Google找了找好像並沒有人做過類似的東西,
那就自己來實驗看看囉。




最初的想法是利用與紅外線光電晶體直徑相同的圓點來顯示所接收到的光能量,
實際運作時一根手指頭的寬度上大概只取出三個點的數值,
雖然解析度相當差(只有16*20點),但也真的印證了這個想法是可行的,
一根手指寬度上的三個點顯示出「亮、暗、亮」的分佈,
即中間較暗的地方為骨頭所在的位置。

第二台機器把掃描步距縮短,一個手掌的寬度走了320步,
分析手掌四指部份的面積解析度來到16*320點。
此外,也把掃描平台架上壓克力板,
避免掃描時手掌晃動,造成畫面不佳。




此時已經大致可以顯示出骨頭的形狀,
甚至是關節位置也可以看見了。




相機的感光元件可以接收到紅外線,
但這張照片給了我個想法:
是不是用亮度夠高的可見光也可以達成相同的效果呢?




上方的紅外線光源:紅外線發光二極體(Infrared LED)




下方則是感光元件:紅外線光電晶體(Infrared Phototransistor)




LED的驅動電路,同時使用了42顆LED,
為了讓LED能夠操作在所能承受的最大亮度,
需要一個相當穩定的電流源,要不一個不小心就燒光光了。

取出原始資料後就可以來變花樣了




處理原始的資料,分成四種模式。




未經過處理的原始圖




單獨取出肌肉組織的位置




單取骨頭的形狀




肌肉與骨頭的比較圖




這是第一張原始圖由低角度的方向觀看螢幕的結果,
這是最清楚的觀察方式。
(明明就是Coding功力還不到家)




加上外殼之後,
看起來就像是個會把手掌吃掉的機器哈哈。




展覽時所製作的海報

靠這種手工土砲方式要再提昇解析度就是把光電晶體改成SMD元件了。
或者利用紅外線攝影來拍攝,會是什麼結果呢?


作者:王騰毅、陳彥儒、傅泓榤


紅外線LED---2元/顆
紅外線光電晶體---2元/顆
Arduino Mega 2560
3.2吋 LCD
LM317 (LED Driver)---40元/顆
L298  Motor Driver
廢棄DVD播放機、光碟機


2013年2月8日 星期五

[DIY]硬體控制的簡單美:太陽能Timer555調速車及手動追日系統


這學期電子電路實驗課的期末專題是利用555來做太陽能調速車,
亦即利用timer555來產生PWM訊號,控制直流馬達的轉速。



LM555的腳位圖



這是老師給的參考電路圖,
馬達的轉速就由2.2K VR(Ra)以及10K VR(Rb)決定。
週期公式如下:



要利用三伏特的小太陽能板來驅動這樣的電路實在有點吃力,
所以就做了小小的修改:
a)去掉R1(100歐姆)及R2(15K歐姆)
b)將2.2K VR 改為10K VR,與Rb共用同一顆可變電阻即可(亦即利用一顆10K VR控制pin 7的位準)
c)電容C1改為2.2uF

另外,標準的LM555在datasheet中所標示的最低工作電壓為4.5V,
利用電源供應器測試最少也得要2.5V才能開始工作,
對於在太陽能板的效率及電壓都不足的情況下,
就把LM555換成LMC555(即低功耗的555),
如此只需要1.5V就能讓小馬達轉動。



用大的可變電阻加上旋鈕,便於調整速度。


使用示波器觀察馬達腳位輸出的波形:

最小輸出電壓

duty cycle=50%

最大輸出電壓

裝上小車子

在太陽能板效率差的限制下,決定加上手動追日系統。
底部旋轉支架就用枇杷糖的盒子,穩定性高且可以旋轉三百六十度以上。(不要把電線紐斷就好)
仰角的部份則是使用麥克風支架改裝。
把之前做好的洞洞板放入盒子裡,開個洞剛好可以在車底調速。


成品

直流馬達需要較大的啟動電流,在陽光不夠強烈的情況下,
可能就需要使用Solar Engine來讓小車運轉。






2013年1月25日 星期五

[Hack]台灣島七百二十度

一個人
兩圈台灣
十八個車站
二十班火車
七十三分的工數考卷
兩百二十八張照片
兩百五十西西B型血液
五百九十九元


每每大考前夕埋首原文書堆裡的時候,
總忍不住偷想考完試之後一定要做什麼事、要去哪裡玩,
然而考完之後也總會有「真的忙完了嗎?」的不真實感,
才遲疑了一下下,可以運用的假期早結束了。


於是禮拜一看完期末考卷之後,帶著一條毛巾一隻牙刷就出門了。

但我也不知道我要去哪裡。


內壢站有個年輕的售票員,菜味很重,
我想我應該買到了他所賣出的第一張TR-PASS。
想往北走,但看到車子來了就上車了。



於是它暗示了我這一趟會充滿了雪夜訪戴的趣味。



平時忙碌的時候也有像這樣可以看著發呆的天空嗎?



鄰坐的阿伯搭訕坐在隔壁的年輕女職員。
阿伯指著女職員剛掛斷電話的HTC,說他小兒子也用HTC。
阿伯說他有三個小孩,小女兒以前讀台大,畢業之後到某所科技大學教書。
有一天他女兒昏倒了,醒來之後就發瘋了,住進長庚醫院治療。
病徵出現的時候力氣很大,沒有人抓的住,要打鎮靜劑之後才會平復。
後來康復了,但沒辦法回學校教書,以一些臨時性的社會救濟工作過活。
阿伯覺的這樣子是浪費社會資源。

女職員在桃園下了車,對阿伯說:「我們下次再聊:)」

然後阿伯開始啃從袋裡拿出來的芭樂,吃完芭樂看報紙。



與自強號會車的時候會「轟」一聲。

從車窗的倒影可以偷偷觀察車上的人。



樹林站,開往便當的區間車。



板橋有一班開到蘇澳的區間車,在台北站上了好多乘客,空氣太悶所以在南港就下車了。



才發現原來南港是個只停區間車的小站。



車窗上的畫面,到底是窗外的景象,還是對面車窗外的倒影?



還需要媽媽抱著的小朋友都想要拉拉看離他好遠的拉環,
這一趟看到了兩次,抱起小孩讓他們拉一下拉環的媽媽。
好像都是小男孩。





i的那一點好像是被某個猴囡仔摳掉之後再補上去的。
為什麼是Qidu而不是Chidu?



七堵有這種坐起來不像看起來那樣好坐的椅子。



小時候第一次全家到了蘇澳,發現有蘇澳冷泉,但都沒有帶泳裝所以很惋惜的離開了。
之後第二次到了蘇澳終於如願以償泡到了冷泉,但發現公共池泡起來就是泡很冰涼的水。

沒來由的失望,但仔細想想,我也不知道我心目中的冷泉該是怎麼樣子的。

到宜蘭前的半個小時,整個車廂只有我一個人。



在宜蘭下了車,在608來之前還可以再往前推進一點,所以就先到了花蓮。




小時候每個人都有一條security blanket (是吧?)。
印象中我的那一條上面印滿了好多不知名的卡通圖案,
兔子吃紅蘿蔔,烏龜的小房子之類的,
我常要每個人依照小被被上的很多圖案說故事,
不記得每個絞盡腦汁唬出來的奇怪故事了,
只記得每次聽完故事都會很滿足很開心。
於是變本加厲的要每個人給我說故事,用小被被。



因花東鐵路電氣化工程,本來606次的莒光號在週一到週四改成608次莒光行駛。

凌晨四點十三分抵達偏僻的台東站無疑促進了計程車的生意。
(應該說把火車站設立在離市區這麼遠的地方就是個德政)

遇到兩個看起來就是都市來的,行李很多的大學男生在跟計程車司機詢價。
我問他們可不可以共乘,我只要到市區,哪裡都好。

「那這樣剛好,一個人一百。」
「跳表好嗎?」
「......一個人一百,一共三百。」
「跳表好嗎?」

司機就很不甘願的按下計程表,開始飆車。

到了台東家樂福,剛好跳到兩百五。



幹嘛這樣很囧的看著我ˊˋ?

到市區還沒五點,散步到台東海濱公園,還是暗的伸手不見五指。
浪很大,聽覺可以補回一點視覺。

六點整天微亮,村裡的擴音器吹了一段喇叭,
婆婆媽媽們也同時按下了早操音樂帶的播放鍵,
原來他們也早就摸黑就定位了。




























一動一靜。

雲層滿厚的。



七點多陽光終於突破雲層了,從綠島背後冒出來的。

如果說台灣的民主政治有故鄉,我想綠島應該會是其中一個吧。



路上佈滿了失敗。




中山路正氣路口中央市場公車站牌,
有好多原住民阿公阿嬤買完菜,咬著檳榔講著我聽不懂的原住民語等公車。

往火車站的公車一個小時只有一班。



這裡的區間車一天只有兩班,只好坐莒光。

每次南迴的莒光上都睡著了,沒注意到有什麼風景,所以也沒有可不可惜的問題。





地上很多麵包屑,白鴿也在吃。



這裡的氣氛跟台北車站真的很不一樣。
晴天有陽光,雨天濕漉漉。
有真的風,人們用正常的速度走路。



區間回到斗六,搭公車虎尾吧。

斗六後站真的變了很多,
台西客運有新車,有新車站,
除去了一些記憶,當然也包括那些美好的。

偶爾看見一兩個正心的學弟妹,但早也不是我們那時穿的制服了。



回家吃飯洗澡睡覺。
隔壁鄰居在賣喵喵兩隻。
他們小時候很愛偷跑進我家客廳過夜。



而我家的黑比硬是大了一個size。
他總要抱著尾巴才好睡。



斗南車站也是個很有歷史的車站,據說這是台灣最長的木椅。



小時候和媽媽來接姊姊回家的時候,都會趴在窗台上看魚貫出站的旅客。
也一邊看看姊姊出現了沒。



最近的一班車只到斗六,所以又到斗六了。



之前捐血多是拿餅乾飲料而已因為我愛吃,
這次沒多想整包拿了就走,
沒想到裡面竟然有個像磚塊一樣的蠟燭==

總不能丟掉,感覺那樣會遭天譴,
只好背著走了。
怎麼說那也是用生命換來的重量阿!



彰化車站是山線海線的交會點,特地來這邊轉海線區間車。



整理的時候才發現這張不小心拍下的照片,也是這一趟唯一的一張自拍照(羞)。



遇到蒸氣老火車在練車,現場才感受的到他的氣勢。

相較現在的燃油引擎或者電動馬達,蒸氣鍋爐所表現出來的工藝更是迷人阿。
加熱水產生水蒸氣轉換為動力,老火車頭就活生生的在眼前奔馳著,
他展現出的力量一點都不老。





區間車開過海線小站,往新竹。
下了班的別輛火車的車長帶著兩個女兒搭區間車回家。
其中一個智齒痛,連用吸管喝飲料都痛。
下了班的車長與區間車的車長寒暄著。

下了班的車長和他的女兒們下車之後,
區間車的車長手滑,把無線電摔到地上了,
偷笑他好像有點不好。



台北車站大廳,是多少人情感與記憶的交會點?

這裡有四面八方來的人,
也朝著四面八方去。

喜怒哀樂在這都看得到,
就是這麼高大的空間,也不夠容納每個旅客在這留下的一點點回憶吧。



台北車站的翻牌時鐘。



八堵站,第二次608次往台東。
因為週一到週四只有608次適合拿來充當民宿。



第二圈的起點,上車之後就可以一路睡到台東了。



過了花蓮之後,又是我包下整個車廂了。

每當終點站是台東車站的車子抵達台東,
車站就會分別用國、台、客語廣播兩輪
「台東站到了,台東站到了,下車的旅客請由地下道順序出站。」
廣播的音調聽不出情緒,卻讓人有種被卡住的感覺。
我想是因為廣播的意思就是告訴你:「快下車吧,你已經前進不了了。」

一定是我沒睡飽被吵醒,所以才愚蠢到對廣播聲充滿敵意。



還是只能選擇跟別人共乘計程車,這次遇到了一個看起來像原住民的女生。
沒跳表沒喊價,到了目的地之後司機說「一共兩百八,這是縣政府規定的價格。」


找了找路又到海邊了。
上次路上愈到了好多狗狗,都沒有綁起來的,
一隻比一隻熱情,一邊大聲狂吠一邊跑向我。
是沒被咬但心理壓力還是很大的阿!

為了避開熱情的狗狗,挑了感覺方向正確的小巷子走。
然後造成更大的心理壓力囧,
閃爍的路燈,被民宅包圍的彎曲小巷子不知道會通道哪裡......
我就不贅述了。

大清早伸手不見五指的海邊有很多人,
來運動的、遛狗的、睡不著的,
我絕對不會承認我被嚇了好幾次。

有個阿伯帶著他的狗狗來巡海灘,
從我背後聞了幾下就很熱情的又撲又舔又磨蹭的,
阿伯大喊「免驚啦他很乖,他就想要人抱」,
我抱了抱他,我滿身口水。
期望未來的每趟旅行中,都會有個溫暖的擁抱。



對不起,我還沒有能力買個救生圈來這掛上。



這天海上的雲更多了,反倒另一頭清明的多。



往火車站的公車上隨意亂拍。

如果有機會,我想把這張照片送給四十年後的這兩位女生。



本來想把包包寄在火車站的置物櫃,租腳踏車騎山海鐵馬道的,
但火車站旁的腳踏車出租店都沒開,
一股衝動想走回台東市區,
這時陽光正大,穿著短袖抱著大外套,走了一公里多就折返了。
差點就在台東完成第七次仁愛健行。



中華電信,想回火車站又找不到路的話,找這一支就可以了。



又累又睏,看好了這班經北迴往彰化的莒光,
十一點二十五分發車,預計晚上七點四十六分抵達內壢。



這四天第一次坐上逆行的火車,感覺很不適應。



於是我在十一點二十三分下車了,車門關上蹦了一聲,我的心裡也蹦了一下。
目送車子離開的瞬間覺的自己有點愚蠢。



一路順到底吧,慢一點沒關係。
(TMD本來一班車就可以到的,現在要換三班車)


仍未電氣化的花東線,沒有礙眼的電線桿跟電線。



一個爸爸帶著兩個小孩,
爸爸一路站著陪座位上的兩個女兒。

四周圍都是空位。





南迴線大武站到枋寮站之間,
先是山洞與山洞縫隙間的山水畫,
出了山區是一片遼闊的大海就在鐵軌下。

霧濛濛的天氣太適合這樣的景緻了,
感覺就是幽浮會出沒的場景。

好天氣時應該也會有很美的夕陽吧。



這才發現原來以前的復興號已經變成南迴的區間車了。
不知道現在還能不能搭到鐵殼的平快車。






花東南迴線上都是用柴油車,
這裡的莒光號及區間車,
除了提供動力的柴油車頭之外,會在加掛這樣一節這樣的車廂,
裡頭有發電機供給客車內的電力,另外也是行李車。


寬敞舒適永不塞車
風馳電掣縮地千里
歡迎光臨

好有氣勢的一副對聯。
(不塞車沒錯,但是會誤點)




比起隔壁的高雄車站,鳳山呈現的就是個樸實的小城鎮,靜默卻很有力量。

還有時間,區間先到台南吧。



去年暑假常跑台南,多是往後站走,因此前站稍微陌生。
說也有趣,常跑台南的那段時間多是在麥當勞解決午餐,
沒真的品嚐到台南包羅萬象的美食。
沒關係,放到任務攔吧。



後站的遠百也是個大指標。
月亮拍糊了。



沒力氣慢慢區間回桃園了。



鐵路便當還是台北做的比較好吃,這是高雄的。



中壢車站的告示牌。
中壢是個容納各種文化的大都市。



中壢往內壢,最後一班區間了。



十一點十五,回到原點。


匆匆繞了兩圈像是走馬看花,但我覺的這是種練習,更是個預習。
不帶充電器就是要提醒自己離開小螢幕,看看真實的世界。

移動的時候,餓了就吃,睏了就睡,天亮就看風景,天黑就看書。
要不就觀察車上的人,只剩自己的時候就對自己說說話。
沒有什麼勉強的問題,只有向前走,只能向前走。

區間車帶我去那些沒聽過的小車站,看看生活在這裡的人們。
莒光號讓我好好獨處。
還有隨心情快步或散步的雙腳所走過得每個角落。

一個人有好有壞,隨心所欲愛去那就去哪,不用刷牙不用洗澡也不用睡覺。
臨時改變方向也不需要原因,走錯了不會怪自己也不用怪別人,也因為走錯而遇見更多。
認識的只有自己,只能與自己分享,要不就是鼓起勇氣去面對陌生人。

不敢說又多認識自己一些,至少更懂的怎麼面對自己、怎麼與自己對話了吧。


車次 車種 起站   開車    訖站 到站
1203 區間 內壢   1451   新竹 1540 1/21
1262 區間 新竹   1603   板橋 1734
4242 區間 板橋   1926   南港 1950
1294 區間 南港   2026   七堵 2045
4244 區間 七堵   2100   宜蘭 2237
554 莒光 宜蘭   2250   花蓮 0023
608 莒光 花蓮   0110   台東 0412 1/22
702 莒光 台東   0953   高雄 1319
3168 區間 高雄   1342   斗六 1630
3154 區間 斗南   1413   斗六 1420 1/23
2352 區間 斗六   1458   彰化 1548
1620 區間 彰化   1620   新竹 1824
1292 區間 新竹   1829   台北 2001
1298 區間 台北   2024   基隆 2110
1301 區間 基隆   2117   八堵 2125
608 莒光 八堵   2201   台東 0412 1/24
704 莒光 台東   1248   鳳山 1550
3188 區間 鳳山   1626   台南 1745
522 莒光 台南   1800   中壢 2257
1328 區間 中壢   2311   內壢 2315





P.S.  只帶了一支不能自動對焦的舊手機,照片畫質就像這四天的生活一樣,維持在最低的系統需求而已,哈哈。