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