2009年6月13日 星期六

異數

https://4rdp.blogspot.com/2009/06/blog-post.html?m=0

更多有關 異數 的事情
異數,超凡與平凡的界線在哪裡? Outliers, The Story of Success 時報出版,麥爾坎‧葛拉威爾 (Malcolm Gladwell) 著 廖月娟譯 ISBN 9789571349848。

這是一本討論成功要素並將它解密的一本書,很佩服作者淵博的學識,對世界各地的文化歷史背景如數家珍,從書中學到的不只是成功方法,更充實許多社會文化歷練,這真是一本難得一見的好書。

成功應該是每個人的期望,但是如何可以成功?

2009年6月6日 星期六

Skyfire Browser

https://4rdp.blogspot.com/2009/06/skyfire-browser.html?m=0


這些天我在尋找掌上型可以上網的裝置 (MID,Mobile Internet Device),不過現代科技還沒有進步到令人滿意的地步,會有這樣的想法,一切從目前使用的 HTC Touch Pro 談起,今年初開始用 HTC Touch Pro 後,逐步了解使用 HTC Touch Pro 所附的 IE 或者是 Opera 瀏覽器,很多網頁無法開啟影音功能,這是因為有很多網頁內崁 Adobe Flash,而這些瀏覽器是無法觀看,為了滿足我的影音需求,從新檢視下列各項方案:

2009年5月30日 星期六

Simple Cube Solver 設計感想

https://4rdp.blogspot.com/2009/05/simple-cube-solver.html?m=0

在進行此 Cube Solver 專案之前,我並沒有百分之百把握可以解決所有問題,但是蠻幸運的能在網路上找到許多解決方案,雖然它們需要程式改寫才能適用,不過關鍵技術逐一確認後,想完成它就非難事。

研發除了技術問題要處理,還須注意日程進度、價格、效能與品質。技術知識在學生時代就須紮好底子,平時也一直進修學習,那遇到問題才有能力逐項克服。一些底子不夠的工程師很容易半路陣亡,如果一個問題搞個兩三天弄不出來,就會開始坐立難安;兩三個禮拜還弄不好,老闆就會每天和你請安;兩三個月不見成果,自己應該要有心理準備;兩年東西沒辦法生產上市,一定捲舖蓋走路。

價格也是商品成功要素之一,

2009年5月23日 星期六

VB - Color Identification

https://4rdp.blogspot.com/2009/05/vb-color-identification.html?m=0

顏色識別是這個程式另一個技術瓶頸,在網路上找到藍色小舖所提供的方法比較簡單,它提供全螢幕抓點,共有兩項技術要點:螢幕座標計算以及顏色判別。

首先,如何計算螢幕上特定位置座標?

2009年5月16日 星期六

VB - Video Captrue

https://4rdp.blogspot.com/2009/05/vb-video-captrue.html?m=0

研究完 Bluetooth 通訊後,Cube Solver 還有一個重要功能必須加入,那就是顏色識別。當初我只購買 LEGO MINDSTORMS NXT 8527,沒有再添購其它特殊 Sensor,因此可以用來顏色識別的感測器只有 Light Sensor

所以我先測看看 Light Sensor 顏色識別度如何,結果大失所望,以下是我以 NXT View 所得的測試結果:

2009年5月9日 星期六

VB - Communication with NXT over Bluetooth

https://4rdp.blogspot.com/2009/05/vb-communication-with-nxt-over.html?m=0

接續前一篇貼文,我們先設計一個六面體遙控程式,也就是點選程式上的按鍵,然後以藍芽遙控 LEGO MINDSTORMS NXT 正轉反轉 90 度,這裡用 NXC 設計 NXT 程式。

//
// Author: Bridan
//         http://4rdp.blogspot.com
// Date:   2009/05/09
//
// Brief:  Remote control NXT motor by bluetooth
//

#include "NXCDefs.h"

#define FRONT_C "F "
#define FRONT_R "F'"
#define CLEAR   true
#define INBOX1  0

sub BTCheck(int conn)
{
if (!BluetoothStatus(conn)==NO_ERR){
TextOut(5,LCD_LINE2,"Error");
Wait(1000);
Stop(true);
}

}

task main()
{
string   control;
string   str;

BTCheck(0);

while (true) {
ReceiveRemoteString(INBOX1, CLEAR, control);

if (control == FRONT_C) {
RotateMotor(OUT_A,50,90);
} else if (control == FRONT_R) {
RotateMotor(OUT_A,50,-90);
} else {
continue;
}

str = StrCat("Control = ",control);
TextOut(0, LCD_LINE1, str, true);
}
}


這裡先說明 NXC 程式,

2009年5月2日 星期六

VB - Simple Cube Rotating

https://4rdp.blogspot.com/2009/05/vb-simple-cube-rotating.html?m=0

在設計複雜程式前,通常先寫簡單程式確立程式架構,然後逐步修改及添加功能,最後就可以設計出成品。同樣的,想設計複雜的 Cube Solver 也是如此,先寫一個簡單六面體程式看看旋轉的情形,再從這個程式修改。就像蓋房子一樣,都要先挖地基、架鋼骨,而後釘模板、灌泥漿,從地面蓋到摩天大樓。

另外,設計自己的作品前先參考別人的作品也是很重要的步驟,學習他人的優點改進缺點,讓作品更臻完美。下列網址值得參考,