近 年 創 客 文 化 盛 行 ,政 府 資 助 、創 業 基 金 、網 上 集 資 如 雨 後 春 筍 ,連 帶 教 育 局 亦 在 強 推 STEM 教 育 ,今 年 會 向 每 所 中 學 發 放 20 萬 元 一 次 性 津 貼 。
STEM 其 實 是 指 Science,Technology,Engineering 和 Mathematics,其 實 即 是 我 們 兒 時 的 常 說 的 跨 學 科 學 習 。近 年 亦 見 把 Art 和 Design 加 進 STEM 的 STEAM 教 育 ,其 實 亦 只 是 大 同 小 異 的 事 。
既 然 政 府 在 大 力 推 廣 ,自 家 的 小 朋 友 當 然 難 以 幸 免 。小 朋 友 正 在 玩 的 是 某 個 品 牌 的 小 車 ,是 programmable 的 ,還 美 其 名 是 什 麼 什 麼 機 械 人 ,要 成 千 蚊 的 。細 看 了 裡 面 的 內 容 ,其 控 制 器 不 過 是 一 片 小 小 的 Arduino board,其 他 額 外 的 馬 達 、模 組 ,在 淘 寶 甚 至 鴨 街 ,也 是 相 當 的 便 宜 。不 過 ,品 牌 自 家 開 發 的 軟 體 工 具 相 當 不 錯 ,可 以 讓 小 朋 友 自 己 用 Scratch 語 言 來 控 制 小 車 。
小 車 要 千 元 一 套 ,20 萬 才 得 200 套 ,一 家 學 校 有 上 千 名 學 生 ,實 在 是 僧 多 粥 少 。而 且 ,車 子 是 男 孩 子 玩 意 ,這 世 界 上 有 一 半 學 生 是 小 女 孩 ,而 且 不 論 男 女 ,人 人 都 有 阿 媽 生 ,學 校 只 提 供 過 份 男 孩 子 的 教 材 是 非 常 不 好 的 ,近 乎 於 性 別 歧 視 ,……。
既 然 「養 不 教 ,父 之 過 」,那 自 家 的 STEM 教 育 還 是 由 為 父 來 做 吧 。
我 自 己 是 program 麻 ,一 向 很 希 望 教 孩 子 寫 program,個 人 以 為 這 是 未 來 的 大 趨 勢 。我 常 跟 朋 友 說 ,這 就 跟 「學 打 字 」一 樣 ,古 時 ( 八 十 年 代 以 前 ) 是 有 一 種 職 業 叫 Typist,各 大 公 司 都 要 請 的 ,人 工 比 一 般 文 員 要 高 。但 不 過 短 短 廿 年 ,這 個 工 種 就 完 全 消 失 了 ,因 為 每 個 學 生 都 要 在 學 校 裡 學 打 字 ,現 在 出 來 工 作 的 後 生 仔 根 本 無 人 會 「唔 識 打 字 」的 。
Programming 跟 打 字 一 樣 ,現 在 間 間 學 校 都 在 教 ,將 來 每 個 學 生 都 會 識 ,所 以 我 預 見 未 來 專 職 的 program 麻 會 大 大 減 少 ,很 多 programming 的 工 作 會 由 一 般 員 工 來 兼 顧 ,如 果 你 將 來 見 工 時 話 「唔 識 programming」,就 會 跟 現 在 的 年 輕 人 去 見 工 話 「唔 識 打 字 」一 樣 咁 蝕 底 。
孩 子 是 小 學 生 ,想 想 要 教 那 一 個 Programming Language 真 是 費 煞 思 量 。不 過 現 在 有 了 Scratch,即 時 成 為 不 二 之 選 。Scratch 是 由 MIT 的 Media Lab 開 發 出 來 ,專 門 給 小 朋 友 學 的 。Scratch 本 身 不 是 萬 能 ,它 不 是 要 取 代 其 他 Programming Language 的 。Scratch 的 好 處 是 簡 單 易 用 ,用 一 塊 塊 有 趣 的 積 木 來 取 代 原 來 枯 燥 的 程 式 碼 。這 不 單 止 能 大 大 提 高 學 習 興 趣 ,同 時 亦 大 大 減 低 了 syntax error,令 學 生 可 以 更 專 注 於 學 習 programming 的 邏 輯 和 技 巧 。
Scratch 的 教 學 ,在 Scratch 的 官 網 就 有 ,而 且 網 上 亦 有 好 多 好 多 。如 果 只 是 單 單 去 教 你 寫 Scratch,其 實 這 會 變 成 是 電 腦 堂 ,而 不 再 是 STEM 教 學 了 ,所 以 我 的 這 一 個 系 列 不 會 去 教 Scratch,而 會 集 中 在 physical computing。
Physical computing 是 指 我 們 用 軟 件 和 硬 件 去 建 設 一 個 可 以 和 現 實 世 界 互 動 的 系 統 。很 複 雜 是 不 是 ?其 實 是 不 複 雜 的 。Physical computing,其 實 和 我 們 學 寫 program 的 沒 什 麼 大 分 別 。傳 統 上 我 們 去 學 Programming,完 成 的 那 個 program 純 粹 只 能 在 電 腦 上 執 行 ,所 有 野 都 是 純 軟 件 的 。而 Physical computing,我 們 的 program 是 可 以 控 制 現 實 世 界 裡 面 的 東 西 的 。
最 簡 單 的 ,例 如 寫 個 程 式 去 控 制 開 燈 和 關 燈 ,又 例 如 寫 個 程 式 去 讀 取 你 按 了 那 一 個 button。高 級 一 點 的 ,就 像 是 計 數 機 、電 飯 煲 裡 面 的 控 制 程 式 。甚 至 乎 ,可 以 是 整 個 智 能 家 居 系 統 ,又 或 者 工 廠 裡 的 機 械 人 生 產 線 。
以 前 要 實 現 physical computing,你 要 學 很 多 很 多 東 西 的 。但 近 年 創 客 文 化 盛 行 ,令 到 physical computing 軟 硬 件 的 門 檻 都 下 降 了 不 少 。以 控 制 器 為 例 ,近 年 有 大 量 的 single board computer / single board microcontroller 湧 現 ,價 格 亦 下 降 了 不 少 。
Single board computer,以 Raspberry Pi 作 為 代 表 。它 是 由 英 國 的 Raspberry Pi Foundation 所 開 發 的 ,目 的 是 以 超 低 價 的 硬 件 ,以 及 自 由 軟 件 去 推 動 電 腦 科 的 教 育 。Raspberry Pi 是 一 台 完 整 的 電 腦 ,有 齊 cpu、ram、display card、network card 等 等 。你 只 要 插 入 「harddisk ( 用 SD card )」,插 上 monitor,keyboard 和 mouse,就 可 以 獨 立 運 作 的 了 。
目 前 第 三 代 的 Raspberry Pi 3,除 了 更 快 的 CPU 之 外 ,還 內 置 了 WiFi 和 藍 牙 ,售 價 和 之 前 相 約 ,大 概 是 港 幣 300 元 的 樣 子 。Raspberry Pi 3 可 以 跑 Linux,亦 可 以 跑 Win 10。Microsoft 還 特 別 出 了 一 個 Win 10 版 本 ( Win 10 IoT ),免 費 給 Pi 的 用 家 使 用 。
Raspberry Pi 除 了 是 一 台 完 整 的 電 腦 ,它 的 特 別 之 處 是 加 入 了 GPIO 這 樣 的 一 組 輸 入 和 輸 出 的 針 腳 。我 們 可 以 使 用 這 些 針 腳 ,去 連 接 不 同 的 硬 體 裝 置 ,達 成 使 用 軟 件 去 控 制 其 他 裝 置 的 目 的 。
Single board microcontroller 的 代 表 ,則 是 Arduino。Microcontroller 不 是 一 台 完 整 的 電 腦 ,你 是 不 能 直 接 在 它 上 面 寫 程 式 的 。Microcontroller 的 用 法 ,是 你 必 須 要 在 自 己 的 電 腦 上 面 開 發 好 程 式 ,然 後 把 程 式 「燒 錄 」到 Microcontroller 裡 面 ,然 後 程 式 就 會 自 動 運 作 。
Arduino 最 成 功 的 地 方 ,是 它 的 硬 件 設 計 和 開 發 軟 體 ,都 是 open source 的 。所 以 ,任 何 人 都 可 以 自 行 生 產 Arduino board,以 及 根 據 Arduino 的 開 發 軟 體 去 開 發 自 己 的 工 具 。Arduino 在 官 網 的 售 價 並 不 便 宜 ,一 片 Arduino UNO REV3 就 要 US$24.95。但 在 淘 寶 ,大 陸 所 生 產 的 Arduino UNO R3,已 經 可 以 平 到 二 三 十 蚊 人 仔 一 塊 。
大 家 特 別 要 注 意 ,因 為 那 個 設 計 本 身 是 開 放 的 ,所 以 這 些 大 陸 貨 絕 對 不 是 老 翻 。而 通 過 大 量 不 同 的 生 產 者 競 爭 去 降 低 產 品 的 售 價 ,我 相 信 亦 是 Arduino 開 放 硬 件 設 計 的 目 的 。這 些 第 三 方 廠 商 所 生 產 的 Arduino,並 不 能 使 用 Arduino 這 一 個 官 方 名 稱 。所 以 它 們 的 產 品 上 你 不 會 見 到 Arduino 的 字 樣 。這 類 產 品 一 般 被 稱 為 Arduino compatible board,又 或 者 Arduino clone。使 用 Arduino compatible board 跟 使 用 官 方 的 Arduino board 並 沒 有 任 何 不 同 ,但 價 錢 卻 便 宜 了 一 大 截 。
Arduino 當 然 亦 有 自 家 的 IO 針 腳 ( IO = input output ),去 方 便 我 們 連 接 不 同 的 硬 體 。
說 了 那 麼 多 ,究 竟 是 Raspberry Pi 好 ,還 是 Arduino 好 呢 ?以 香 港 的 學 習 環 境 ,個 人 以 為 是 Arduino 較 好 。Raspberry Pi 比 較 適 合 學 童 完 全 沒 有 電 腦 的 地 區 ,因 為 它 本 身 就 是 一 台 電 腦 。而 香 港 呢 ,由 於 政 府 過 去 大 力 提 倡 電 子 學 習 ,沒 有 電 腦 的 學 童 應 該 很 少 。
Arduino ( 大 陸 版 ) 單 是 售 價 就 比 Raspberry Pi 便 宜 了 十 倍 。它 的 IO 針 腳 也 比 較 多 ,使 它 可 以 同 時 連 接 更 多 硬 體 。Arduino 適 用 的 外 接 感 應 器 ( Sensor ) 和 擴 充 版 ( Shield ),也 比 較 多 和 比 較 便 宜 。
下 一 篇 ,我 來 教 大 家 如 何 用 Scratch 在 Arduino 上 面 寫 program。
Raspberry Pi 3 | Arduino UNO rev 3 | |
---|---|---|
種類 | Single Board Computer | Single Board Microcontroller |
生產商 | 全球只有兩個官方生產商 | 開放式硬件,有無數的生產商,包括大陸的平價生產商 |
價錢 | $300 | $30 |
CPU | 1.2GHz Quad-Core ARM CPU | ATmega328P (microcontroller) |
RAM | 1GB | 2KB |
Storage | SD card (not included) | 32KB on-board flash memory |
WiFi | 802.11n Build-in | require external module |
Bluetooth | Bluetooth 4.1 Build-in | require external module |
IO pins | 40 GPIO pins (not all of them are used as IO pins, some are power and GND) | -14 Digital I/O pins ( 6 of which provide PWM output ) - 6 analog input pins |
Power Supply | 5.1v 2.5A micro USB power supply | - 5.5 x 2.1mm plug or from USB cable - recommended input voltage 7-12V |
OS | Raspbian (Linux), Win 10 IoT | NIL |
Programming Language | - Scratch - Python ( Both are Raspbian built-in ) | - Arduino Programming Language - Scratch ( through 3rd party softwares ) |
很好的入門介紹, 雖然自己4張幾, 但都想由零開始學習, 那我應如何入手? 有入門書藉介紹嗎? 謝謝
well… 我的文就很入手呀。當然坊間也有很多這一類的書籍,但如果那些書好用,我也不會想到要自己寫文貼出來。
如果你是 4 張幾,就別學 scratch 了,那是給小朋友學的,直接學 Arduino IDE 吧。書是更加不用買,上官網就大把有用的資源。官網比一般書籍講得更加深入淺出,也講得更加正確。
第一步你可以去官網學一次所有 built in examples,學完全部 built in examples,你的基本功就已經比全香港教 Arduino 的導師都紮實 10 倍了。
https://www.arduino.cc/en/Tutorial/BuiltInExamples
有齊了基本認識之後,你再想做其他 project,就上 google search,抄考人地用的硬件和所寫的 code,自己再行改進 (因為 Arduino 已經面世了頗長的一段時,真係無乜 project 係無前人做過)。你自己做完幾個 project 之後,在香港就已經是高手了。
而學習所需的零件,特別想花錢的時候就上官網買,唔係特別想花錢就上淘寶買。
不用客氣。