本書主要以智能小車循跡比賽為載體,通過基于Arduino平臺(tái)的智能小車的各種功能的實(shí)現(xiàn),將C語言程序設(shè)計(jì)中的各個(gè)知識(shí)點(diǎn)進(jìn)行分解,主要講述了智能小車的原理及結(jié)構(gòu)、IDE開發(fā)環(huán)境、C語言程序結(jié)構(gòu)和特點(diǎn)、數(shù)據(jù)及類型、C語言程序基本語句、常用的程序結(jié)構(gòu)、函數(shù)類型和調(diào)用及數(shù)組的基本知識(shí)等。本書各章節(jié)內(nèi)容安排都是為了最終實(shí)現(xiàn)Arduino智能小車的編程、調(diào)試、運(yùn)行等各項(xiàng)功能,每章節(jié)在學(xué)習(xí)完基礎(chǔ)C程序設(shè)計(jì)等知識(shí)點(diǎn)后,均配套有相對(duì)應(yīng)的基于Arduino平臺(tái)的實(shí)例,具有現(xiàn)實(shí)意義,為學(xué)生對(duì)智能小車進(jìn)行安裝、編程和調(diào)試打下基礎(chǔ)。本書采用任務(wù)驅(qū)動(dòng)的形式,以項(xiàng)目實(shí)踐教學(xué)為主,理論講授為輔,通過5個(gè)環(huán)節(jié)一步一步引導(dǎo)學(xué)生完成指定任務(wù),引導(dǎo)學(xué)生在學(xué)習(xí)過程中掌握所需要的理論知識(shí)。本教材可作為職業(yè)院校物聯(lián)網(wǎng)相關(guān)專業(yè)教學(xué)用書,也可作為企業(yè)技術(shù)人員自學(xué)參考用書。
秦磊,高級(jí)講師,任教于河南機(jī)電職業(yè)學(xué)院,長期從事職業(yè)教育機(jī)電一體化相關(guān)專業(yè)的一線教學(xué)和教研工作,教學(xué)與實(shí)踐經(jīng)驗(yàn)豐富。
任務(wù) 安裝調(diào)試智能循跡小車 1
環(huán)節(jié)一 情境描述 2
環(huán)節(jié)二 信息收集 3
第1章 初識(shí)智能小車 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 電機(jī)驅(qū)動(dòng)與調(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完成一個(gè)小程序 17
2.1.3 常用的第三方軟件 19
2.2 Dev-C++ 20
2.3 Visual Studio 25
2.4 Turbo C 25
第3章 初識(shí)C語言 27
3.1 概述 27
3.2 C語言的產(chǎn)生和發(fā)展 27
3.3 C語言的特點(diǎn) 28
3.4 C語言的基本框架 29
3.5 C語言程序設(shè)計(jì)過程 30
3.6 編寫簡單的C語言程序 31
第4章 點(diǎn)亮一個(gè)LED 35
4.1 C語言數(shù)據(jù)類型 35
4.1.1 常量 35
4.1.2 變量 37
4.2 點(diǎn)亮一個(gè)LED的控制系統(tǒng)設(shè)計(jì) 41
4.2.1 硬件電路設(shè)計(jì) 42
4.2.2 程序設(shè)計(jì) 43
4.2.3 執(zhí)行效果 44
第5章 制作模擬交通燈 47
5.1 運(yùn)算符與表達(dá)式 47
5.1.1 算術(shù)運(yùn)算符和算術(shù)表達(dá)式 48
5.1.2 賦值運(yùn)算符和賦值表達(dá)式 49
5.1.3 關(guān)系運(yùn)算符和關(guān)系表達(dá)式 50
5.1.4 邏輯運(yùn)算符和邏輯表達(dá)式 51
5.1.5 條件運(yùn)算符和條件表達(dá)式 52
5.1.6 逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式 54
5.1.7 sizeof運(yùn)算符 54
5.1.8 數(shù)據(jù)類型轉(zhuǎn)換 54
5.1.9 運(yùn)算符的優(yōu)先級(jí)和結(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è)計(jì)舉例 61
5.5 模擬交通燈控制系統(tǒng)設(shè)計(jì) 63
5.5.1 硬件電路設(shè)計(jì) 63
5.5.2 程序設(shè)計(jì) 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 用計(jì)算機(jī)指令控制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 火焰報(bào)警案例 123
8.7 智能小車綜合PWM控制系統(tǒng)設(shè)計(jì) 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è)計(jì) 148
9.4.1 數(shù)碼管的工作原理及結(jié)構(gòu) 149
9.4.2 電路設(shè)計(jì) 151
9.4.3 源程序設(shè)計(jì) 152
環(huán)節(jié)三 分析計(jì)劃 156
環(huán)節(jié)四 任務(wù)實(shí)施 158
環(huán)節(jié)五 檢驗(yàn)評(píng)估 160
附錄A 任務(wù)單 161
參考文獻(xiàn) 218