Arduino程序设计基础 PDF 完整第2版

  • 更新时间:
  • 6752人关注
  • 点击下载

Arduino程序设计基础》是一本关于Arduino相关的电子书资源,介绍了关于Arduino、程序设计方面的内容,本书是由北京航空航天大学出版社出版,格式为PDF,资源大小47.8 MB,陈吕洲编写,目前豆瓣、亚马逊、当当、京东等综合评分为:7.3分,我们还提供了PDF格式内容下载,一起来看下具体内容。

Arduino不仅仅是全球*流行的开源硬件,也是一个优秀的硬件开发平台,更是硬件开发的趋势。Arduino简单的开发方式使得开发者更关注于创意与实现,更快地完成自己的项目开发,大大节约学习的成本,缩短开发的周期。

《Arduino程序设计基础(第2版)》是作者几年间开发Arduino的经验总结,纯干货分享。本书针对大学教育编写,体系结构清晰,开发细节完善,适合初学者学习,亦可以用于专业开发者查阅。

《Arduino程序设计基础(第2版)》涵盖Arduino基础知识及高级应用,中途穿插简单项目制作,用于巩固知识与扩展提高,同时提供常用的API参考,以便读者实践时查阅。第2版中,作者修正了之第1版的纰漏,并根据Arduino近年来的发展,更新了部分内容,重写了部分章节,也融入了更多作者对Arduino开发的思考。

本书主要针对本科生及研究生阶段的Arduino教学实验进行编写,亦适用于相关开发人员及入门者学习。

