◎帶領你快速認識風靡全球的教育用開發板BBC micro:bit!
◎完整介紹micro:bit內建硬體、顯示器、感測器及可外接硬體
◎馬上開始編寫創意程式,無需任何經驗即可上手!
馬上為你的micro:bit編寫創意程式吧──無需任何經驗即可上手!
micro:bit是一款由英國廣播公司(BBC)推出、專為教導青少年編寫程式而設計的微型電腦開發板。這本簡單易懂、逐步教學的指南能讓你快速上手micro:bit程式編寫,迅速創作出好玩的應用專題。《BBC micro:bit程式設計入門:MicroPython快速上手指南》承襲了西蒙‧孟克先生一貫的明快風格,將帶領你從基本概念開始逐步邁向進階技巧。你將學習到如何使用micro:bit的內建硬體、如何使用LED顯示器、如何從感測器接收輸入、如何裝上外接電子元件以及如何應用無線通訊等技巧。
將你的micro:bit連接電腦,開始編寫程式!
學習如何使用兩種最受歡迎的MycroPython程式編輯器
實際應用micro:bit內建的函式與方法,並編寫你自己的版本
學習在micro:bit的LED矩陣顯示器中顯示文字、圖像和動畫
學習處理來自加速規、電子羅盤和觸控感測器的資料
學習控制連接至邊緣連接器的外部硬體
透過內建無線電模組傳送並接收訊息
使用JavaScript積木式程式編輯器編寫你的程式
作者簡介:
西蒙‧孟克 Simon Monk
現居英國普雷斯頓,擁有模控學與電腦科學學士學位以及軟體工程博士學位。他從青少年時期就十分熱衷於電子學,自2012年開始兼事寫作以及和太太經營製造業餘電子套件和電路板的事業(http://monkmakes.com)。
你可以在http://simonmonk.org找到更多西蒙寫作的書籍,也可以追蹤他的推特@simonmonk2。
譯者簡介:
屠建明
全職譯者,愛丁堡大學文學畢業生,也曾主修電機。對任何科技新知都有濃厚的興趣。
鄭宇晴
《Make》國際中文版執行編輯、《ROBOCON》國際中文版編輯。
劉允中
畢業於國立臺灣大學心理學研究所,喜歡文字與音樂,現兼事科學類文章書籍翻譯。
顏妤安
政大日文系畢。目前擔任《MAKE》國際中文版與《ROBOCON》國際中文版總編輯。
謝明珊
臺灣大學政治系國際關係組碩士。專職翻譯雜誌、電影、電視,並樂在其中。
章節試閱
1
認識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章中,你就要開始編寫程式了。
1
認識micro:bit
micro:bit(圖1-1) 是一塊沒有外殼的小小電路板,擁有一個由25顆LED組成的矩陣顯示器、兩顆按鈕還有一些感測器。最關鍵的是它的micro-USB插槽,可以連接至電腦,讓電腦同時供給電源並傳送程式。micro:bit也可以連接至電池組,如此不需要電腦供電也可以使用。
micro:bit起初是為了教學目的而設計,不過這個好用的小裝置,如今已經在世界各地電子玩家與Maker之間備受寵愛。
插入啟動!
要使用micro:bit之前,你需要準備USB至micro-USB轉接線才能將電路板插入電腦。在購買micro:bit的同時,你可能已經買了一條。如果沒...
目錄
致謝
第1章 認識micro:bit
第2章 啟程
第3章 基礎MicroPython
第4章 函式
第5章 清單與字典
第6章 編寫你自己的程式
第7章 模組和類別
第8章 LED顯示器
第9章 micro:bit感測器
第10章 連接電子元件
第11章 無線廣播與通訊
第12章 JavaScript積木式程式編輯器
附錄A MicroPython參考資料
附錄B 硬體
致謝
第1章 認識micro:bit
第2章 啟程
第3章 基礎MicroPython
第4章 函式
第5章 清單與字典
第6章 編寫你自己的程式
第7章 模組和類別
第8章 LED顯示器
第9章 micro:bit感測器
第10章 連接電子元件
第11章 無線廣播與通訊
第12章 JavaScript積木式程式編輯器
附錄A MicroPython參考資料
附錄B 硬體