搜尋

關 於 本 書

‧內容簡介
‧作者簡介
‧譯者簡介
‧目 錄

線 上 試 閱

認識micro:bit

作 者 作 品

DIY聲光動作秀:用Arduino和Raspberry Pi打造有趣的聲光動態專題

資訊科技

【類別最新出版】
區塊鏈完全攻略指南:區塊鏈是什麼?會如何改變我們的工作和生活?
初學Jetson Nano不說No-CAVEDU教你一次懂
Arduino首次接觸就上手(套件組合)
百萬粉絲經營法則:30天3步驟打造社群經濟力,在社交平台擁有百萬追蹤數
電腦科學LinkIt設計物聯網應用


BBC micro:bit程式設計入門:MicroPython快速上手指南(YX02944)
Programming the BBC micro:bit: Getting Started with MicroPython

類別: 行銷‧趨勢‧理財>資訊科技
叢書系列:馥林文化
作者:西蒙‧孟克
       Simon Monk
譯者:屠建明、鄭宇晴、劉允中等
出版社:馥林文化
出版日期:2018年03月16日
定價:300 元
售價:237 元(約79折)
開本:25開/平裝/184頁
ISBN:9789863413868

 放 進 購 物 車

 轉 寄 給 朋 友

 發 表 書 評 

 我 要 評 等 

Share/Bookmark

線 上 試 閱

 

認識micro:bit



  認識micro:bit

micro:bit(圖1-1) 是一塊沒有外殼的小小電路板,擁有一個由25顆LED組成的矩陣顯示器、兩顆按鈕還有一些感測器。最關鍵的是它的micro-USB插槽,可以連接至電腦,讓電腦同時供給電源並傳送程式。micro:bit也可以連接至電池組,如此不需要電腦供電也可以使用。

micro:bit起初是為了教學目的而設計,不過這個好用的小裝置,如今已經在世界各地電子玩家與Maker之間備受寵愛。

插入啟動!

要使用micro:bit之前,你需要準備USB至micro-USB轉接線才能將電路板插入電腦。在購買micro:bit的同時,你可能已經買了一條。如果沒有也別擔心,這款連接線應該是現今世上最普遍的USB連接線。插進micro:bit的那一端是micro-USB連接器,幾乎適用於任何一款蘋果以外的手機和其他數不清的電子裝置。有時,你會看到一些USB線寫著「僅供充電」(charge only),意思是它們並沒有傳輸資料所需的纜線在內,無法用於micro:bit。因此,如果你在連接micro:bit時發現問題,請試著換成一條有註明「資料傳輸」(data)的連接線。

圖1-2為micro:bit連接至筆記型電腦的情形。這臺筆電剛好是蘋果電腦,不過micro:bit適用於Windows、Linux、Apple、甚至Raspberry Pi作業系統。

將熱騰騰的micro:bit連接至電腦後,顯示器會出現一個小小的動畫,顯示歡迎語「Hello」,然後指向電路板上的兩顆按鈕A與B。請花點時間熟悉你的電路板,接著依照顯示器上的跑馬燈訊息指示操作。

歷史

micro:bit的正式名稱為BBC micro:bit。BBC(British Broadcasting Corporation,英國廣播公司)是英國最大的公共廣播公司,而BBC micro:bit計劃是為了提供易於操作的平臺來教導兒童如何編寫程式,讓他們了解程式不但能創造電腦螢幕中的世界,還能控制身邊的電子裝置。

此計劃於2016年免費發送了約一百萬個micro:bit電路板給所有英國公立學校七年級(約11或12歲)的學生。自此之後,micro:bit計劃的執行工作就從BBC廣播公司移交給了Microbit教育基金會(Microbit Educational Foundation)。

這個非營利組織現今正致力於全球教育社群推廣micro:bit,促進這個輕巧好攜帶的小裝置成為玩家與Maker人手可得的工具。

它可以做什麼?

將micro:bit插進電腦後,它會快速介紹一些主要功能。讓我們更深入地探索這些功能吧。
●LED顯示器:這個顯示器包含25顆排列成5乘5矩陣的LED。我們可以分別控制每顆LED的亮度,能將電腦螢幕上的訊息變成從右跑到左的跑馬燈文字。
●按鈕A與B:你可以編寫程式讓micro:bit做一些特定的事情(如顯示訊息等),而啟動的方式就是按下其中一顆按鈕。
●連接腳位:上面有0、1、2記號的連接端(圖1-1A下方),可以當作觸摸開關,因此你可以直接觸碰來引發程式事件。你也可以用鱷魚夾將這些連接端接到物品上,當你觸碰物品時程式就能感測到。你可以看到圖1-3中, micro:bit和一根香蕉連接在一起!
●加速規:加速規可測量加速度的量,也就是速度變化率。它用一個內建有砝碼的晶片來測量砝碼被施加的力。micro:bit上就有這樣的一塊晶片,能用來偵測其移動的方向(很像Wii的遙控器),或是偵測micro:bit是否在振動或晃動,讓專題充滿無限可能性。
●羅盤:micro:bit還有內建電子羅盤,能偵測控制板面朝向哪個方位,附近有磁鐵時也能感測到。
●無線電:micro:bit也有無線電訊號傳送與接收器,能將訊息傳送到另一塊micro:bit控制板。