目录

  • 第1章 初识Arduino
  • 1.1什么是Arduino
  • 1.2 Arduino的由来
  • 1.3为什么使用Arduino作为开发平台
  • 1.4 Arduino硬件——选择一款适合自己的Arduino控制器
  • 1.4.1认识不同型号的Arduino控制器
  • 1.4.2众多的Arduino外围模块
  • 1.4.3从Arduino UNO开始
  • 1.5 Arduino软件
  • 1.5.1下载配置Arduino开发环境
  • 1.5.2认识Arduino IDE
  • 1.5.3安装Arduino驱动程序
  • 1.6 Blink——Arduino的Hello World!
  • 第2章 基础篇
  • 2.1 Arduino语言及程序结构
  • 2.1.1 Arduino语言
  • 2.1.2 Arduino程序结构
  • 2.2 C/C++语言基础
  • 2.2.1数据类型
  • 2.2.2运算符
  • 2.2.3表达式
  • 2.2.4数组
  • 2.2.5字符串
  • 2.2.6注释
  • 2.2.7用流程图表示程序
  • 2.2.8顺序结构
  • 2.2.9选择结构
  • 2.2.10循环结构
  • 2.3电子元件和Arduino扩展模块
  • 2.4传感器扩展板的使用
  • 2.5 Arduino I/O的简单控制
  • 2.5.1数字I/O的使用
  • 2.5.2项目:人体感应灯(继电器模块与数字传感器)
  • 2.5.3模拟I/O的使用
  • 2.5.4项目:电子温度计
  • 2.5.5数字传感器与模拟传感器的使用
  • 2.6与计算机交流——串口的使用
  • 2.6.1串口输出
  • 2.6.2串口输入
  • 2.6.3实验:串口控制开关灯
  • 2.7时间控制函数
  • 2.7.1运行时间函数
  • 2.7.2延时函数
  • 第3章I/O口高级应用
  • 3.1调声函数
  • 3.2项目:简易电子琴
  • 3.3脉冲宽度测量函数及超声波测距
  • 3.3.1脉冲宽度测量函数
  • 3.3.2超声波测距
  • 3.4设置ADC参考电压
  • 3.5外部中断
  • 3.5.1外部中断的使用
  • 3.5.2实验:外部中断触发蜂鸣器报警
  • 第4章 使用和编写类库
  • 4.1编写并使用函数,提高程序的可读性
  • 4.2使用Arduino类库
  • 4.3编写Arduino类库
  • 4.3.1编写头文件
  • 4.3.2预处理命令
  • 4.3.3宏定义
  • 4.3.4文件包含
  • 4.3.5条件编译
  • 4.3.6版本兼容
  • 4.3.7编写.cpp文件
  • 4.3.8关键字高亮显示
  • 4.3.9建立示例程序
  • 4.4类库优化与发布
  • 第5章 通信篇
  • 5.1硬件串口通信——HardwareSerial类库的使用
  • 5.1.1 HardwareSerial类库成员函数
  • 5.1.2 print()和write()输出方式的差异
  • 5.1.3 read()和peek()输入方式的差异
  • 5.1.4串口读取字符串
  • 5.1.5串口事件
  • 5.1.6串口缓冲区
  • 5.1.7实验:串口控制RGB LED调光
  • 5.1.8更好的串口监视器——串口调试助手
  • 5.2软件模拟串口通信——SoftwareSerial类库的使用
  • 5.2.1 SoftwareSerial类库的局限性
  • 5.2.2 SoftwareSerial类库成员函数
  • 5.2.3建立一个软串口通信
  • 5.2.4实验:Arduino间的串口通信
  • 5.2.5同时使用多个软串口
  • 5.3 IIC总线的使用——Wire类库的使用
  • 5.3.1 IIC主机、从机与引脚
  • 5.3.2 Wire类库成员函数
  • 5.3.3 IIC连接方法
  • 5.3.4主机写数据,从机接收数据
  • 5.3.5从机发送数据,主机读取数据
  • 5.4 SPI总线的使用——SPI类库的使用
  • 5.4.1 SPI引脚
  • 5.4.2 SPI总线上的从设备选择
  • 5.4.3 SPI类库成员函数
  • 5.4.4 SPI总线上的数据发送与接收
  • 5.4.5实验:使用数字电位器AD5206
  • 5.4.6软件模拟SPI通信
  • 5.4.7实验:使用74HC595扩展I/O口
  • 第6章 存储篇
  • 6.1断电也能保存数据——EEPROM类库的使用
  • 6.1.1 EEPROM类库成员函数
  • 6.1.2写入操作
  • 6.1.3读取操作
  • 6.1.4清除操作
  • 6.1.5存储各类型数据到EEPROM
  • 6.2保存大量数据——SD卡类库的使用
  • 6.2.1格式化SD卡
  • 6.2.2 SD卡类库成员函数
  • 6.2.3使用SD卡读/写模块
  • 6.2.4创建文件
  • 6.2.5删除文件
  • 6.2.6写文件
  • 6.2.7读文件
  • 6.3项目:SD卡环境数据记录器
  • 6.3.1 DHT11温湿度检测模块的使用
  • 6.3.2硬件连接方法
  • 6.3.3温湿度记录器
  • 6.3.4在Excel中分析数据
  • 第7章 无线通信篇——红外遥控
  • 7.1 IRremote类库成员函数
  • 7.2红外接收
  • 7.3红外发射
  • 7.4实验:遥控家电设备
  • 第8章LCD显示篇
  • 8.1 1602 LCD的使用——LiquidCrystal类库的使用
  • 8.1.1将1602 LCD与Arduino连接
  • 8.1.2 1602 LCD相关参数
  • 8.1.3 LiquidCrystal类库成员函数
  • 8.1.4实验:“hello,world!”
  • 8.1.5实验:将串口输入数据显示到1602 LCD上
  • 8.1.6实验:显示滚动效果
  • 8.1.7实验:显示自定义字符
  • 8.2项目:制作电子时钟
  • 8.2.1 DS1307时钟模块的使用
  • 8.2.2电子时钟
  • 8.3图形显示器的使用——u8glib类库的使用
  • 8.3.1使用MINI12864显示屏
  • 8.3.2使用其他图形液晶显示器
  • 8.3.3 u8glib程序结构
  • 8.3.4纯文本显示
  • 8.3.5数据显示
  • 8.3.6实验:绘制图形
  • 8.3.7实验:显示图片——位图取模
  • 第9章USB类库的使用
  • 9.1 USB设备模拟相关函数
  • 9.1.1 USB鼠标类的成员函数
  • 9.1.2 USB键盘类的成员函数
  • 9.2模拟键盘输入信息
  • 9.2.1 Arduino Leonardo在模拟USB设备后,无法正常下载程序
  • 9.2.2模拟键盘组合按键
  • 9.3实验:使用摇杆模块控制计算机鼠标
  • 9.4项目:PPT播放遥控器
  • 第10章Ethernet类库的使用
  • 10.1 Ethernet相关硬件介绍
  • 10.2 Ethernet类库
  • 10.2.1 Ethernet 类
  • 10.2.2 IPAddress 类
  • 10.2.3 EthernetServer类
  • 10.2.4 EthernetClient类
  • 10.3 Ethernet的初始化
  • 10.3.1自定义IP地址
  • 10.3.2 DHCP获取IP地址
  • 10.4通过Telnet建立简易聊天室
  • 10.4.1建立Arduino Telnet聊天服务器
  • 10.4.2 Windows Telnet客户端的使用
  • 10.5 Ethernet与Web应用
  • 10.5.1 HTTP协议简介
  • 10.5.2 HTTP响应
  • 10.5.3网页客户端
  • 10.5.4网页服务器
  • 10.6 UDP通信
  • 10.6.1 EthernetUDP类
  • 10.6.2使用UDP收/发数据
  • 10.7项目:网页控制Arduino
  • 附录
  • A.1使用专业IDE编写Arduino项目
  • A.2常见问题及解决方法
  • A.3 Arduino Leonardo手册
  • A.4 Arduino Due手册
  • A.5 ASCII码对照表
  • A.6串口通信可用的config配置
  • A.7 USB键盘库支持的键盘功能按键列表
  • A.8常见Arduino型号的参数比较表
  • 后记
  • 参考文献
