本書主要以智能小車循跡比賽為載體,通過基于Arduino平臺的智能小車的各種功能的實現(xiàn),將C語言程序設(shè)計中的各個知識點進(jìn)行分解,主要講述了智能小車的原理及結(jié)構(gòu)、IDE開發(fā)環(huán)境、C語言程序結(jié)構(gòu)和特點、數(shù)據(jù)及類型、C語言程序基本語句、常用的程序結(jié)構(gòu)、函數(shù)類型和調(diào)用及數(shù)組的基本知識等。本書各章節(jié)內(nèi)容安排都是為了最終實現(xiàn)Arduino智能小車的編程、調(diào)試、運行等各項功能,每章節(jié)在學(xué)習(xí)完基礎(chǔ)C程序設(shè)計等知識點后,均配套有相對應(yīng)的基于Arduino平臺的實例,具有現(xiàn)實意義,為學(xué)生對智能小車進(jìn)行安裝、編程和調(diào)試打下基礎(chǔ)。本書采用任務(wù)驅(qū)動的形式,以項目實踐教學(xué)為主,理論講授為輔,通過5個環(huán)節(jié)一步一步引導(dǎo)學(xué)生完成指定任務(wù),引導(dǎo)學(xué)生在學(xué)習(xí)過程中掌握所需要的理論知識。本教材可作為職業(yè)院校物聯(lián)網(wǎng)相關(guān)專業(yè)教學(xué)用書,也可作為企業(yè)技術(shù)人員自學(xué)參考用書。
秦磊,高級講師,任教于河南機電職業(yè)學(xué)院,長期從事職業(yè)教育機電一體化相關(guān)專業(yè)的一線教學(xué)和教研工作,教學(xué)與實踐經(jīng)驗豐富。
任務(wù) 安裝調(diào)試智能循跡小車 1
環(huán)節(jié)一 情境描述 2
環(huán)節(jié)二 信息收集 3
第1章 初識智能小車 4
1.1 智能小車簡介 4
1.2 智能小車的基本結(jié)構(gòu) 4
1.2.1 傳感器部分 5
1.2.2 控制器部分 6
1.2.3 執(zhí)行器部分 7
1.2.4 其他部分 8
1.3 智能小車的工作原理 10
1.3.1 電機驅(qū)動與調(diào)速原理 10
1.3.2 循跡原理 11
1.3.3 避障原理 12
第2章 集成開發(fā)環(huán)境介紹 14
2.1 Arduino IDE 14
2.1.1 安裝Arduino IDE 14
2.1.2 用Arduino IDE完成一個小程序 17
2.1.3 常用的第三方軟件 19
2.2 Dev-C++ 20
2.3 Visual Studio 25
2.4 Turbo C 25
第3章 初識C語言 27
3.1 概述 27
3.2 C語言的產(chǎn)生和發(fā)展 27
3.3 C語言的特點 28
3.4 C語言的基本框架 29
3.5 C語言程序設(shè)計過程 30
3.6 編寫簡單的C語言程序 31
第4章 點亮一個LED 35
4.1 C語言數(shù)據(jù)類型 35
4.1.1 常量 35
4.1.2 變量 37
4.2 點亮一個LED的控制系統(tǒng)設(shè)計 41
4.2.1 硬件電路設(shè)計 42
4.2.2 程序設(shè)計 43
4.2.3 執(zhí)行效果 44
第5章 制作模擬交通燈 47
5.1 運算符與表達(dá)式 47
5.1.1 算術(shù)運算符和算術(shù)表達(dá)式 48
5.1.2 賦值運算符和賦值表達(dá)式 49
5.1.3 關(guān)系運算符和關(guān)系表達(dá)式 50
5.1.4 邏輯運算符和邏輯表達(dá)式 51
5.1.5 條件運算符和條件表達(dá)式 52
5.1.6 逗號運算符和逗號表達(dá)式 54
5.1.7 sizeof運算符 54
5.1.8 數(shù)據(jù)類型轉(zhuǎn)換 54
5.1.9 運算符的優(yōu)先級和結(jié)合性 55
5.2 語句 56
5.3 C語言中的基本輸入/輸出函數(shù) 57
5.3.1 printf()函數(shù) 58
5.3.2 scanf()函數(shù) 60
5.3.3 putchar()函數(shù) 60
5.3.4 getchar()函數(shù) 61
5.4 順序結(jié)構(gòu)程序設(shè)計舉例 61
5.5 模擬交通燈控制系統(tǒng)設(shè)計 63
5.5.1 硬件電路設(shè)計 63
5.5.2 程序設(shè)計 63
第6章 制作小夜燈 67
6.1 選擇語句 67
6.1.1 基本if語句 67
6.1.2 if-else語句 69
6.1.3 嵌套if語句 72
6.1.4 if-else-if語句 75
6.1.5 switch語句 78
6.2 相關(guān)案例介紹 80
6.2.1 用計算機指令控制LED 80
6.2.2 用按鍵控制LED 82
6.2.3 制作神奇小夜燈 84
第7章 制作跑馬燈 88
7.1 for循環(huán) 88
7.2 while循環(huán) 90
7.3 do-while循環(huán) 91
7.4 循環(huán)嵌套 93
7.5 break語句 94
7.6 continue語句 97
7.7 跑馬燈的制作 97
7.8 模擬按鍵響應(yīng)事件 99
7.9 通過串口接收和發(fā)送大量數(shù)據(jù) 101
第8章 智能小車綜合PWM控制 103
8.1 函數(shù)的定義與調(diào)用 104
8.1.1 函數(shù)的定義 104
8.1.2 函數(shù)的調(diào)用 105
8.2 庫函數(shù)和自定義函數(shù) 107
8.2.1 庫函數(shù) 107
8.2.2 自定義函數(shù) 111
8.2.3 函數(shù)的分類 111
8.3 函數(shù)的參數(shù)和返回值 115
8.3.1 函數(shù)的參數(shù) 115
8.3.2 函數(shù)的返回值 116
8.4 函數(shù)的嵌套調(diào)用和遞歸調(diào)用 117
8.4.1 函數(shù)的嵌套調(diào)用 117
8.4.2 函數(shù)的遞歸調(diào)用 118
8.5 常用Arduino函數(shù) 120
8.5.1 結(jié)構(gòu)函數(shù) 120
8.5.2 功能函數(shù) 120
8.6 火焰報警案例 123
8.7 智能小車綜合PWM控制系統(tǒng)設(shè)計 127
第9章 數(shù)碼管靜態(tài)顯示 131
9.1 一維數(shù)組 131
9.1.1 一維數(shù)組的定義 131
9.1.2 一維數(shù)組元素的引用 132
9.1.3 一維數(shù)組的初始化 133
9.1.4 一維數(shù)組的應(yīng)用 134
9.2 二維數(shù)組 135
9.2.1 二維數(shù)組的定義 135
9.2.2 二維數(shù)組元素的引用 136
9.2.3 二維數(shù)組的初始化 137
9.2.4 二維數(shù)組的應(yīng)用 138
9.3 字符數(shù)組 140
9.3.1 字符數(shù)組的定義 140
9.3.2 字符數(shù)組元素的引用 140
9.3.3 字符數(shù)組的初始化 140
9.3.4 字符串和字符串結(jié)束標(biāo)志 142
9.3.5 字符數(shù)組的輸入和輸出 142
9.3.6 字符串處理函數(shù) 144
9.3.7 字符數(shù)組的應(yīng)用 147
9.4 數(shù)碼管靜態(tài)顯示系統(tǒng)設(shè)計 148
9.4.1 數(shù)碼管的工作原理及結(jié)構(gòu) 149
9.4.2 電路設(shè)計 151
9.4.3 源程序設(shè)計 152
環(huán)節(jié)三 分析計劃 156
環(huán)節(jié)四 任務(wù)實施 158
環(huán)節(jié)五 檢驗評估 160
附錄A 任務(wù)單 161
參考文獻(xiàn) 218