店鋪:遼寧音像出版社圖書專營店 出版社:北京航空航天大學出版社 ISBN:9787512432765 商品編碼:10029242359026 包裝:平裝 出版時間:2020-06-01 作者:楊晉
"基本信息 書名:智能硬件項目教程:基於ESP32 定價 作者:楊晉 出版社:北京航空航天大學出版社 出版日期:2020-06-01 ISBN:9787512432765 字數: 頁碼: 版次:1 裝幀:平裝 開本:16開 商品重量: 編輯推薦
內容提要
本書通過項目學習(PBL)的方式講述基於ESP32 for Arduino的編程基礎知識。本書講述了ESP32 for Arduino的基本函數;結合硬件講述了數組及位操作,按鍵消抖;UART基本知識,庫函數和經典藍牙的應用;I2C、SPI的基本原理,庫函數的使用;網絡及HTML基礎知識,以STA和softAP模式建立WiFi連接,創建Web服務器,並實現遠程訪問;步進電機的基礎知識及梯形加減速運動控制;PID基礎知識,並利用碼盤實現小車運動的控制。 目錄
章初識ESP321 1.1ESP32簡介1 1.2ESP32 芯片基本性能及外設2 1.3ESP32 WROOM模組的電氣特性2 1.4基於ESP32 WROOM模組的開發板2 1.5ESP32 for Arduino軟件開發環境安裝3 1.6ESP32開發板驅動安裝6 1.7學習平臺搭設6 1.8Hello World!6 1.9ESP32引腳說明8 1.10ESP32KPCB專用開發板9 1.11普通開發板使用 9 1.12ESP32 數字信號讀/寫操作10 1.12.1ESP32數字信號操作函數10 1.12.2數字信號讀/寫示例10 1.13ESP32模擬信號讀/寫操作12 1.13.1模擬信號輸入函數12 1.13.2模擬信號輸入示例13 1.13.3模擬信號輸出函數——基於LEDC14 1.13.4模擬信號輸出函數示例——基於LEDC16 1.13.5模擬信號輸出函數——基於DAC17 1.14電容觸摸傳感器17 1.15電容觸摸傳感器示例18 1.16霍爾傳感器20 1.17霍爾傳感器示例20 1.18外部中斷21 1.18.1中斷程序21 1.18.2中斷觸發模式22 1.18.3中斷觸發函數22 1.18.4外部中斷示例(一)——按鍵計數顯示23 1.18.5外部中斷示例(二)——入侵檢測儀25 1.19Serial.printf函數26 1.20思考題28 第2章數碼管計時器29 2.1項目一:一位數碼管原理及數字顯示29 2.1.1一位數碼管工作原理29 2.1.2一位數碼管數字顯示30 2.2項目二:通過數組實現一位數碼管數字顯示32 2.2.1一維數組的定義和初始化33 2.2.2二維數組的定義和初始化33 2.2.3通過數組實現一位數碼管顯示34 2.3項目三:74HC595移位寄存器芯片36 2.3.174HC595移位寄存器芯片36 2.3.274HC595一位數碼管模塊37 2.3.3通過按鍵控制74HC595一位數碼管模塊38 2.4項目四:通過編程控制74HC595一位數碼管模塊40 2.5項目五:數碼管計時器44 2.5.14位數碼管工作原理44 2.5.2雙74HC595移位寄存器芯片級聯模塊工作原理45 2.5.3步驟一:4位數碼管的單數顯示46 2.5.4步驟二:按鍵消抖50 2.5.5步驟三:按鍵計時器53 2.6思考題56 第3章點陣動畫57 3.1項目一:8×8點陣的顯示57 3.1.18×8點陣工作原理57 3.1.2測試8×8點陣58 3.2項目二:流水燈示例59 3.3項目三:點陣顯示圖像63 3.3.1視覺暫留63 3.3.2顯示圖像示例63 3.4項目四:點陣動畫效果65 3.5項目五:點陣數顯計時器68 3.6思考題72 第4章串行通信——UART73 4.1UART基礎知識73 4.1.1UART定義73 4.1.2波特率74 4.1.3起始位、停止位及校驗位74 4.1.4ASCII碼75 4.1.5ESP32的UART端口76 4.2項目一:UART數據發送77 4.3項目二:UART數據接收78 4.4項目三:設置時間80 4.4.1報文設定80 4.4.2字符串解析——Arduino String libray81 4.4.3接收數據流程82 4.4.4其他接收函數85 4.5項目四:請輸入密碼86 4.5.1EEPROM簡介86 4.5.2EEPROM庫86 4.5.3設置初始密碼87 4.5.4修改密碼88 4.6項目四:藍牙控制90 4.6.1藍牙90 4.6.2BluetoothSerial庫91 4.6.3手機控制92 4.7思考題95 第5章串行通信——I2C和SPI96 5.1I2C基礎知識96 5.1.1I2C基本原理96 5.1.2I2C主設備、從設備及引腳97 5.1.3I2C庫及庫函數97 5.2項目一:MPU6050姿態傳感器99 5.2.1MEMS簡介99 5.2.2MPU6050姿態傳感器簡介99 5.2.3姿態角100 5.2.4MPU6050姿態傳感器內部的寄存器101 5.2.5MPU6050姿態傳感器數據讀/寫102 5.2.6示例一:通過I2C類庫命令讀/寫MPU6050姿態傳感器的量程102 5.2.7示例二:通過I2C類庫命令讀取MPU6050姿態傳感器的原始數據106 5.2.8示例三:通過專用庫讀取MPU6050姿態傳感器的姿態數據109 5.3項目二:SSD1306 OLED顯示屏111 5.3.1SSD1306 OLED顯示屏簡介111 5.3.2SSD1306 OLED顯示屏庫功能112 5.3.3示例一:文字顯示112 5.3.4示例二:顯示漢字113 5.3.5示例三:控制臺輸出117 5.3.6示例四:屏幕菜單118 5.4項目三:平衡遊戲機120 5.5SPI基礎知識120 5.5.1SPI簡介120 5.5.2ESP32 SPI接口及引腳121 5.5.3SPI類庫及庫函數122 5.6項目四:SPI庫成員函數驅動雙74HC595移位寄存器123 5.7思考題125 第6章WiFi聯網和Web服務器126 6.1網絡基礎知識和Web服務器126 6.1.1互聯網絡和TCP/IP協議126 6.1.2IP地址127 6.1.3端口號128 6.1.4客戶端服務器模式129 6.1.5協議129 6.1.6ESP32 Web服務器130 6.1.7URL和域名、IP之間的關繫130 6.1.8ESP32 WiFi工作模式131 6.1.9ESP32 WiFi類庫及成員函數132 6.2HTML基礎135 6.2.1HTML文檔編輯工具——Sublime Text軟件的下載安裝135 6.2.2編寫個HTML文檔135 6.2.3HTML文檔基本結構138 6.2.4HTML標簽139 6.2.5CSS簡介139 6.3項目一:Web服務器控制輸出141 6.3.1項目任務141 6.3.2任務分析141 6.3.3步驟一:電路搭設142 6.3.4步驟二:設定AP模式,建立WiFi連接142 6.3.5步驟三:創建Web服務器144 6.3.6步驟四:編寫應用程序,控制LED燈148 6.4項目二:Web服務器讀入數據151 6.4.1項目任務152 6.4.2步驟一:電路搭設152 6.4.3步驟二:設定STA模式,連接到WiFi153 6.4.4步驟三:創建Web服務器154 6.4.5步驟四:編寫應用程序,讀取並發送模塊信息154 6.5思考題157 第7章步進電機158 7.1步進電機及其控制器的基礎知識158 7.1.1步進電機158 7.1.2步進電機的工作原理159 7.1.3步進電機的動態特性161 7.1.4步進電機的特點162 7.1.5步進電機的控制162 7.1.624BJY48永磁式步進電機163 7.2項目一:程序控制步進電機轉動164 7.3項目二:AccelStepper步進電機庫應用——恆速轉動168 7.4項目三:AccelStepper步進電機庫應用——梯形加減速轉動170 7.5項目四:AccelStepper步進電機庫應用——串口控制172 7.6項目五:AccelStepper步進電機庫應用——多步進電機同步控制173 7.7思考題174 第8章藍牙迷宮智能小車175 8.1PID控制器簡介175 8.2項目一:小車動起來177 8.2.1主控板電機驅動177 8.2.2按鍵調速小車179 8.3項目二:碼盤數據讀取182 8.3.1碼盤及碼盤光電模塊182 8.3.2車輪旋轉圈數計算182 8.4項目三:通過碼盤控制小車直線行走184 8.5項目四:通過碼盤控制小車按指定形狀行走186 8.6項目五:藍牙迷宮小車188 8.6.1iTEAD APP安裝188 8.6.2iTEAD APP操控模式189 8.6.3iTEAD APP調試模式189 8.7思考題191 參考文獻192 作者介紹
序言
" |