2017年10月23日 星期一

ROSA 系統開發 43 ─ mBot 程式碼釋出

http://4rdp.blogspot.tw/2017/10/rosa-43-mbot.html

寫好 OTTO like 程式後,稍微改一下 mBot 也可以使用,今天就釋出 ROSA 原始碼給有興趣的朋友參考。

這個程式提供三種模式 ─ 遙控模式避碰模式循跡模式

遙控器操作方式如下:(這裡的遙控器不限定 mBot 的,KEYES 或是手機程式皆同)
按鍵 A 或 7,皆為設定為遙控模式
按鍵 B 或 8,皆為設定為避碰模式
按鍵 C 或 9,皆為設定為循跡模式
按鍵 1~5,調整車速,數值越小車速越慢
按鍵 上下左右,控制方向
按鍵 * 或 OK,為停止


2017年10月19日 星期四

訓練數學感 151 ─ 關於對蹠點問題研究 Antipodes Study Part 2

http://4rdp.blogspot.tw/2017/10/151-antipodes-study-part-2.html

前文,網友赤子西瓜自己提問一個對蹠點問題,他已經充分了解如何解析這問題,就嘗試和同學一起研究運動方程式,現在把部分成果展現,並且也加入我的一些網友意見,大家共同創作,有興趣的朋友歡迎加入。

首先看西瓜的研究原文,說明對蹠點問題的解。

內置圖片 1
為了解決這一題,我將地球切成上下兩半,如上圖,C、D為兩半球的質心。
現在開始計算k。
由於上下兩個半球是軸對稱形體,所以取一半圓形薄膜計算質心即可。在此令密度為ρ。

假設兩函數:
內置圖片 3
圖形如下(圖形為R=1時的範例):
內置圖片 4

將區間[-R,R]縱切分為n個子區間,寬度Δx。假設第i個子區間中心為xi,將對應第i個子區間想像成一個高f(xi)-g(xi)的長方形。
則此長方形的質量mi為
(密度)(高度)(寬度)
mi=ρ[f(xi)-g(xi)]Δx
想像此長方形的質量集中在中心,則mi對x軸的質矩Mx
(質量)(距離)
Mx=ρ[f(xi)-g(xi)]Δx[f(xi)+g(xi)]/2
  =(1/2)ρ[f(xi)-g(xi)][f(xi)+g(xi)]Δx
取n→∞,積分求總和,然後除以半圓的質量,即可得到質心的y座標。(而質心的x座標為零,顯而易見。)
內置圖片 1
內置圖片 2
(y bar為質心縱座標、A為半圓面積。)
因此k=4R/3π。

​再次回到原圖。假設物體m在路徑AB上的動點P。令OP向量為物體的位置向量r(t)、上下兩半球質心指向物體的兩向量d1(t),d2(t),且兩者大小相等、d1(t),d2(t)與r(t)夾角θ、沿著CP、DP作用的萬有引力Fg1,Fg2。
首先,根據萬有引力定律:
內置圖片 5
接著觀察下圖。
​將θ經過簡單的內錯角;Fg1、Fg2適當的平移,就可以得到上圖。
此時,就可以計算Fg1:
內置圖片 8
觀察上上圖之後,發現最右邊的cosθ與|d(t)|,則可以如此代換:

內置圖片 9
代換後:
內置圖片 13
將Fg的絕對值去除,需要考慮方向,此時假設一單位向量r^,方向和r(t)相反。
內置圖片 11
根據牛頓第二運動定律,Fg=mg,這裡g即為r(t)的二階導函數。接著,將m消除,稍加整理。
內置圖片 14
在此|r(t)|得以去絕對值。因為r^和|r(t)|方向相反,所以結果會是-r(t)。最後,帶入k=4R/3π。
(我去翻了寄件備份,發現我當時竟然忘了這個負號!)
內置圖片 15
結果即是此微分方程式。
其實,個人比較喜歡以下形式:
內置圖片 16

2017年10月15日 星期日

ROSA 系統開發 42 ─ 新北自造者嘉年華 (Mini Maker Faire New Taipei)

http://4rdp.blogspot.tw/2017/10/rosa-42-mini-maker-faire-new-taipei.html

十月 14, 15 兩天,新北市政府在板橋市民廣場露天舉辦新北自造者嘉年華,台北天氣受卡努輕颱以及東北寄風共伴的影響,從 13 號星期五開始大雨不斷,雖然 14 號星期六上午雨勢稍有停歇,可是對在戶外舉辦的活動,是一個極度傷害的因素,如果沒有這場雨,會場應該會有數倍人潮參觀。

