《工作導向創新實踐教材:基于ARM9的小型機器人制作》以“嵌入式探月小車設計開發”為主線,通過“項目導向、任務驅動”編撰,全書分為三個部分:Linux基礎及環境搭建,ARM開發板硬件基礎,嵌入式Linux的應用開發。共包括9個項目:Linux基礎及環境搭建(項目1);ARM開發板硬件基礎(項目2);嵌入式Linux的應用開發(項目3~項目9)。每個項目從項目描述、教學目標、知識準備、任務實現、考核評價、拓展提高六個方面來組織編寫。
項目1 軟件環境搭建與配置
1.1 項目描述
1.2 教學目標
1.3 知識準備
1.4 任務實現
1.4.1 安裝VMware Workstation
1.4.2 在虛擬機上安裝RedHat Linux操作系統
1.4.3 Linux的常用命令
1.4.4 vi編輯器的進入
1.4.5 vi編輯器的兩種模式
1.4.6 vi編輯器的退出
1.4.7 vi編輯器的基本編輯
1.4.8 vi編輯器的文件操作指令
1.4.9 VMwaretools的安裝
1.4.10 交叉編譯環境配置
1.4.11 超級終端配置
1.4.12 NFS配置
1.5 考核評價
任務1 VMware安裝
任務2 Linux安裝
任務3 vi編輯器刪除、復制文件及腳本編寫
任務4 安裝VMwaretools
任務5 配置交叉編譯環境
任務6 搭建自己的NFS
1.6 拓展提高
任務1 Linux命令的使用
任務2 JTAG驅動安裝配置及燒寫文件
項目2 ARM2440開發板
2.1 項目描述
2.2 教學目標
2.3 知識準備
2.3.1 ARM2440開發板硬件
2.3.2 ARM2440開發板系統特性
2.3.3 ARM2440開發板接口布局及跳線
2.4 任務實現
2.4.1 編寫Hello程序
2.4.2 編寫LED程序
2.4.3 編寫按鍵程序
2.4.4 編寫PWM控制蜂鳴器程序
2.4.5 編寫A/D 輸入程序
2.4.6 插入驅動程序
2.5 考核評價
任務1 編寫GPIO程序
任務2 編寫ADC程序
任務3 編寫PWM程序
2.6 拓展提高
任務 編寫蜂鳴器唱歌程序
項目3 運動模塊設計
3.1 項目描述
3.2 教學目標
3.3 知識準備
3.3.1 關于直流電機
3.3.2 宏定義
3.3.3 結構體類型的使用
3.3.4 延時程序
3.3.5 ioctl函數
3.4 任務實現
3.4.1 方案設計
3.4.2 硬件電路設計
3.4.3 程序設計
3.4.4 程序代碼編輯、調試及運行
3.4.5 用arm_linux交叉編譯程序
3.4.6 燒寫可執行文件
3.4.7 設置開機自動運行程序
3.5 考核評價
任務1 實現小車原地轉圈
任務2 實現小車8字線路巡航
3.6 拓展提高
任務 實現小車進三退二巡航
項目4 循跡模塊設計
4.1 項目描述
4.2 教學目標
4.3 知識準備
4.3.1 關于灰度傳感器
4.3.2 按位“與”運算符(&)
4.3.3 按位“或”運算符(|)
4.3.4 關于read函數
4.3.5 關于sizeof使用
4.4 任務實現
4.4.1 方案設計
4.4.2 硬件電路設計
4.4.3 程序設計
4.4.4 程序代碼編輯、調試及運行
4.4.5 用arm_linux交叉編譯程序
4.4.6 燒寫可執行文件
4.5 考核評價
任務1 實現小車白線循跡
任務2 實現小車黑線循跡
4.6 拓展提高
任務 在中間灰度值低、四周灰度值高的平臺上自主漫游
項目5 紅外模塊設計
5.1 項目描述
5.2 教學目標
5.3 知識準備
5.3.1 關于紅外傳感器
5.3.2 指針
5.3.3 break的使用
5.3.4 return語句的使用
5.3.5 continue語句的使用
5.4 任務實現
5.4.1 方案設計
5.4.2 硬件電路設計
5.4.3 程序設計
5.4.4 程序代碼編輯、調試及運行
5.4.5 用arm_linux交叉編譯程序
5.4.6 燒寫可執行文件
5.5 考核評價
任務1 實現小車紅外報警
任務2 實現小車紅外避障巡航
5.6 拓展提高
任務 實現小車紅外測距
項目6 超聲模塊設計
6.1 項目描述
6.2 教學目標
6.3 知識準備
6.3.1 超聲波傳感器
6.3.2 超聲波測距原理及計算公式
6.3.3 超聲波傳感器工作時序
6.3.4 超聲波不能測距的幾種情況
6.4 任務實現
6.4.1 方案設計
6.4.2 硬件電路設計
6.4.3 程序設計
6.4.4 程序代碼編輯、調試及運行
6.4.5 用arm_linux交叉編譯程序
6.4.6 燒寫可執行文件
6.5 考核評價
任務1 實現小車超聲測距
任務2 實現小車超聲波檢測報警
6.6 拓展提高
任務 實現小車超聲波避障巡航
項目7 溫度模塊設計
7.1 項目描述
7.2 教學目標
7.3 知識準備
7.3.1 DS-18B20溫度傳感器介紹
7.3.2 DS-18B20溫度傳感器初始化
7.3.3 DS-18B20溫度傳感器寫操作
7.3.4 DS-18B20溫度傳感器讀操作
7.4 任務實現
7.4.1 方案設計
7.4.2 硬件電路設計
7.4.3 程序設計
7.4.4 程序代碼編輯、調試及運行
7.4.5 用arm_linux交叉編譯程序
7.4.6 燒寫可執行文件
7.5 考核評價
任務 實現溫度檢測
7.6 拓展提高
任務 實現溫度報警
項目8 圖像采集模塊設計
8.1 項目描述
8.2 教學目標
8.3 知識準備
8.3.1 camera介紹
8.3.2 sprintf介紹
8.3.3 malloc()介紹
8.3.4 free用法
8.3.5 RGB介紹
8.3.6 RGB565轉換RGB888介紹
8.4 任務實現
8.4.1 無線環境配置
8.4.2 硬件電路設計
8.4.3 程序設計
8.4.4 程序代碼編輯、調試及運行
8.4.5 用arm_linux交叉編譯程序
8.4.6 燒寫可執行文件
8.5 考核評價
任務1 圖片格式轉換
任務2 圖片采集并保存
8.6 拓展提高
任務 無線數據傳輸圖片
項目9 探月小車自主漫游設計
9.1 項目描述
9.2 教學目標
9.3 任務實現
9.3.1 方案設計
9.3.2 硬件電路設計
9.3.3 程序設計
9.3.4 程序代碼編輯、調試及運行
9.3.5 用arm_linux交叉編譯程序
9.3.6 燒寫可執行文件
9.3.7 設置開機自動運行程序
9.4 考核評價
任務1 小車自主漫游避障
任務2 小車自主漫游避障及障礙物圖像采集
任務3 小車自主漫游避障、障礙物圖像采集及環境溫度采集
附錄A C語言概要歸納
A.1 條件控制語句
A.1.1 if語句
A.1.2 switch語句
A.2 循環語句
A.2.1 while語句
A.2.2 for語句
A.3 函數
A.3.1 函數的定義
A.3.2 函數的聲明和調用
附錄B 安裝所需元器件清單
附錄C 調試所需儀器儀表清單
參考文獻