当前位置:主页 > 书籍配套资源 > Arduino配套资源
《Arduino开发实战指南:AVR篇》示例代码

《Arduino开发实战指南:AVR篇》示例代码

  • 更新:2022-06-19
  • 大小:4.88 MB
  • 类别:Arduino
  • 作者:程晨
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

本书主要通过了解,学习,使用Arduino开源模块,让读者在实战过程中学习并掌握基于AVR8位单片机的项目开发技巧。

封面图

目录

  • 前言
  • 第一篇 基础篇
  • 第1章 初识Arduino2
  • 1.1 Arduino的历史2
  • 1.2 Arduino的家族3
  • 1.3 Arduino的资源6
  • 1.4 Arduino的开发环境9
  • 1.5 添加新硬件及设置开发环境9
  • 1.6 Arduino开发环境的应用14
  • 第2章 编写Arduino程序16
  • 2.1 绘制流程图16
  • 2.1.1 流程图基本符号16
  • 2.1.2 流程图的三种基本结构17
  • 2.2 C语言的标识符与关键字18
  • 2.2.1 标识符18
  • 2.2.2 关键字18
  • 2.2.3 运算符19
  • 2.2.4 分隔符21
  • 2.2.5 常量21
  • 2.2.6 注释符21
  • 2.3 控制语句21
  • 2.3.1 if语句21
  • 2.3.2 switch语句22
  • 2.3.3 while语句23
  • 2.3.4 do-while语句24
  • 2.3.5 for语句25
  • 2.3.6 break语句26
  • 2.3.7 continue语句26
  • 2.3.8 goto语句26
  • 2.4 程序结构27
  • 第3章 Arduino的基本函数29
  • 3.1 数字I/O30
  • 3.1.1 pinMode(pin,mode)30
  • 3.1.2 digitalWrite(pin,value)31
  • 3.1.3 digitalRead(pin)32
  • 3.2 模拟I/O33
  • 3.2.1 analogReference(type)33
  • 3.2.2 analogRead(pin)33
  • 3.2.3 analogWrite(pin, value)34
  • 3.3 高级I/O37
  • 3.3.1 shiftOut(dataPin,clockPin, bitOrder,val)37
  • 3.3.2 pulseIn(pin,state,timeout)38
  • 3.4 时间函数39
  • 3.4.1 millis( )39
  • 3.4.2 delay(ms)40
  • 3.4.3 delayMicroseconds(us)40
  • 3.5 数学库41
  • 3.5.1 min(x,y)41
  • 3.5.2 max(x,y)41
  • 3.5.3 abs(x)41
  • 3.5.4 constrain(amt,low,high)41
  • 3.5.5 map(x,in_min,in_max,out_min, out_max)41
  • 3.5.6 三角函数42
  • 3.6 随机数42
  • 3.6.1 randomSeed(seed)42
  • 3.6.2 random(howsmall,howbig)42
  • 3.7位操作43
  • 3.8中断函数43
  • 3.8.1interrupts( )和noInterrupts( )43
  • 3.8.2attachInterrupt(interrupt,function,mode)43
  • 3.9 串口通信45
  • 3.10 SPI接口48
  • 3.10.1 SPI接口概述48
  • 3.10.2 SPI接口数据传输48
  • 3.10.3 SPI类及其成员函数49
  • 第4章 Arduino硬件平台52
  • 4.1 Arduino的原理图52
  • 4.2 串行通信口的使用55
  • 4.2.1 实例功能56
  • 4.2.2 硬件电路56
  • 4.2.3 程序设计56
  • 4.3 数字I/O口的使用58
  • 4.3.1 实例功能59
  • 4.3.2 硬件电路59
  • 4.3.3 程序设计59
  • 4.4 模拟I/O口的使用61
  • 4.4.1 实例功能61
  • 4.4.2 硬件电路61
  • 4.4.3 程序设计62
  • 4.5 烧写引导程序62
  • 4.5.1 下载器AVRISP63
  • 4.5.2 AVR Studio64
  • 4.5.3 烧写引导程序65
  • 第二篇 模块篇
  • 第5章 Arduino基本扩展模块68
  • 5.1 L293 Motor Shield68
  • 5.1.1 直流电机的工作原理68
  • 5.1.2 H桥驱动电路70
  • 5.1.3 线性放大调速原理71
  • 5.1.4 PWM调速原理72
  • 5.1.5 L293 Motor Shield的原理72
  • 5.1.6 L293 Motor Shield的应用74
  • 5.1.7 程序设计75
  • 5.1.8 程序分析76
  • 5.1.9 程序的精练77
  • 5.2 Input Shield78
  • 5.2.1 Input Shield原理图79
  • 5.2.2 Input Shield的实例79
  • 5.2.3 程序设计80
  • 5.2.4 程序分析81
  • 5.2.5 使用摇杆控制直流电机转速81
  • 5.3 LCD Keypad Shield83
  • 5.3.1 液晶显示原理83
  • 5.3.2 标准1602液晶模块83
  • 5.3.3 1602液晶模块控制方式84
  • 5.3.4 LCD Keypad Shield原理图87
  • 5.3.5 LCD Keypad Shield应用实例89
  • 5.3.6 程序设计89
  • 5.3.7 程序分析92
  • 5.3.8 Arduino的液晶控制方式93
  • 5.3.9 “hello Arduino!”94
  • 5.4 Ethernet Shield97
  • 5.4.1 Ethernet Shield原理图97
  • 5.4.2 W5100芯片介绍97
  • 5.4.3 W5100芯片的寄存器101
  • 5.4.4 W5100芯片的使用105
  • 5.4.5 Ethernet Shield应用实例105
  • 5.4.6 程序设计106
  • 5.5 I/O扩展板109
  • 5.5.1 Xbee传感器扩展板V5109
  • 5.5.2 伺服电机控制110
  • 5.5.3 伺服电机应用实例111
  • 5.5.4 Interface shield114
  • 5.5.5 RGB LED Module114
  • 5.5.6 RGB LED Module应用实例118
  • 5.5.7 程序的精练123
  • 第6章 Arduino的扩展库126
  • 6.1 Arduino扩展库介绍126
  • 6.1.1 Arduino扩展库的作用126
  • 6.1.2 Arduino扩展库的应用126
  • 6.2 对象和类130
  • 6.2.1 类的定义130
  • 6.2.2 对象的创建及成员函数的调用131
  • 6.2.3 对象的初始化和构造函数132
  • 6.2.4 函数的重载133
  • 6.2.5 析构函数133
  • 6.3 LiquidCrystal库134
  • 6.3.1 构造函数136
  • 6.3.2 command( )和write( )139
  • 6.3.3 begin( )140
  • 6.3.4 clear( )142
  • 6.3.5 home( )142
  • 6.3.6 setCursor( )142
  • 6.3.7 noDisplay( )和display( ) 143
  • 6.3.8 cursor( )和noCursor( )143
  • 6.3.9 blink( )和noBlink( )143
  • 6.3.10 autoscroll( )和
  • noAutoscroll( )144
  • 6.3.11 scrollDisplayLeft( )和scrollDisplayRight( )144
  • 6.3.12 print( )145
  • 6.4 Ethernet库146
  • 6.4.1 EthernetClass类定义146
  • 6.4.2 Server类定义148
  • 6.4.3 Server类构造函数148
  • 6.4.4 Server类成员函数148
  • 6.4.5 Client类定义152
  • 6.4.6 Client类构造函数152
  • 6.4.7 Client类成员函数153
  • 6.5 SoftwareSerial库158
  • 6.5.1 构造函数159
  • 6.5.2 begin( )160
  • 6.5.3 read( )160
  • 6.5.4 print( )和println( )161
  • 6.5.5 使用限制164
  • 6.6 EEPROM库165
  • 6.6.1 read( )165
  • 6.6.2 write( )166
  • 6.7 Wire库166
  • 6.7.1 IIC总线概述166
  • 6.7.2 TwoWire类定义167
  • 6.7.3 begin( )168
  • 6.7.4 requestFrom( )168
  • 6.7.5 available ( )169
  • 6.7.6 receive( )169
  • 6.7.7 beginTransmission( )170
  • 6.7.8 endTransmission( )170
  • 6.7.9 send( )171
  • 6.7.10 onReceive( )172
  • 6.7.11 onRequest( )173
  • 6.8 Servo库174
  • 6.8.1 构造函数175
  • 6.8.2 attach()176
  • 6.8.3 write( )177
  • 6.8.4 writeMicroseconds( )177
  • 6.8.5 read( )178
  • 6.8.6 readMicroseconds( )178
  • 6.8.7 attached( )178
  • 6.8.8 detach( )179
  • 6.9 Stepper库179
  • 6.9.1 步进电机概述179
  • 6.9.2 步进电机的基本参数180
  • 6.9.3 步进电机的优缺点181
  • 6.9.4 步进电机的工作原理181
  • 6.9.5 步进电机的控制电路183
  • 6.9.6 Stepper类定义185
  • 6.9.7 构造函数186
  • 6.9.8 setSpeed( )188
  • 6.9.9 step( )188
  • 6.10 TLC5940库189
  • 6.10.1 Tlc5940类的定义190
  • 6.10.2 init( )191
  • 6.10.3 update( )192
  • 6.10.4 set( )193
  • 6.10.5 get( )194
  • 6.10.6 setAll( )194
  • 6.10.7 clear( )195
  • 6.11 OneWire库195
  • 6.11.1 单总线的结构195
  • 6.11.2 单总线控制方式195
  • 6.11.3 单总线信号形式196
  • 6.11.4 OneWire类198
  • 6.11.5 构造函数200
  • 6.11.6 reset( )200
  • 6.11.7 write_bit( )201
  • 6.11.8 read_bit( )202
  • 6.11.9 write( )202
  • 6.11.10 read( )203
  • 6.11.11 select( )203
  • 6.11.12 skip( )204
  • 6.12 XBee库204
  • 6.12.1 XBee类定义204
  • 6.12.2 构造函数205
  • 6.12.3 begin( )206
  • 6.12.4 readPacket( )206
  • 6.12.5 send( )209
  • 6.13 创建自己的库210
  • 6.13.1 库的功能—Morse210
  • 6.13.2 MorseCode类的定义213
  • 6.13.3 MorseCode类的成员函数214
  • 6.13.4 MorseCode库的使用222
  • 6.13.5 关键字的定义223
  • 第7章 无线模块的应用224
  • 7.1 APC220224
  • 7.1.1 APC220性能指标224
  • 7.1.2 模块引脚定义226
  • 7.1.3 模块的使用226
  • 7.1.4 注意事项227
  • 7.2 DFduino wireless228
  • 7.2.1 DFduino wireless性能指标228
  • 7.2.2 模块引脚定义229
  • 7.2.3 模块的使用229
  • 7.3 Bluetooth V3231
  • 7.3.1 Bluetooth V3性能指标231
  • 7.3.2 模块引脚定义232
  • 7.3.3 模块的使用232
  • 7.4 XBee和XBee PRO234
  • 7.4.1 XBee及XBee PRO性能指标235
  • 7.4.2 模块引脚定义235
  • 7.4.3 模块的使用236
  • 7.4.4 程序设计236
  • 第三篇 应用篇
  • 第8章 打造自己的遥控履带车242
  • 8.1 履带车的驱动242
  • 8.1.1 实现功能242
  • 8.1.2 所需器材242
  • 8.1.3 硬件连接243
  • 8.1.4 程序设计246
  • 8.1.5 MotorCar类251
  • 8.1.6 类的应用255
  • 8.2 添加感知器件257
  • 8.2.1 实现功能257
  • 8.2.2 所需器材257
  • 8.2.3 器材介绍257
  • 8.2.4 硬件连接258
  • 8.2.5 程序设计258
  • 8.3 添加无线模块261
  • 8.3.1 实现功能261
  • 8.3.2 所需器材261
  • 8.3.3 硬件连接261
  • 8.3.4 程序设计262
  • 8.4 制作遥控器264
  • 8.4.1 实现功能264
  • 8.4.2 所需器材265
  • 8.4.3 硬件连接265
  • 8.4.4 程序设计265
  • 8.5 履带车遥控调速267
  • 8.5.1 实现功能267
  • 8.5.2 程序设计267
  • 8.6 添加无线摄像头272
  • 8.6.1 实现功能272
  • 8.6.2 所需器材272
  • 8.6.3 器材介绍272
  • 8.6.4 硬件连接273
  • 8.6.5 程序设计277
  • 8.7 环境信息获取器件283
  • 8.7.1 实现功能283
  • 8.7.2 所需器材284
  • 8.7.3 器材介绍284
  • 8.7.4 硬件连接285
  • 8.7.5 程序设计286
  • 第9章 仿生机器人295
  • 9.1 遥控机械臂295
  • 9.1.1 实例功能295
  • 9.1.2 器材列表295
  • 9.1.3 搭建硬件环境296
  • 9.1.4 安装控制部分298
  • 9.1.5 Wii游戏手柄298
  • 9.1.6 机械臂程序设计300
  • 9.2 双足机器人304
  • 9.2.1 实例功能304
  • 9.2.2 器材列表304
  • 9.2.3 搭建硬件环境305
  • 9.2.4 双足机器人程序设计307
  • 9.2.5 PC调试软件编写310
  • 9.2.6 双足机器人的调试317
  • 附录A Arduino引脚与AVR单片机管脚对应关系319
  • 附录B Arduino扩展板320
  • 附录C 其他可扩展模块322

资源下载

资源下载地址1:https://pan.baidu.com/s/1GBhOCNp4NndvNdXeS9I0aw

相关资源

网友留言