我上午就先去林益成的機甲人形師的覓星工坊攤位拜訪,並帶著之前會跳極樂淨土舞的 OTTO like 給他擺攤,益成又送我一隻紅色進化版的 OTTO like 有加強腳部結構,還加裝一個電源按鍵,可以控制四顆四號電池電源,它的外觀就是左邊照片的那一隻,因為是紅色的,我就當它是綠色 OTTO like 的女朋友。

這隻帶回家就先幫她安裝 ROSA 程式,不過發現她的動作跟她的男朋友不太一樣,原來紅 OTTO like 下肢馬達安裝方向是相反的,這在設計 ROSA 的時候早就意料到,在 ROSA_SERVO.cpp 中 byte gServo_Reverse[] = { 0, 1, 1, 1, 0, 0, 0 };
把紅字 1 改為 0,0 改為 1,就可反轉馬達方向,不用重新拆裝馬達。

改好後程式再跑一次,腳的角度還是有點差異,因此 OTTO_Motion.h 中,左腿及右腿下肢角度重新調整,註解的數值是原來綠色 OTTO like 的角度設定,你會發現不同 SG90 馬達差異真的很大,而且還不線性,不過這些問題 ROSA 都可以輕易解決。改好後隔天,再把它送回給益成擺攤。

2017年10月11日 星期三

訓練數學感 150 ─ 沒有心臟病的機會有多高?

http://4rdp.blogspot.tw/2017/10/150.html

這裡的「心臟病」是指撲克牌一種遊戲玩法,一付撲克牌 52 張,以 A,2, ... ,10,J,Q,K 分別代表數值 1,2, ... ,10,11,12,13,一群人圍坐在一起,撲克牌充分洗牌後蓋起來放在中間,大家輪流翻一張牌,並且依續喊出 1,2, ... ,10,11,12,13,當遇到喊出數值跟牌張配對時,大家就伸手搶蓋牌,最下層的人有權利從上往下打反應遲鈍玩家的手背。

這裡的問題,請問翻完 52 張牌,遇不到「心臟病」的機會有多高?

2017年10月7日 星期六

ROSA 系統開發 41 ─ mBlock 序列埠通訊問題

http://4rdp.blogspot.tw/2017/10/rosa-41-mblock.html

這篇文章主要記錄 mBlock 序列埠通訊問題,期望 MakeBlock 公司盡快將這問題解決。

兩年前,我曾嘗試用 mBlock 與 Arduino 相互傳送字串可以正常運作,詳見 ROSA 與 mBlock 的歡喜相遇一文,但現在以 mBlock v3.4.11 卻發現不行,為了釐清問題所在,進行以下步驟來除錯,有興趣的朋友參考看看。

1. 先將 USB 序列埠連線,寫一個小程式在 mBot 或 Arduino 上,每秒傳送 Hello! 字串,可以看見圖一右下角監控視窗每秒有資料傳給電腦。


2. 再來寫電腦端的 mBlock 程式,每秒讀取一行數據,執行程式後,小貓熊沒有任何反應。

2017年10月3日 星期二

2017「遊能有愉」 能源主題桌遊設計工作坊及競賽 ─ 招兵買馬

http://4rdp.blogspot.tw/2017/10/2017.html


網路上看到 Accupass 貼出桌遊設計比賽,活動細節詳見https://www.accupass.com/event/1709210424071181235778,是由財團法人台灣綜合研究院、國立臺北教育大學數位科技設計學系、HELLO MAKER 教育團隊主辦,經濟部能源局為指導單位,國立臺中科技大學資訊管理系協辦。

活動有北中南三區,看一下北區活動日程
10/13(五) 11:00 活動說明會,國立台北教育大學科學館 B101 階梯教室
10/22(日) 報名截止
10/27(五) 公布錄取及備取名單
10/30(一) 繳交保證金截止
11/18,19(六日) 09:00~18:00 培訓上課
12/10(日) 作品上傳截止
12/18(一) 公佈決賽名單及時間地點
??? 決賽

2017年10月1日 星期日

訓練數學感 149 ─ 對蹠點 (Antipodes)

http://4rdp.blogspot.tw/2017/10/149-antipodes.html

如果架設一條管子穿過地心,從地表擲下一顆球,令其不受阻力地順著重力往地心自由墜落:
(1)球是否能到達對蹠點?
(2)速度變化過程為何?

2017年9月27日 星期三

ROSA 系統開發 40 ─ 手機 APP 與 OTTO like

