機器人程序設計(C語言)(第2版)

秦志強,劉建東,王淑鴻

  • 出版商: 電子工業
  • 出版日期: 2021-05-01
  • 定價: $312
  • 售價: 8.5$265
  • 語言: 簡體中文
  • 頁數: 236
  • 裝訂: 平裝
  • ISBN: 7121386046
  • ISBN-13: 9787121386046
  • 相關分類: C 程式語言機器人製作 Robots
  • 下單後立即進貨 (約4週~6週)

買這商品的人也買了...

商品描述

本書將教學機器人引入C程序設計課程,在整個課程學習過程中採用基於項目的學習方法,將C語言的各種表達式、語法、關鍵詞、邏輯結構和數據類型等教學內容融入一系列循序漸進的教學機器人製作和競賽項目,直接在項目應用和競賽過程中學習C語言,實現“做中學、學中賽、賽中會”的做學賽一體化學習,以提升C語言的學習效率和效果,最後通過歸納總結,獲得整個C語言程序設計的系統知識和技能。本書的編寫徹底突破了傳統教學方法的局限,解決了C程序設計課程抽象、枯燥、難學和學習效果差的老大難問題。

作者簡介

秦志強,東莞第六批領軍人物入選者,全童科教有限公司董事長,中科樂活動中心創始人、中國教育機器人大賽創始人。
秦志強主持編寫和出版13本機器人教學方面教材,在電子工業出版社發行。
秦志強是“無人機之父”香港科技大學李澤湘教授的弟子。
2016年,李澤湘和秦志強在松山湖聯合成立全童科教(東莞)有限公司,建立機器人STEAM研究院。

目錄大綱

目 錄
一部分 基本技能學習和實踐
1章一種新的C語言學習方式 2
學習背景 4
單片機和微控制器 4
機器人與C語言學習平台 6
任務1.1獲得軟件 6
任務1.2安裝軟件 7
安裝Keil μVision4 IDE  7
任務1.3硬件連接 8
連接計算機 8
連接電源 8
教學板和單片機通電檢查 8
教學板程序下載與通信功能的切換 8
任務1.4一個程序 9
創建並編輯一個程序 9
一個C語言程序:HelloRobot.c  11
編譯程序 12
程序調試 12
下載可執行文件到單片機 14
用串口調試軟件查看單片機輸出信息 15
HelloRobot.c是如何工作的 15
printf( )函數 16
“while(1);”的作用 17
任務1.5斷開電源 17
工程素質和技能歸納 17
本章涉及的主要技能 17
常見錯誤 18
科學精神的培養 18

2章簡單的C程序設計—機器人做算術 20
學習背景 21
任務2.1整型數據的運算和結果顯示 22
任務2.2浮點型數據的運算 26
任務2.3字符型數據 27
字符常量 27
轉義字符 28
字符變量 28
工程素質和技能歸納 29
本章涉及的主要技能 29
常見錯誤 29
科學精神的培養 30

3章循環程序設計—讓機器人動起來 32
學習背景 33
C51單片機的輸入/輸出接口 34
任務3.1單燈閃爍控制 34
LED電路元器件 34
LED電路搭建 34
例程:HighLowLed.c  37
HighLowLed.c是如何工作的 37
無符號整型數據unsigned int  37
while語句 39
時序圖簡介 39
任務3.2機器人伺服電機控制信號 40
例程:BothServoClockwise.c  43
任務3.3計數並控制循環次數 44
for語句 44
自增和自減 45
for循環控制電機的運行時間 45
例程:ControlServoRunTimes.c  46
例程:BothServosThreeSeconds.c  47
任務3.4用計算機來控制機器人的運動 48
例程:ControlServoWithComputer.c  48
ControlServoWithComputer.c是如何工作的 49
scanf( )函數 49
工程素質和技能歸納 50
本章涉及的主要技能 50
科學精神的培養 51