micro:bit、Raspberry Pi與Arduino比一比要時時掌握micro:bit等新型電路板的資訊是個令人望之卻步的工作。你無法總是一眼就看出它們的差別、或是很快地選出最合適你的板子。圖1-4是目前最多人使用的微控制器與單板電腦:micro:bit、Arduino Uno與Raspberry Pi。這些電路板的特色整理如表1-1。

如你在表中所見,micro:bit與Arduino Uno相比其實具備了許多優勢。而Arduino勝出之處則在於可供直接插入的連接器,能直接插入連接線,此外,還可以裝載各種「擴充板」(shield),獲取更多額外功能。

Raspberry Pi 3則是隻截然不同的猛獸,它本身就是臺完整的電腦,你可以直接連接鍵盤、滑鼠和螢幕。不過和大多數電腦不同的是,Raspberry Pi有通用的「腳位」,就像micro:bit和Arduino一樣,可供連接外部電子裝置。

環視家中,應該都能找到許多與micro:bit、Arduino或Raspberry Pi作用類似的裝置。例如,你的電視遙控器中,就有一個微控制器(就像micro:bit或Arduino中也有的「大腦」),上面的腳位可以連接遙控器的按鈕,以及一個紅外線LED,會向電視機裡的接收器傳送一系列脈衝及一個訊息碼。

智慧型手機或媒體娛樂裝置上也有很類似Raspberry Pi核心處理器的裝置。比起micro:bit和Arduino,它們的功能非常強大,有能力生成影像訊號,還能讓可以同時進行多項任務的作業系統運轉。

那什麼是程式編寫呢?

就像我們介紹過的,你購買的許多電子產品中都包含一個微控制器,和micro:bit中的微控制器一樣。微控制器就是一臺迷你電腦,用來監看按鈕、開關等輸入(input),並控制輸出(output)。在汽車收音機、廚房計時器、電視遙控器甚至是打開會播音樂的卡片這種拋棄式的東西,內部也含有微控制器。幾乎每個有按壓開關和某種顯示器的物品,裡面都有微控制器。

如果沒有事先編寫程式,微控制器就無計可施。它只會閒置在原地,等待有人上傳程式告訴它該做什麼事。這意味著你需要編寫一個電腦程式,再將這個程式上傳到微控制器。

看一下你的電視遙控器,上面應該不太可能有USB連接埠,無法透過它編寫程式。這樣的情形,是在製造時以特別的編寫程式硬體設備為裝置編寫程式。一旦程式編寫完成,應該再也不會有別的程式安裝到這個裝置了。這與micro:bit截然不同:micro:bit有內建程式編寫介面,讓你能夠安裝新的程式,要安裝成千上萬次都可以。圖1-5為使用MicroPython在micro:bit上編寫程式的完整過程。

過程中的第一步,就是用電腦的程式編寫軟體以Python程式語言編寫。當你準備好將程式傳送到micro:bit時,軟體會先將程式連同MicroPython本身的文字檔轉存為hex(十六進位(hexadecimal)的簡稱)檔。而後這個檔案就會上傳(upload)或閃存(flash)到micro:bit上,方法很簡單:直接將hex檔從電腦磁碟複製到micro:bit的虛擬USB裝置即可。這是一個巧妙的把戲,micro:bit會偽裝成檔案儲存裝置瞞過電腦。接著micro:bit會將上傳的檔案轉成它可以處理的二進位格式,這個過程稱為編譯(compiling)。完成後,程式將會自動執行。

為何要選擇MicroPython?

為micro:bit編寫程式有許多電腦程式語言可供選擇。兩種最主流、亦是Microbit教育基金會力推的程式語言,就是MicroPython與JavaScript Blocks。JavaScript Blocks使用圖像式介面,將程式碼積木(blocks)卡在一起以編寫程式;而MicroPython則偏向傳統直接編寫的程式語言,完全仰賴輸入的文字內容(text)執行功能。在第12章就會有關於JavaScript Blocks的簡短介紹。

這兩種程式語言各有優劣,不過本書主要會使用MicroPython,它是運行Python的程式環境,由達米安˙喬治(Damien George)專為micro:bit這類低功耗的微控制器設計發明。Python常在教學中使用,因為一般認為它是最容易學習的程式語言之一,也很常在軟體業界使用。

總結
在本章中,我們已經將micro:bit連接到電腦,也對這臺小小裝置的型態與功能有些許認識了。在第2章中,你就要開始編寫程式了。