http://4rdp.blogspot.tw/2017/09/rosa-40-app-otto-like.html

之前開發的機器人控制展示皆以紅外線 (IR) 為主,主要是考量國中小幼童沒有手機怎麼玩?不過 ROSA 設計上早已預留手機藍牙的功能,本文將進一步說明如何將藍牙控制加入 ROSA。

首先複習舊文 ROSA 系統開發 24 ─ 以軟體序列埠程式連接 Arduino 藍芽通訊,在 ROSA_BT.cpp 程式中,
SoftwareSerial BLUETOOTH(13, 3);      // pin 13 connect to BT's TX   pin 3 connect to BT's RX
使用 Arduino 的 pin 3 RX 接藍牙 TXD ,Arduino 的 pin 13 TX 接藍牙 RXD,如果想換 Arduino pin 腳位置,記得修改這部分。

另外通訊速度參考前文 ROSA 系統開發 39 ─ OTTO like 的程式碼釋出,在 OTTO_Define.h 程式中,
//3. 選擇 BT 高低速通訊
#define BT_57600 // BT_9600 //

弄好 Arduino 端,再來就是手機端、平板或是電腦端,不過本文重點在手機,日後有機會再深入討論平板或電腦。

2017年9月23日 星期六

訓練數學感 148 ─ 直線運動推導

http://4rdp.blogspot.tw/2017/09/148.html



可由已知的物理直線運動公式推導上式。

2017年9月19日 星期二

ROSA 系統開發 39 ─ OTTO like 的程式碼釋出

http://4rdp.blogspot.tw/2017/09/rosa-39-otto-like.html

圖片來自 機甲人形師的覓星工坊

這一篇說明 OTTO like 機器人 (以下簡稱 OTTO) 的 ROSA 程式碼一些細節以及開發極樂淨土舞過程的想法。

開始動工是拿 RWG 6x2 Spider 的 ROSA 程式碼改寫,蜘蛛的程式一跑,OTTO 馬上跌倒鼻青臉腫,就只好一樣一樣調整,ROSA 程式碼看不懂沒關係,只要你會設定調整,就可以一一解決相關問題。ROSA V15 程式中,玩家基本上搞懂 OTTO_Define.h 與 OTTO_Motion.h 兩個檔案,就可以編出你自己 OTTO 特殊舞蹈動作。

先看 OTTO_Define.h,因應不同的狀況可以調整它們:

//1. 選擇那一類 Arduino 板
#define Nano // UNO // mBot // motoduino // Mega // 

//2. 選擇 OTTO 幾隻腳,那一種組裝法?
#define OTTOx4 // OTTOx6 //  

//3. 選擇 BT 高低速通訊
#define BT_57600 // BT_9600 // 

//4. 選擇那一類紅外線遙控
#define IR_KEYES    //  IR_MBOT   //  IR_AUDIO  //    IR_CARMP3   // 

//5. 紅外線遙控可否處理 #13## 之類指令
#define ENABLE_IR_COMMAND

//6. 選擇 debug 訊息傳送至何處
enum{USB = 1, BT, IR};
#define DEBUG_INTERFACE  USB // BT  // 

//#define DEBUG_IR      // 檢查紅外線遙控器原始碼
//#define DEBUG_IRKEY   // 檢查紅外線遙控執行程序碼(內碼)
//#define DEBUG_IRWORD  // 檢查紅外線文字碼
//#define DEBUG_ACTION  // 檢查動作執行程序
//#define DEBUG_SERVO   // 顯示 SERVO 狀態
//#define DEBUG_MUSIC
#define DEBUG_COMMAND   // 檢查指令狀態
//#define DEBUG_NOW     // 檢查系統時間

ROSA 有引用兩個外部程式庫,因此 mBot.zip 和 SoftwareSerial.zip 請與 OTTO.ino 放在同一目錄。

ROSA V15 程式,只先加入一些重要指令功能,另外 SG90 對應 Arduino 的 pin 腳,可以從 SERVO_PIN[] 修改,
const byte SERVO_PIN[] PROGMEM =
// 0, 左上肢,左下肢,右腿上肢,右下肢,XXXX,XXXX
#ifdef Mega
  { 0, 17, 16, 15, 14, 4, 5};
#else
  { 0, 4, 5, 6, 7, 9, 10 };
#endif

2017年9月15日 星期五

訓練數學感 147 ─ 平均數

http://4rdp.blogspot.tw/2017/09/147.html

