2015年7月29日 星期三

演算法訓練 9 ─ 循跡車

http://4rdp.blogspot.com/2015/07/9.html?m=0



無論是玩樂高 NXT/EV3 抑或是 mBot,學習課程內容通常包含循跡車,其中最難的部分在走 8 字形,這宛如像汽車考照 S 行進倒退一樣,本週的程式練習題就是你會怎樣寫循跡車程式,也就是甚麼是你的控制規則?

2015年7月25日 星期六

IR-CODE of mBot

http://4rdp.blogspot.com/2015/07/ir-code-of-mbot.html?m=0

買 mBot 附有一支紅外線遙控器,上期專文提到紅外線接收器接在 Arduino D2 腳位置,今天繼續研究這紅外線遙控器碼內容,下表是破解出來的,如果用 mBot 當被控制主體,自己寫 Arduino 程式練習,可以參考下表辨識遙控器按鍵,



















2015年7月22日 星期三

演算法訓練 8 ─ 井字遊戲

http://4rdp.blogspot.com/2015/07/8_22.html?m=0

圖片引自 http://www.4399.com/flash/46864.htm
個人覺得學習程式設計需要一些專題練習,井字遊戲對初學者是有點難度的,因此留文紀錄。

另外,這類對奕遊戲,困難在致勝策略設計,也歡迎留言討論。

2015年7月18日 星期六

mBot 與 Arduino 的對應表

http://4rdp.blogspot.com/2015/07/mbot-arduino.html?m=0



入手已久的 mBot 直到近日才進一步研究它,下表是 mBot 與 Arduino 的對應表,

Arduino
mBot
S4A (motoduino)
D0
BT RX
Digital IN
D1
BT TX
Digital IN
D2
IR RX
Digital IN
D3
IR TX
Digital IN
D4
M1  H: Forward  L: Backward
SERVO
D5
M2(RIGHT)  PWM
PWM (M1)
D6
M1(LEFT)  PWM
PWM (M2)
D7
M2  H: Backward  L: Forward
SERVO
D8
BUZZER
SERVO
D9
PORT2-1  LIGHT-SENSOR(LEFT)  H: White
PWM
D10
PORT2-2  LIGHT-SENSOR(RIGHT)  H: White
Digital OUT
(M1, H: F, L: B)
D11
PORT1-1
Digital OUT
(M2, H: F, L: B)
D12
PORT1-2
Digital OUT
D13 / SCK
LED / LED1-2 (WS2812)
Digital OUT
A0
PORT4-1
Analog IN
A1
PORT4-2
Analog IN
A2
PORT3-1  ULTRASOUND  ECHO
Analog IN
A3
PORT3-2  ULTRASOUND  TRIG
Analog IN
A4
SDA
Analog IN
A5
SCL
Analog IN
A6
LIGHT SENSOR  H: Light

A7
BUTTON  H: Press

P.S. 2015/8/1 追加 S4A (motoduino) 對照

感謝探奇教室的邱信仁老師提供資料。

2015年7月15日 星期三

訓練數學感 70 ─ 格子點

http://4rdp.blogspot.com/2015/07/70.html?m=0

坐標平面上,X 坐標與 Y 坐標皆為整數的點稱為「格子點」。設 n 為正整數,已知在第一象限且滿足 的格子點 (x,y) 的數目為 。則 的值為多少?


2015年7月11日 星期六

ROSA 與 mBlock 的歡喜相遇

http://4rdp.blogspot.com/2015/07/rosa-mblock.html?m=0


Scratch 對程式設計入門的小朋友是非常棒的學習工具,有趣的圖形介面,不必記憶太多程式指令,以螢幕互動方式直接觀看程式執行結果,這是非常直覺式學習,讓我想起以前用 CASIO FX-700P 學 BASIC,這樣印象深刻又饒富趣味。

今年初,我設計了 ROSA,希望讓玩機器人的玩家有另外的選擇,能夠多工同步無等待控制機器人,同時也希望結合 Scratch,以圖形語言控制 ROSA,因此仔細研究 Scratch、S4A、mBlock 等電腦應用程式,確認 mBlock 能夠支援 ROSA,不過原有 ROSA 韌體必須要改版將通訊速率修改為 115200 bps,其它功能還要再確認。

未來 ROSA 韌體釋出後,想應用它的朋友,請依照上圖方式設定 mBlock 即可使用:

2015年7月8日 星期三

數學訓練感 69 ─ 手機圖形鎖有多少種排列方式?

http://4rdp.blogspot.com/2015/07/69.html?m=0

現代智能手機幾乎人手一機,為了資料安全,設定密碼是必要的,四位數密碼安全強度不高,因此有圖形鎖的發明。

九個黑點,任一點都可以當起始點,畫圖形無需所有點都經過,但是每個點只能停留轉彎一次,請問圖形鎖密碼有多少種排列方式?

2015年7月4日 星期六

程式壓縮技巧 2 ─ 彙整副程式

http://4rdp.blogspot.com/2015/07/2.html?m=0

這個技巧可以壓縮較多程式碼,簡單的說就是把重複的程式碼彙整出副程式,請見下例:


修改前,程式使用 522 bytes

char num = 2;
char a = 'D';

void setup()
{    
    if (num == 0) {
        a = 'A';
        num += 1;        
    } else if (num == 1) {
        a = 'B';
        num += 1;
    } else if (num == 2) {
        a = 'C';
        num += 1;
    }
}

void loop()
{
}

2015年7月1日 星期三

訓練數學感 68 - 爆炸機會增加多少?

http://4rdp.blogspot.com/2015/07/68.html?m=0

6/27 週六晚上得知八仙樂園發生彩色趴塵爆約五百人燒傷送醫,在此為這些年輕人集氣加油平安度過這段醫護的日子。

關於塵爆這麼厲害關鍵在粉塵體積小、可燃表面積大,因此今天的題目與此相關,如果有一單位立方體,請問從 X Y Z 三軸方向各切幾刀,單位表面積會增加成十倍?