發表於2024-11-10
本書利用TumipBit口袋編程計算機(兼容Micro:Bit)進行實驗,力求通過有趣的實驗,將Python編程學習中乏味的數據類型、邏輯運算、變量、循環、判斷、函數等基礎知識融為一體,便於青少年學習掌握。
注重動手能力,從“如何做”的角度切入,抓住要點,讓青少年真正DIY起來,記住知識點,掌握內容,親手做齣創意作品。
這是一本有技術支持的機器人DIY實戰書籍,可提供以下技術支持渠道。
本書既是介紹MicroPython的快速入門書籍,也是以TurnipBit為基礎進行MicroPython實戰應用的書籍。本書以實驗的方式進行講解,隻需跟著實驗步驟一步一步完成就可以真正實現零基礎也能做硬件;在一些重要的知識點處,我們加注瞭一些思考內容。這些內容有些是對本知識點的鞏固,有些是對本知識點的外延,如果你有能力,建議你嘗試著去完成。如果你不知道怎麼做,你也可以試著問問“百度”;每個實驗的最後,羅列瞭本實驗的知識要點,幫助你理清知識點,掌握編程思想。總而言之,本書旨在幫助讀者以最短的時間掌握以TurnipBit為基礎進行MicroPython實戰應用,希望大傢對有MicroPython程序開發需求的讀者有幫助。
史嚮東,網名小五義,南京拓界信息技術有限公司副總經理,長年從事網絡安全、智能硬件安全及開發等相關工作,曾在國內核心期刊、國內著名網站發錶文章二十餘篇,“博客園”網站前1000博主。
鄧貴勇,濰坊學院計算機畢業,2005開始旅居海外,一直從事IT行業;近年迴國後組織瞭多個智能硬件産品項目,並組建瞭一個硬件極客團隊,將micropython開源硬件引入國內,TPYBoard開發闆專利持有人。
第1章 打開極客之門 1
1.1 TurnipBit是什麼 1
1.2 從拼插編程開始 1
1.3 做個真正的程序員 4
1.3.1 什麼是Python 4
1.3.2 麵嚮硬件的MicroPython 5
1.3.3 支持MicroPython的開發闆 6
1.3.4 利用TurnipBit進行編程學習 9
第2章 滾動的廣告牌 12
2.1 滾動的“Hello World!” 12
2.2 動手進行拼插編程 12
2.2.1 實現滾動顯示“Hello World!” 12
2.2.2 實現循環滾動顯示“Hello World!” 16
2.3 動手畫流程圖 18
2.3.1 流程圖是什麼 18
2.3.2 畫齣“Hello World!”的流程圖 19
2.4 知識要點 20
2.4.1 拼插編程 20
2.4.2 代碼編程 21
第3章 倒計時 22
3.1 神奇的計時器 22
3.2 讓TurnipBit顯示數字 23
3.2.1 實現滾動顯示數字 23
3.2.2 顯示靜態數字 24
3.2.3 有趣的數字 28
3.3 動手製作倒計時器 33
3.3.1 “倒計時器”程序流程圖 33
3.3.2 睡眠1000毫秒 33
3.3.3 完成“倒計時器” 34
3.4 知識要點 35
3.4.1 拼插編程 35
3.4.2 代碼編程 35
第4章 方便的加法計算器 36
4.1 DIY加法計算器 36
4.2 變量及其類型 36
4.2.1 變量 36
4.2.2 變量的命名 38
4.2.3 變量的類型 39
4.2.4 數據類型操作 40
4.3 動手製作加法計算器 41
4.3.1 加法計算器流程圖 41
4.3.2 加法計算器的實現 42
4.4 知識要點 45
4.4.1 拼插編程 45
4.4.2 代碼編程 45
第5章 會走的機器人 46
5.1 機器人是怎麼走的 46
5.2 循環轉圈圈 46
5.2.1 for循環 47
5.2.2 while循環 48
5.2.3 continue和break 48
5.3 畫一個會走的機器人 49
5.3.1 使用“創建圖像”拼畫一個靜止的機器人 49
5.3.2 使用“創建圖像”讓機器人動起來 52
5.3.3 讓機器人一直走下去 54
5.3.4 畫齣會走的機器人的流程圖 56
5.4 知識要點 58
5.4.1 拼插編程 58
5.4.2 代碼編程 58
第6章 好玩的擲骰子遊戲 59
6.1 擲骰子遊戲 59
6.2 學會做選擇題 59
6.2.1 邏輯運算 60
6.2.2 if判斷語句 61
6.3 實現擲骰子遊戲 63
6.3.1 繪製流程圖 63
6.3.2 拼插編程實現擲骰子遊戲 65
6.4 代碼分析 70
6.4.1 基本原理 70
6.4.2 邏輯分析 70
6.5 知識要點 71
6.5.1 拼插編程 71
6.5.2 代碼編程 71
第7章 無綫投票器 72
7.1 製作無綫投票器 72
7.2 準備知識 73
7.2.1 函數 73
7.2.2 TurnipBit無綫模塊的使用 75
7.3 動手製作無綫投票器 78
7.3.1 無綫投票器流程圖設計 78
7.3.2 無綫投票器程序實現 80
7.3.3 分享代碼 87
7.4 知識要點 88
7.4.1 拼插編程 88
7.4.2 代碼編程 89
第8章 指南針 90
8.1 製作指南針 90
8.2 確定南方在哪裏 91
8.2.1 學會使用指南針 91
8.2.2 顯示每個方嚮的指南針 94
8.3 指南針流程圖 96
8.3.1 指南針的模糊概念 96
8.3.2 繪製流程圖 96
8.4 知識要點 98
8.4.1 拼插編程 98
8.4.2 代碼編程 98
第9章 簡易的MP3播放器 99
9.1 如何播放美妙的音樂 99
9.2 播放音樂 100
9.2.1 一首音樂循環播放 100
9.2.2 TurnipBit音樂播放器拼插編程 103
9.2.3 音樂播放器代碼分析 111
9.3 TurnipBit播放自定義音樂 113
9.3.1 TurnipBit播放音樂的方法 113
9.3.2 播放自定義音樂實例 115
9.3.3 播放自定義音樂代碼分析 116
9.4 知識要點 117
9.4.1 拼插編程 117
9.4.2 代碼編程 117
第10章 儲錢罐 118
10.1 DIY儲錢罐 118
10.2 繪製儲錢罐流程圖 118
10.3 動手進行拼插編程 120
10.3.1 實現儲錢罐 120
10.3.2 進階實現 126
10.4 代碼分析 127
10.4.1 基本原理 127
10.4.2 邏輯分析 127
10.5 知識要點 127
10.5.1 拼插編程 127
10.5.2 代碼編程 128
第11章 帶小夜燈的電子時鍾 129
11.1 製作帶小夜燈的電子時鍾 129
11.2 基礎知識 130
11.2.1 電阻 130
11.2.2 光敏電阻 133
11.2.3 LED 134
11.2.4 TurnipBit擴展闆 135
11.3 綫路設計 136
11.3.1 光敏電阻的使用 136
11.3.2 DS3231的連接 136
11.3.3 器件的連接 137
11.4 程序設計 138
11.4.1 引腳的使用 138
11.4.2 光敏電阻光綫臨界值的測量 139
11.4.3 DS3231模塊的代碼 140
11.4.4 時鍾對時代碼 143
11.4.5 帶小夜燈的電子時鍾的代碼實現 147
11.5 外殼組裝 151
11.6 知識要點 152
11.6.1 拼插編程 152
11.6.2 代碼編程 153
第12章 會思考的避障車 154
12.1 什麼是會思考的避障車 154
12.2 基礎知識 155
12.2.1 電機 155
12.2.2 超聲波傳感器 159
12.3 避障車的組裝 160
12.3.1 硬件器件 160
12.3.2 硬件安裝步驟 163
12.3.3 電機驅動模塊和超聲波模塊的安裝 166
12.4 程序設計 168
12.4.1 僞代碼分析 168
12.4.2 拼插編程 169
12.4.3 代碼分析 173
12.5 知識要點 176
12.5.1 拼插編程 176
12.5.2 代碼編程 176
推 薦 序
計算機科學與技術從誕生至今隻有區區幾十年的時間,與其他傳統學科相比,仍處於“嬰兒期”,但是它卻給人類社會帶來瞭翻天覆地的變化。根據“摩爾”定律,每隔18個月,集成電路元器件的集成密度就將翻一番,這就意味著計算機係統的性能將有一次大的提升。從2000年至今,我們親曆瞭互聯網、雲計算、物聯網、大數據、智能硬件技術的大發展,而眼前正在如火如荼地上演著人工智能技術的大爆發。計算機技術為人類開闢瞭另一個維度的世界——數字世界,而且其中蘊藏瞭大量的資源和財富。但就創建曆史和規模而言,這個世界裏的人類可能仍處於原始社會狀態,有很多處女地等待著我們去開發和建設,更可能是競爭和拼搶。在未來的社會中,計算機技術更是一項生存競爭的基本技能。
學好計算機技術其實並不容易,尤其是入門,有彆於現實自然界的認知方法,它要求學習者具有一定的邏輯思維能力和思維發散能力。因此,早接觸計算機技術,越有利於思維能力的鍛煉,形成良好的思維習慣。青少年學習計算機技術,往往是在好奇心驅動下開始的,而在麵對大量枯燥無味的代碼、協議、專業術語時放棄。針對這種情況,本書是一個非常好的選擇。本書通過一係列生動有趣的智能硬件製作實例,讓初學者在一步步成就感的驅動下,逐漸領會、掌握編程方法和技術。特彆是本書選擇時下非常流行的Python作為編程語言,其具備簡捷、易讀性和可擴展性等諸多優點,更有利於初學者掌握和使用。同時,本書也是一本關於物聯網和智能硬件技術的入門指導書。本書在內容上設計巧妙,能夠由淺入深地引導學習者,實操性強,創新與實踐相結閤,圖文並茂,有很多珍貴的設計方案和參考數據。因此,本書不失為一本很好的青少年計算機入門學習指導書,再配閤配套實驗設備的使用,將更有利於對技術知識的深入理解和靈活運用。祝廣大讀者通過本書的學習能早日步入計算機的世界,開發齣自己的創新作品。
周 磊
前 言
我從2013年開始接觸開源硬件。那時,我經常在博客上寫學習筆記,最初隻是想記錄下學習的過程,以後遇到同樣的問題,可以隨時翻看。後來,越來越多的愛好者和我一起討論,就索性建瞭一個QQ群,還編輯瞭一些電子教程。Arduino和樹莓派一直是我鍾愛的開源硬件産品。我會用它們來做盒仔機器人、NAS傢庭服務器、電視機頂盒等小手工,也會用它們來做一些簡單的開發。2015年,在朋友的介紹下,我第一次瞭解到MicroPython。由於我一直對Python比較熱衷,所以很快就迷戀上瞭MicroPython。從TPYBoard開發闆入手,簡單學習就可以實現各種小創意。 2016年,英國BBC麵嚮青少年推齣瞭支持MicroPython的Micro:Bit開發闆。國內也有瞭類似的TurnipBit開發闆。於是,我嘗試著用這些開源硬件來教我身邊的小朋友們學習MicroPython和Python。
學習過一些“積木類”機器人知識以後,一些孩子及其傢長往往會有一個睏惑,就是不知道接下來再學習什麼,以及如何從拖曳式編程過渡到純代碼編程。為此,我意識到MicroPython的簡單和方便為青少年學習提供瞭很好的途徑。於是,我開始嘗試教兩個10歲左右的小朋友進行MicroPython的學習。在學習初期,我們選擇和使用瞭TurnipBit開發闆,利用Web頁麵的“拼插”編程與代碼對比方式進行學習。我發現小朋友可以很快地接受,並能充滿樂趣地用代碼來進行程序設計。於是,我萌發瞭寫這本書的想法,想讓更多的小朋友接觸到編程。
根據青少年對數學、物理等基礎學科的學習進度,本書從最簡單的“點燈”(點亮LED燈)開始,選取瞭12個具有代錶性的實驗。通過實驗,不僅將數據類型、邏輯運算、變量、循環、判斷、函數等基礎的編程知識貫穿其中,便於學習掌握,而且還培養瞭青少年編程的興趣。如果你是正在上小學或者中學的青少年,如果你是一位正在為孩子如何學習編程而發愁的傢長,我相信這本書對你會有所幫助,能夠引導你或者孩子快速入門計算機編程,瞭解MicroPython甚至Python編程語言。
編程學習的準備工作
在開始學習之前,我們需要做一些準備性工作。本書在第1章和第2章分彆介紹瞭學習前必須要知道的基礎知識。比如什麼是計算機語言,在本書中用到的Python又是一種什麼語言等問題,都會在這兩章中做齣迴答。我們還從眾多的MicroPython開發闆中,選齣TurnipBit開發闆作為學習工具,瞭解該開發闆的性能、特點以及使用方法。如果說硬件和必要的基礎知識準備過於枯燥的話,那麼在第2章中將會用一個最簡單的小實驗——製作“Hello World!”廣告牌,帶你學習如何使用TurnipBit。流程圖將是建立程序邏輯思維的第一步,如何繪製流程圖也將在這一章中講述。
基礎的編程知識
“神奇的計時器”“方便的加法計算器”“會走的機器人”“好玩的擲骰子遊戲”……看題目就覺得是很有趣的實驗。通過這些實驗,你將會逐步學習到二進製計數法、變量及變量的類型、邏輯運算、判斷語句和循環語句。至此,你已經掌握瞭學習Python的基礎知識,準備工作基本完成,可以再進行一些更深入的學習瞭。
簡單的硬件開發學習
如果說“積木式”機器人的學習離工業設計還有很大距離的話,那麼TurnipBit會拉近這一距離,讓你感覺到似乎能夠像程序員一樣進行開發瞭。TurnipBit自帶的無綫模塊、磁敏傳感器、耳機以及各種外置接口(專業術語是GPIO接口),可以帶你進入硬件開發學習的領域——你將會學習到使用無綫模塊如何進行通信、使用磁敏傳感器如何確認方嚮、如何利用硬件開發闆演奏音樂、如何通過外置接口擴展更多的功能等知識。當然,你還會進一步掌握函數等更多的語言知識。學習完這一部分,你將能夠自己製作無綫投票器、指南針、儲錢罐等有趣的手工作品。
動手實現DIY創意
學習完前幾章,你是不是已經有瞭一定的成就感?你是不是已經能夠進行一些純代碼編程瞭?在本書最後兩章,我從眾多實驗中選取瞭兩個具有一定代錶性的實驗,與你一起從設計、製作、編程到調試,最終完成DIY作品。其中一個是帶小夜燈的電子時鍾,你將會學習到DS3231這類時鍾模塊的使用,還會學習到光敏電阻是如何感知光綫的,在光綫發生變化時,會自動調整小夜燈是否點亮。另一個是會思考的避障車,你將會學習到超聲波傳感器的工作原理,學會使用超聲波傳感器來判斷距離,從而調整小車的運動方嚮,保證讓小車不會碰到障礙物。
本書的使用方法
講到這裏,你一定很想現在就開始學習瞭吧。不急,我最後再說一下本書的一些使用技巧。
如何做:本書以實驗的方式進行講解,你隻需要跟著實驗步驟一步一步進行操作,就可以真正實現零基礎也能做硬件,感受到其中的樂趣。
思考:在一些重要的知識點處,加上瞭一些思考內容。這些內容有些是對本知識點的鞏固,有些是對本知識點的外延,如果你有能力,則建議嘗試著去完成;如果不知道怎麼做,則可以試著問問“百度”。
要點:在每個實驗的最後,都羅列瞭本實驗的知識要點,幫助你理清知識點,掌握內容。
來吧,讓我們開始動手創作吧!
緻謝
感謝在最開始幫助我們寫這本書的所有人,包括在此過程中一開始聯係的、討論知識重點及實驗案例的人。他們是鄧貴勇、畢吉濤、曾昭智、林靜、孫小鼕、宿玉青。感謝山東交通職業學院的房華教授、楊瑞老師給予的幫助與支持。
史嚮東(網名小五義)
2017年11月27日於南京
機器人Python青少年編程開發實例 下載 mobi pdf epub txt 電子書 格式 2024
機器人Python青少年編程開發實例 下載 mobi epub pdf 電子書非常好的書,值得學習,慢慢消化。
評分很不錯的書,值得學習研究研究,推薦下,???????
評分好書,雖然還沒看
評分此用戶未填寫評價內容
評分很簡單的一本書,基本上是代碼的羅列,缺少深度。
評分質量不錯,符閤我的要求
評分不怎麼樣。入門還行。邏輯不夠明瞭
評分6666666666
評分包裝很好,以為會很厚,努力學習中
機器人Python青少年編程開發實例 mobi epub pdf txt 電子書 格式下載 2024