一個自然數的等差級數和 1+2+3+ ... + N,從這數列去除一個數後,其平均數為 15.25,請問 N 多少?被去除的數多少?

2017年9月11日 星期一

ROSA 系統開發 38 ─ 極樂淨土舞 (Robot like OTTO)

http://4rdp.blogspot.tw/2017/09/rosa-38-robot-like-otto.html


今年中與 maker 高手林益成相遇,有討論到 OTTO 機器人,他正在進行外觀修改,並送我一隻,因此我計劃今年下半年繼續進行 ROSA side project,就以它當作主角。

為了展現 ROSA 的特長,之前搭配 RWG 6x2 Spider 拍了兩個舞曲:妖怪手錶體操舞月薪嬌妻舞,現在為 OTTO like 機器人 (以下簡稱 OTTO),當然不例外給它配個舞,林益成點歌 極樂淨土,這是一首時間長達 3:45 的快慢舞步皆有的舞曲,把它當作挑戰,證明 ROSA 比其它機器人程式系統更適合編輯控制動作。


這項挑戰讓 ROSA 破了多項記錄,

一、跳舞時間長 3:45,因此舞步變化無法在 256 步驟內完成,必須加入副程式處理,因此有 _GOSUB 及 _RETURN 等指令加入。

二、舞步節奏有快有慢,因此除了 _DANCE 指令外,還增加 _SLOW2、_SLOW4、_SLOW8、_FAST2、_FAST4 等指令,可以維持原來 _TEMPO 節奏並對動作調速。

三、OTTO 是雙足機器人,些許角度偏差會造成機器人不平衡,重心錯誤會跌倒的,不像 RWG 6x2 Spider 只要有三隻腳以上撐地就不會倒,不需要精準角度定位,但是 OTTO 不行,因此每一顆 SG90 伺服馬達必須特調角度,確保角度正確。

2017年9月7日 星期四

訓練數學感 146 ─ 高鐵票怎麼買比較便宜?

http://4rdp.blogspot.tw/2017/09/146.html

圖片來自 台灣高鐵
台灣高鐵的票價表如上,注意標準車箱票價即可 (左下水藍色部分),例如彰化到左營的普通全票為 670 元,現在把它分段買彰化到嘉義 250 元,嘉義到左營 410 元,會發現省 10 元。
請問這張表還有那些分段買比較便宜的例子?或是比較貴的情形?


2017年9月3日 星期日

Power Bank IC 研究系列 3 - MP3401

http://4rdp.blogspot.tw/2017/09/power-bank-ic-3-mp3401.html

之前分析過 FM9833ETP4293 ,現在以相同手法測這個 MP3401。


雖然上網查不到 MP3401 的規格書,

2017年8月30日 星期三

訓練數學感 145 ─ 三角形角度是多少?

http://4rdp.blogspot.tw/2017/08/145.html

ABC 三角形,AP 平分 ∠BAC,BQ 平分 ∠ABC,若 AB+BP=AQ+QB,求角度 θ 及 φ

2017年8月26日 星期六

Power Bank IC 研究系列 2 - TP4293

http://4rdp.blogspot.tw/2017/08/power-bank-ic-2-tp4293.html

圖片來源 http://china.herostart.com
之前分析過 FM9833E ,現在以相同手法測這個 TP4293。

雖然上網查不到 TP4293 的規格書,

2017年8月22日 星期二

訓練數學感 144 ─ 解題

http://4rdp.blogspot.tw/2017/08/144.html

圖片來自博客來
有個數學競賽 21 位男生及 21 位女生參加,結果沒有人解題超過七題 (最多解六題),每一題至少有一位男生以及一位女生解出,任何一位男生與任何一個女生都至少解出一道相同的題目。
請證明:有一題至少有三位男生以及三位女生解出來。

2017年8月18日 星期五

ROSA 系統開發 37 ─ RWG 6x2 Spider 月薪嬌妻舞

http://4rdp.blogspot.tw/2017/08/rosa-37-rwg-6x2-spider.html





很久沒有更新 ROSA 進度,今天補上用 RWG 6x2 Spider 跳一段月薪嬌妻舞做為今年的再出發,我打算下半年再修整 ROSA 程式,把 command line parser 功能補全,讓有興趣用它的朋友可以更容易藍牙遙控。