4章函數—機器人運動控制 52
學習背景 53
任務4.1基本巡航動作 54
向前巡航 54
向後走、原地轉彎和繞軸旋轉 56
任務4.2勻加速、勻減速運動 59
編寫勻加速運動程序 59
任務4.3用函數調用簡化運動程序 62
函數 62
任務4.4用數組進一步簡化函數調用 67
程序是如何工作的 68
工程素質和技能歸納 69
本章涉及的主要技能 69
科學精神的培養 69

5章選擇結構程序設計—機器人觸鬚導航 70
學習背景 71
觸鬚導航與單片機輸入接口 72
任務5.1安裝並測試機器人觸鬚 72
安裝觸鬚 72
測試觸鬚 74
位作運算符 75
if語句 76
作符? :  76
任務5.2通過觸鬚導航 78
編程使機器人基於觸鬚導航 78
關係與邏輯運算符 79
觸鬚導航機器人怎樣行走 83
任務5.3機器人進入死區後的人工智能決策 83
編程逃離牆角死區 83
任務5.4機器人行進過程中的碰撞保護程序 88
continue語句 88
工程素質和技能歸納 89
本章涉及的主要技能 89
科學精神的培養 90

6章選擇結構程序設計—機器人紅外導航 92
學習背景 93
使用紅外發器和接收器探測道路 94
紅外前燈 94
任務6.1搭建並測試IR發和探測器對 95
元器件清單 95
搭建紅外前燈 95
測試紅外檢測器 96
排錯 97
函數延時的不精確性 98
任務6.2探測和避開障礙物 99
宏定義 99
改變觸鬚程序,使其適合IR檢測和躲避 99
任務6.3高性能的IR導航 104
在每個脈沖之間採樣,以避免碰撞 104
do…while語句 106
任務6.4俯視的探測器 107
推薦材料 108
用緣帶模擬桌子的邊沿 108
邊沿探測編程 109
工程素質和技能歸納 112
本章涉及的主要技能 112
科學精神的培養 113

7章多分支結構程序設計——機器人循線運動 114
學習背景 115
競賽任務 116
任務7.1 QTI傳感器及其通信接口 117
任務7.2安裝QTI傳感器到機器人前端 117
任務7.3編寫QTI傳感器的測試程序 119
任務7.4設計算法,實現機器人無接觸遊歷 121
switch語句 126
任務7.5 修改算法實現機器人遊歷 127
任務7.6 用數組實現機器人遊歷 131
任務7.7 改進運動執行程序提升執行的可靠性 137
工程素質和技能歸納 143
本章涉及的主要技能 143
科學精神的培養 143

二部分 綜合實踐案例
8章 結構化程序設計——智能搬運競賽 146
學習背景 147
競賽任務 148
任務8.1 給機器人安裝循線傳感器和搬運手爪 149
任務8.2 根據比賽任務設計算法 150
算法描述 150
任務8.3 定義運動數據結構體存儲運動數據 151
結構體 152
任務8.4 將運動函數存成其他文件包含進來 155
“文件包含”處理 159
任務8.5 循線運動函數的設計與實現 160
循線到某目標節點的算法 160
break語句 164
任務8.6 根據算法完成搬運子函數和主程序的編寫 165
工程素質和技能歸納 166
本章涉及的主要技能 166
科學精神的培養 166

9章 結構化程序設計——擂台賽 168
學習背景 169
擂台賽場和競賽規則 170
任務9.1紅外線擂台機器人的軟件設計 172
任務9.2優化紅外線擂台機器人軟件 177
任務9.3聲波擂台機器人的軟件設計 181
任務9.4遙控擂台機器人的軟件設計 184
NEC協議 184
遙控器解碼 185
電機驅動程序 190
主控程序 191
工程素質和技能歸納 193
科學精神的培養 194

附 錄
附錄A C語言概要歸納 198
C語言概述 198
數據類型、運算符與表達式 198
分支結構程序 200
循環控制 202
數組 203
函數 204
預處理命令 205
指針 206
結構體 207
位運算 208

附錄B C語言中的關鍵字索引 210
附錄C 無焊錫麵包板 211
附錄D中國教育機器人大賽簡介 214
附錄E完成本書項目學習所需配件清單 216
附錄F教學板介紹 217