展开阅读

Arduino相关资源

  • 从零开始学Arduino电子设计

    从零开始学Arduino电子设计

    Arduino是一个开源软硬件平台生态圈,目前在创客圈里越来越流行。本书顺应创客的热潮,通过50个有趣的创意案例,手把手带领读者通过实际动手的方式学习Arduino电子设计

    大小:118 MBArduino

    立即下载
  • Arduino机器人权威指南

    Arduino机器人权威指南

    John-David Warren、Josh Adams和Harald Molle会带你走进机器人的世界,教会你如何寻找配件、怎样制作机器人、怎样进行编程,甚至告诉你如何对机器人进行安全测试

    大小:131 MBArduino

    立即下载
  • Arduino开发从零开始学:学电子的都玩这个

    Arduino开发从零开始学:学电子的都玩这个

    Arduino是1个出色的开源硬件服务平台,现阶段在全世界有不计其数的电子爱好者应用Arduino开发设计新项目和电子设备。Arduino具备便宜易懂、开发设计讯捷等特性,不但是1个出色的开源硬件平台

    大小:31.6 MBArduino

    立即下载
  • 爱上Arduino

    爱上Arduino

    本书作者Massimo Banzi是Arduino单片机的创始人,本书不仅有亲切明白的观念解说,也有真实完整的实作步骤说明。本书在第二版的基础上进行了新技术的知识革新

    大小:15.9 MBArduino

    立即下载
  • Arduino与LabVIEW开发实战

    Arduino与LabVIEW开发实战

    arduino与labview开发实战主要讲述arduino控制器与labview软件的系统设计与实践,搭建基于arduino与labview的测控系统。感兴趣的小伙伴们可以参考一下

    大小:80.5 MBArduino

    立即下载
  • Arduino创意机器人入门

    Arduino创意机器人入门

    机器人教育融机械、传感与控制等内容为一体,让学生在手脑并用解决实际问题的过程中,有效地提高逻辑思维能力、判断能力、动手能力和创新能力,是实施素质教育的一个重要平台。作为

    大小:28.8 MBArduino

    立即下载

学习笔记

9小时37分钟前回答

Java网络编程之TCP程序设计

本文实例为大家分享了Java网络编程TCP程序设计的具体代码,供大家参考,具体内容如下 [1] TCP编程的主要步骤 客户端(client): 1.创建Socket对象,构造方法的形参列表中需要InetAddress类对象和int型值,用来指明对方的 IP地址和端口号 。 2.通过Socket对象的 getOutputStream()方法 返回OutputStream抽象类子类的一个对象,用来发送输出流。 3.通过输出流的 write方法 输出具体的信息。 4. 关闭 相应的流和Socket对象。 服务端(server): 1.创建 ServerSocket 类的对象,在构造器中指明端口号。 2.调用ServerSocket类对象的 accept()方法 ,返回一个Socket类的实例。 3.通过Socket实例的 getInputStream()方法 获取一个输入流,用来接收来自客户……

19小时38分钟前回答

Python面向对象程序设计构造函数和析构函数用法分析

本文实例讲述了Python面向对象程序设计构造函数和析构函数用法。分享给大家供大家参考,具体如下: 构造函数和析构函数 1、构造方法的使用 很多类都倾向于将对象创建为有初始化状态.因此类可以定义一个名为 init() 的特殊方法(构造方法)来实例化一个对象。 构造方法也叫做构造器,是指当实例化一个对象(创建一个对象)的时候,第一个被自动调用的方法。 演示1:构造方法被调用的契机 class Person(): #构造方法 def __init__(self): print("构造函数被执行了") #创建对象的过程中构造函数被自动调用p1 = Person() 输出: 构造函数被执行了 结论:创建对象的过程中调用了构造函数。 当未手动添加构造函数时,系统会默认……