隨文附上影片的動作碼,給大家參考,雖然已經有人設計出動作編輯程式,但是實際利用它編出舞蹈動作,沒幾個人辦得到,所看見的影片都是機器蜘蛛的操控展示,但是想要配樂舞動,應該沒有 ROSA 編輯的方便,各位可以參考舊文ROSA 系統開發 26 ─ P&B 6x2 Spider 妖怪手錶體操舞理解設計概念,這裡新增 _DANC2、_DANC3 等指令,它們用於拉長 _DANCE 節拍時間,_DANC2表示兩倍時間,_DANC3則為三倍時間,這樣 TEMPO 基本時間不用改來改去,就可以減慢執行,製造慢動的特殊動作。

const byte RUN_6[] PROGMEM = {  // spider dance-2
 //   0,   1,   2,   3,   4,   5,   6,   7,   8,   9,  10,  11,  12    月薪嬌妻
  _TEMPO,  56, idl, idl, idl, idl, idl, idl, idl, idl, idl, idl, idl,   // 50 x 10 ms
  
  _DANCE, fd0, ris, fd0, ris, mid, std, mid, std, mid, std, mid, std,   // 00 遮臉
  _DANCE, bk0, zeo, bk0, zeo, idl, hon, idl, hon, idl, hon, idl, hon,   //    開臂
  _DANCE, fd0, lif, fd0, lif, bck, idl, fwd, lif, bck, idl, fwd, idl,   // 01 合掌在頭  微左 提右腳

2017年8月14日 星期一

信任的演化

http://4rdp.blogspot.tw/2017/08/blog-post_14.html

https://audreyt.github.io/trust-zh-TW/
最近在FB看到這個網站,有關於信任的演化,它用遊戲的方式讓你親身體會人際互動,採取合作還是欺騙的態度,分別會造成甚麼樣的社會風氣。

短短的三十分鐘,你可以

2017年8月10日 星期四

Power Bank IC 研究系列 1 - FM9833E

http://4rdp.blogspot.tw/2017/08/power-bank-ic-1-fm9833e.html

製作機器人時,電源是很重要的關鍵部分,少了電源,就像人沒吃飯一樣,不是軟弱無力,不然就是一動也不動,雖然以前我曾經提出兩種解決方案 (一個是行動電源,另一個是 18650 簡易電源),但它們不是最佳方案,所以拆解手邊廢棄的行動電源進行研究,看看別人怎樣設計,我可以改善甚麼?所以這一系列研究,就是先看裡面的控制 IC,然後進行一些簡易測試,以了解控制特性。


上網查 FM9833E 的規格書,

2017年8月6日 星期日

雨量 (徐昇氏多邊形)

http://4rdp.blogspot.tw/2017/08/blog-post.html

圖案參考 Mountains & River
徐昇氏多邊形是網友行天下介紹我的,主要用於氣象雨量分佈表示,因為氣象觀測點任意分散在平面上,欲得知任意地點估計雨量,可以參考某氣象觀測點資料,這時候徐昇氏多邊形就是一種不錯的分割方式,邊界線上的點,距離相鄰的觀測點都是等距的

2017年8月2日 星期三

親訪 maker 高手林益成

http://4rdp.blogspot.tw/2017/08/maker.html


認識林益成應該要追朔十七八年前,我與他同在一家公司工作,不過那時我即將離職,而他剛就職沒多久,因此我對他印象並不深刻,不過當時他曾跟我討論工作發展,受我啟發後繼續學業深造,所以他對我印象反而是深刻的。

去年 MakerPRO 邀請演講,益成有參加聽講,雖然當時他覺得我很面熟,但是我沒有顯示出個人真名,因此他沒有立即認出我來,直到今年在 FB 貼出我的專利證書後才確認,聽他說起這些事,我才逐漸回憶起這些往事。

最近與他相約,並且與另一位昔日同事聚餐,餐後一同去他家參觀作品與秘密基地,雖然我沒有拍照,不過大家可以觀閱 Maker 一哥 鄭鴻旗訪問他的直播,益成與他父親的遙控飛機模型數量之多令人驚目咋舌,也難怪經過這麼多年玩遙控飛機的歷練,踏入了機器人 Maker 界,很容易就如魚得水,當天下午大家談起這些話題就幾乎停不了,並且從他那裏也獲得很多好點子,先賣關子,日後有機會再逐步展示給大家看。

此外,

2017年7月29日 星期六

訓練數學感 143 ─ 分配賭金

http://4rdp.blogspot.tw/2017/07/143.html

有兩個人的賭技不相上下,他們進行一個公平賭局,各拿出相等的賭金,並說好誰先勝三盤,就可以獲得全部的賭金,結果甲先贏一盤後,乙勝了兩盤,但是因故無法再繼續賭局,請問甲可以拿走多少賭金?

2017年7月25日 星期二

Side Project

http://4rdp.blogspot.tw/2017/07/side-project.html


最近看到一則 FB 貼文,作者 全民 Coding 將 Side Project 分析的很棒。

我從小就是一直執行 Side Project 的人,小學中學除了讀書之外,有空就是做棋,詳見下棋學策略 做棋學研發一文,專科後改為程式設計,出社會後沉寂一段時間,然後開始寫部落格記錄所見所聞,並且動手弄一些有的沒有的,讓自己一直有事情忙。

其實

2017年7月21日 星期五

拆穿智者的假象 (Der Schein der Weisen)

http://4rdp.blogspot.tw/2017/07/der-schein-der-weisen.html

拆穿智者的假象 ─ 日常思考模式中的失誤與誤判,ISBN 957-32-5314-3,遠流出版社貝克-伯侯特 (Hans-Peter Beck-Bornholdt),杜本 (Hans-Hermann Dubben) 合著,歐陽斐斐譯。

這本書在我手上應該有十年了,忘了為它寫一篇心得文,剛好這陣子海山高中 Fang Cheng 老師在 FB 貼了一個問題讓我想起這本書。題目如下

有一群人,其中1%患有癌症,如果患有癌症與沒有癌症的人檢驗正確的機率分別為9成與九成九,那麼有次某人拿到了醫院檢驗報告他患有癌症,問他實際上患有癌症的機率為 (A) 九成九以上 (B) 九成到九成九之間 (C) 七成到九成間
(D) 五成到七成間 (E) 五成以下


2017年7月17日 星期一

儀器 Python 模組

http://4rdp.blogspot.tw/2017/07/python.html

這陣子需要寫一些 Python 程式用儀器量測訊號,因此將常用的部分模組化,下面就是程式模組,因為只用了 COM 及 USB-TMC,所以僅將這兩部分模組化。

INSTRUMENT.py

# (C) 2017, Bridan Wang, CC BY-NC-SA 3.0 TW   http://4rdp.blogspot.tw/
from __future__ import division, unicode_literals, print_function, absolute_import
import serial
import visa
import time

class COM:
    def __init__(self):
        global inst1
        inst1 = serial.Serial()

    def OPEN(self, pp, rate = 9600):
        global inst1
        inst1.close()
        inst1.port = "COM"+str(pp)
        inst1.baudrate = rate
        inst1.timeout = 5
        inst1.open()
        time.sleep(1)
        self.stat = 2

    def CLOSE(self):
        global inst1
        inst1.close()

    def SEND(self, ss):
        global inst1
        ss = str(ss) + b"\r\n"
        inst1.write(ss)

    def QUERY(self, ss=""):
        global inst1
        if ss != "":
            self.SEND(ss)
            #time.sleep(1)
        qqx = inst1.readline()
        return qqx

    def QUERY_VALUE(self, q):
        a = self.QUERY(q)
        return float(a)


class USB:
    def __init__(self):
        global usb
        try:
            usb = visa.get_instruments_list()
            #print(usb)
        except:
            usb = []
   
    def OPEN(self, sel=0):
        global usb
        global inst
        try:
            inst = visa.Instrument(usb[sel], term_chars=b"\n", timeout=5)
            self.stat = 2
        except:
            self.stat = 0
        return self.stat

    def CLOSE(self):
        global inst
        inst.close()

    def SEND(self, ss):
        global inst
        inst.write(ss)

    def QUERY(self, ss=""):
        global inst
        if ss != "":
            self.SEND(ss)
            #time.sleep(1)
        qqx = inst.read()
        return qqx

    def QUERY_VALUE(self, q):
        a = self.QUERY(q)
        return float(a)

2017年7月13日 星期四

訓練數學感 142 ─ 有這種數嗎?

http://4rdp.blogspot.tw/2017/07/142.html

有一個數如果去掉最左邊的一位數字則變成 15如果去掉最右邊的一位數字則變成 50請求此數?

2017年7月9日 星期日

BBS 7-1 1D-2C 發展

http://4rdp.blogspot.tw/2017/07/bbs-7-1-1d-2c.html

討論原因:

五張高花開叫,可使用無王迫叫,以區分邀請成局以下點力的牌,
而 1D 開叫,沒有迫叫無王可供利用,所以二蓋一發展需要修正
本版 1D-2C 發展是 開叫者再叫 2NT,不迫叫
                             開叫者再叫 3NT,表示 18-19 點平均牌
                             答叫者第二次叫牌叫 2NT,不迫叫,除非開叫者倒叫
                             若無高花牌組配合,並且 3NT 不能打,合約允許停在四線低花

應注意本方法缺點,有時會將合約抬高一線。
若答叫者具開叫牌力的平均牌,應先 2C 再跳叫 3NT


發展過程:
1. 開叫者再叫自己開叫花色
    保證五張以上開叫牌組,可能有額外牌力

2. 開叫者再叫 2NT
    12-14 點,可以有單張梅花,至少一門未叫高花有擋,不迫叫,
    注意開叫者可能有四張高花牌組未叫,所以答叫者有高花應叫出,
    答叫者除 PASS 以外任何答叫,都迫叫成局

2017年7月5日 星期三

訓練數學感 141 ─ Submarine

http://4rdp.blogspot.tw/2017/07/141-submarine.html

小朋友寫作業,問我這題水中浮體物理問題,純水中有 AB 兩個物體,它們被綁在一起,在水中它們既不浮出水面,也不沉到池底,已知 A 的密度為 3 g/cm3,B 的體積是 A 的四倍,請問 B 密度多少?

2017年7月1日 星期六

VAX

http://4rdp.blogspot.tw/2017/07/vax.html

圖片來自 http://vax.herokuapp.com/game

看到一篇李怡志的網誌寫得很棒,討論關於現代社會傳染病防治問題,就像上圖每個圈圈代表一個人,每條線代表人際之間關係,當發生傳染病時,最親近的人就會被傳染,想斷開傳染途徑,就是打預防針,VAX 這個網站,就是讓你線上玩這遊戲理解與體會傳染病防治問題。

2017年6月27日 星期二

訓練數學感 140 ─ 內接正方形有多大

http://4rdp.blogspot.tw/2017/06/140.html

題目來自 TMT 8 考題
有一大正方形 ABCD 邊長 10 cm,以其邊長為半徑畫兩個圓弧 AFC 及 BED,請問其內接正方形 EFGH 邊長多少?


2017年6月23日 星期五

555 電路適合當伺服馬達控制器嗎?

http://4rdp.blogspot.tw/2017/06/555.html

555 震盪電路
最近整理舊文,看到這篇壓箱庫存文章,趕緊清倉。

多年前為了研究玩具伺服馬達 SG90,曾經自製控制器,因為想到有些網友可能不會寫程式,也不會用 Arduino,我想到應該可以用 555 震盪電路產出脈波電路來控制,所以設計了一個 555 非穩態50 Hz 震盪電路,脈波寬度可調。

不過實作後,發現這是一個失敗的控制器,這個電路失敗的主因在,555 震盪波形穩定性不足,以 MCU 程式控制產生脈波,它的穩定度才能讓伺服馬達穩定於某特定角度而不會發生抖動情況。

由下列公式可知

2017年6月19日 星期一

訓練數學感 139 ─ 角度是多少?

http://4rdp.blogspot.tw/2017/06/139.html

一正方形邊長未知,四個角依順時針方向數來,分別是 ABCD,在正方 形內有一點 G,其線段長度 AG、BG、CG 之比例為 1:2:3,試求角 AGB 為多少?

2017年6月15日 星期四

Moon

http://4rdp.blogspot.tw/2017/06/moon.html


這張照片是網友行天下分享的,他說在自家陽台以自製的望遠鏡拍攝的,採用天文的直焦攝影,是沒倍數的。整個月亮就差不多把整個相機攝框填滿,照片解析相當於兩百萬畫素。

雖然他住家附近有些光害,但是月亮太亮了,仍可拍下清楚的月球表面,另外下邊照片是木星與土星,兩者特徵與輪廓依稀可見。



2017年6月11日 星期日

HiveGo Ver 2.0

http://4rdp.blogspot.tw/2017/06/hivego-ver-20.html

前文,這些日子一些網友回饋對 HiveGo 的意見,在此總結:

1. HiveGo 與傳統圍棋近似比較
若要兩者相似比較,HiveGo 格子數應拓展至 14 x 14 + 13 x 13 - 4 = 361 = 19 x 19
讓兩者點數相同,就只差在是六條還是四條通路,這樣比較容易進行策略的比較。

2. HiveGo 應該不會取代傳統圍棋
基本棋類會以傳統為主流,例如圍棋、象棋、西洋棋、大富翁等,新興的桌遊難以超越這些有歷史背景的遊戲,在此提出 HiveGo 主要是給大家一些反思,現在大家只注意傳統圍棋,但忽略了三路 (HiveGo 下子在線上),甚至六路 (下子在格子內),它對我們思考策略上產生了哪些變化?

3. HiveGo 的策略

2017年6月7日 星期三

HiveGo 第二種玩法

http://4rdp.blogspot.tw/2017/06/hivego_7.html

前文提到 HiveGo 可像傳統圍棋下法,下在格線上,今天推薦另一種下法在格子內,接下來近一步說明,以及比較兩者差異。

下棋為了精確記錄下棋位置以便製作棋譜,必須於棋盤上標示座標記號,蜂巢式棋格不容易座標表示,因此採用橫座標英文字母依序標示,縱座標以數字依序標示,這樣跟傳統圍棋的座標標示習慣相近。

格子內的下法如上圖的紅圈圈,標示 1 的座標為 L7,標示 2 的座標為 O2,若是格線上的下法如上圖的藍圈圈,標示 3 的座標為 I8,標示 4 的座標為 V6,這樣的座標系統,兩者都可以使用。

2017年6月3日 星期六

蜂巢式圍棋 (HiveGo)

http://4rdp.blogspot.tw/2017/06/hivego.html

影片來源  YouTube

最近的熱門全球科技新聞應該是 ALPHAGO 三勝中國九段棋手柯洁,以後電腦開始狂勝全球圍棋棋王,這類新聞將會屢見不鮮,人雖有創造力,但是有感情、有弱點、會失誤,智力被電腦超越是遲早的事,不足為奇。

現在我對 ALPHAGO 的學習力比較感興趣,我的題目是,讓電腦跟人腦重新比賽,電腦需要下過多少盤棋才能勝過人腦?也就是學習這件事需要多少次的練習才能超越人腦?我認為真正有智慧的電腦程式或是智能演算法,應該是只要告知遊戲規則,就能立即勝過大半人類智慧,次之的是經過短期學習或練習,就能夠勝過專家。

因此愛好桌遊的我,設計了一個新式圍棋盤,稱它為

2017年5月30日 星期二

電路模擬 (Circuit Simulator)

http://4rdp.blogspot.tw/2017/05/circuit-simulator.html

Circuit Simulator
電子電路對初學者以及非本科系的人不容易理解電路動作情形,這網站提供基本的電路零件,將它們組合之後,然後模擬動作就比較容易理解,今年初就用這個網站弄一個特斯拉線圈,有興趣的人參考一下。

2017年5月26日 星期五

訓練數學感 138 ─ 挑球期望值

http://4rdp.blogspot.tw/2017/05/138.html

圖片來源 http://www.jin-cheng.tw/
有十二顆大小重量一致的球,從 1 編號到 12 號,有四個人,遊戲前每個人先在紙上秘密寫下三個號碼,然後每回合所有的人可以從球池中字由挑選一顆球出來 (可以清楚看見球號),不選也可以,每個人拿到三顆球後就不能拿,直到球都被拿光為止。

然後依據下列規則計分:

1. 取得非指定號碼球,並且沒人點名,該號碼球有 1 分
2. 取得非指定號碼球,並且有人點名,該號碼球有 5 分
3. 取得指定號碼球,並且沒人點名,該號碼球有 3 分
4. 取得指定號碼球,但是有人點名,該號碼球有 2 分

另外,個人蒐集到秘密指定號碼球越多,分數就越高
集到兩個指定號碼球,再加 2 分
集到三個指定號碼球,再加 6 分

請估計這個遊戲,玩家的期望分數為何?

2017年5月22日 星期一

傾倒指示與撞擊指示貼紙

http://4rdp.blogspot.tw/2017/05/blog-post_22.html

傾倒指示
前一陣子,公司從國外進口一批設備,貨品的外包裝上貼有傾倒指示與撞擊指示貼紙,這是我首次見到如此高度規格運送防護的貨品。

傾倒指示是當貨品曾經傾斜超過 80 度以上,指示器就會顯示紅色,請參考

2017年5月18日 星期四

再談弧形面積問題

http://4rdp.blogspot.tw/2017/05/blog-post.html

網友行天下在訓練數學感 137 ─ 弧形問題補充了另一可能解法,將小面積圖塊拼接為大正方形與圓形,藉由多元一次方程式來求解,不過這方法跟四邊形問題解題狀況很像,少了一個獨立方程式而解不出來。

現在提出第二種輔助線,讓大家試看看能不能解出來?畫一線段 OB 經過圓心 E,與線段 CF 相垂直於 L,令線段 FL 長度為 k,線段 BL 長度為 n,可得方程式