2015年5月16日 星期六

ROSA 的通訊與建議接腳

http://4rdp.blogspot.com/2015/05/rosa_16.html

圖片來源 http://blog.roman-mueller.ch/
續前文,ROSA 除了可以 USB 連線通訊 USB-RX/TX 外,也可以直接連接藍牙模組 BT-RX/TX,但 baud rate 須訂為 115200 bps,這速率是為了配合 mBot,不可更動改變。

另外,為了可以銜接不可變速或是不曉得如何修改的低速通訊裝置,因此預留第二組 UART 通訊,baud rate 暫訂為 9600 bps,ROSA 可以設定切換速率,指令未來再公開。

如果你買到的藍牙模組是 9600 bps,請將它改成 115200 bps,可參考下面幾篇

2015年5月13日 星期三

訓練數學感 61 ─ 帽子推論

http://4rdp.blogspot.com/2015/05/61.html

這是某個私立小學入學考試中的一個問題。回答時間只有5分鐘。4個小朋友站在房間裡,如圖所示。他們只知道下列條件且得遵守以下的規則:


(1) 房間裡只有他們4個人,且每個人事先知道彼此站的位置。

(2) 4個人中,2個人戴黑色的帽子,2個人戴白色的帽子。

(3) A 跟 B、C、D 三人中間有牆壁,兩邊彼此是看不見的。

(4) 他們都不知道自己到底有戴什麼顏色的帽子。

(5) 不得把自己的帽子拿下來看。

(6) 不得轉頭去看後面的人,但看得到前面人的帽子顏色。

(7) 彼此不能交談、出聲音、比手勢、也不能移動。

跟ABCD四人說明完以後,在外面的老師如此問他們;如果有人已知道自己帽子的顏色,請舉手回答,回答的時候其他人可以聽得見。

開始之後一陣子沒人回答。但過了不久,有人第一個舉手回答且答對了,他不是亂猜的,而是真的有他的邏輯。

問題就是這樣,您有沒有猜到到底是誰回答? 請解釋你的邏輯。

延伸問題:假設大家都知道第一個人的答案後,請問第二個答對的會是誰?

2015年5月9日 星期六

ROSA 的輸出入指令

http://4rdp.blogspot.com/2015/05/rosa_9.html

續前文,本文繼續補述其它輸出入指令:

SET pin,value,...
CONF 設好腳位型態後,如果是輸出類型,就可以設定數值,例如是數位輸出,那數值 1 就是 high,0 就是 low。不同腳位類型,數值義意不同,如果遇到輸入類型,是沒辦法設值的,定義如下



型  態
數  值
 說  明
SERVO
伺服馬達
0 ~ 255
0: 最小角度,180: 最大角度,255: 歸位角度
1 ~ 179: 指定角度,others: 保留原角度
PWM
脈波寬度調變
0 ~ 255
脈波寬度 % = 設定值 / 256
I2C
兩線通訊
0 ~ 255
功能預留
OUTPUT
數位輸出
0, 1
0: low, 1: high
INPUT
數位輸入
0, 1
0: low, 1: high
ADIN
類比輸入
0 ~ 1023
10 bits 類比輸入

SET? pin
查詢 pin 的輸出設定


2015年5月6日 星期三

訓練數學感 60 ─ 桌球練習賽

http://4rdp.blogspot.com/2015/05/60.html

有三人玩桌球,輪流單打,輸了就下場換人,
A 共打了 10 場,B 共打了 15 場,C 共打了 17 場,請問誰輸了第六場?

2015年5月2日 星期六

ROSA 的伺服馬達控制

http://4rdp.blogspot.com/2015/05/rosa_2.html

續前文,當初開發 ROSA 其中一個主要目的在方便控制 Arduino 的伺服馬達,在此使用 Tower Pro SG90 為施作的對象,因為它價廉、質輕,有賣 Arduino 套件的電子材料行都有在賣,也可以網購,很容易取得,是不錯的電子教材實驗對象。

這款伺服馬達可控制角度範圍在 0 ~ 180 度,採取脈衝訊號控制,ROSA 有下列幾個指令可以控制伺服馬達角度旋轉。



SERVO pin,degree[,%[,ms[,hold]]]
這是對伺服馬達角度控制的指令,pin 是 Arduino 的腳位號碼,degree 是設定的角度,% 為給伺服馬達的電力,ms 影響馬達轉定位後是否立即執行後面的指令,hold 設定馬達轉定位後是否持續通電。

下表是 ROSA328 的參數值範圍

2015年4月29日 星期三

演算法訓練 7 ─ 撲克牌對切洗牌 (Dovetail Shuffle)

http://4rdp.blogspot.com/2015/04/7-dovetail-shuffle.html

圖片來源 維基百科洗牌條目
中小學時,我喜歡做棋玩棋,專科及大學學生時代,除了玩電腦外,也很喜歡玩橋牌,收藏三十餘本絕版橋書,亦有取得初級橋士證,不過結婚後就沒再玩了,應該退休後才會再重拾這份嗜好吧。

回歸正傳,試寫一程式執行對切洗牌 (Riffle or Dovetail Shuffle)。


2015年4月25日 星期六

ROSA 的動作程式 (Profile)

http://4rdp.blogspot.com/2015/04/rosa-profile.html


續前文,ROSA 除了可以讓你以指令方式控制之外,也可以將這些控制指令集合成好幾組控制程式,儲存在 EEPROM (Electrically-Erasable Programmable Read-Only Memory) 內,EEPROM 是關閉電源資料也不會消失的小型記憶體,可以位元組獨立存取,不像 FLASH 須以一頁上百個位元組一起清除與儲存。

另外,為了增加程式儲存量,已將輸入的程式指令編碼處理,現在是以 ATmega328 的 Arduino 系列控制板開發 (諸如 Uno、Duemilanove、Nano 等),規劃可儲存七組不同程式組 (Profile),這七組程式碼總和最多不超過 1000 bytes。 

Profile 能做甚麼呢?