pande
咕咕鐘亂亂看(程式)
pande
熬夜看程式@@
pande
pande
pande
【Mission 1】時鐘

pande
Time variable: 以中馬達的轉動角度當作時間,中馬達=分針
4320: 12小時的分針(中馬達)轉角
pande
My Blocks:
pande
Turn Clock
- (動作) Set the clock to a certain time
- 輸入一個數值,無論現在中馬達轉角(分針)如何,設定咕咕鐘的時針分針至某個時間點。
- 轉動的過程,快到設定的時間的最後1小時(360度)會切換成慢速轉動(突顯分針的細膩設計)
- 但不知道為什麼,每次設定動作完成,中馬達(分針)會減少2度?@@ (不知用意為何)
pande
Modulo
- (運算) Modulo returning non-negative value
- 輸入兩個數值,傳回一個非負的模數值
- 取模數的目的,是用以規範中馬達角度(代表分針)對主程式的意義處在12小時循環之間。
- Q.直接取模數就好了,為什麼要另建一個My Block取非負的模數值? → 何時會遇到負值? 不知。
- 是否也用以避開設定期的混亂? 還要再往後看
pande
Time
- (取值) Calculate time accurate to the minute
- 取分針時間(中馬達角度),以6度來做進退位(四捨五入運算),將數值對齊6的倍數
- 6度: 分針1分鐘=360(一圈)除以60(分鐘)=6度
pande
Turn Clock、Modulo、Time 外觀
pande
pande
【Mission 2】咕咕鳥

pande
5種隨機行為
- Knock on the door
- Peek out of the door
- Move in and out
- Cuckoo!
- Move and flap
pande
My Blocks: Back
- (動作) Reset the cuckoo
- 細膩的按鈕控制(回收咕咕鳥): 壓按鈕、放鬆按鈕、放鬆馬達
pande
【Mission 3】警報槌

pande
Unregulated Motor

- 在咕咕鐘的運作中看起來跟一般單馬達控制的效能沒什麼差別
- Q. 實際上這個block跟單馬達控制有什麼差別? Unregulated?
pande
【Mission 4】咕咕鐘


3組起始,第1組分支(1分2),第2、3組獨立
pande
4個回圈組(功能系統)
- 中馬達系統: 控制齒輪組(時針/分針)&計秒閃光(計秒聲響-滴答)
- 紅外線系統: 切換時鐘運行/鬧鐘設定模式
- 大馬達系統: 檢查警報槌&咕咕鳥的時間到了沒? 做出應有的反應
- 面板系統: 顯示運作(Clock)/設定(Alarm)/切換(Busy)三種工作狀態(Mode)
pande
Run the clock (中馬達系統)

Switch between clock and alarm mode (紅外線系統)

Reset the cuckoo and the hammer (大馬達系統)
- Activate the alarm?
- Should the cuckoo come out?

Display the time (面板系統)
pande
變數
Time: 存放咕咕鐘時間(中馬達角度)
Alarm: 存放警報槌設定時間(中馬達角度)
pande
旗標變數

Mode: 代表現處模式,字串
- Clock: 時鐘正在運行
- Alarm: 正在設定鬧鐘(=正在設定警報槌啟動時間)
- Busy: 模式切換中。響聲告知開始切換模式,中馬達(時/分針)歸定位
中馬達系統(時鐘)、大馬達系統(咕咕鳥/警報槌)會暫時停止運作,面板系統會清空顯示

Sound: 代表現在正在播放聲音
包括咕咕鳥啟動時&警報槌啟動時
正負值。正值時,每秒滴答聲不播放
pande
My Blocks:

Cuckoo
(動作) Cuckoo behavior
- 改旗標,告知系統現正到達指定時間(秒響先暫停)
- 咕咕鳥聲音、咕咕鳥伸出、咕咕鳥收回

Time Text
(運算) Convert time to text
- 串連「時:分:秒」
- 數值未達10者,前面加零處理 Second: true/false 表示輸出字串是否要帶秒數
pande
↑ Mission 4 記錄完成於2017-2-5(日)
[pande] (日常) 明天就要出征了
pande
後續的整理、研究接續於此(2017-2-3噗)
[pande] LEGO亂亂看(咕咕鐘:齒輪、程式)
載入新的回覆