搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
出版时间 :
无库存
清华开发者书库:Arduino案例实战(卷Ⅵ)
0.00     定价 ¥ 79.00
深圳南山图书馆
  • ISBN:
    9787302505228
  • 作      者:
    李永华
  • 出 版 社 :
    清华大学出版社
  • 出版日期:
    2019-01-01
收藏
作者简介
  李永华,现执教于北京邮电大学,拥有超过10年的嵌入式开发经验,致力于物联网和智能硬件的研究开发工作。在教学中以兴趣为导向,激发学生的创造性;以素质为基础,提高自身教学水平;以科研为手段,促进教学理念转变。通过信息工程专业综合改革,探索了以“学生学为中心”的教学模式,营造生动活泼的学习方法,提高学生独立思考问题、发现问题、解决问题的能力,激发学生的创造激情。在研发及教学实践中指导学生实现200余个创新案例,并指导着一支物联网开发团队,曾在物联网、开源硬件等技术领域进行了多场学术报告,并且出版了《AllJoyn技术原理及物联网程序开发指南》《Arduino实战指南——游戏开发、智能硬件、人机交互、智能家居与物联网设计30例》《Arduino软硬件协同设计实战指南》等多部物联网技术方面的著作。
展开
内容介绍
  本书系统论述了Arduino开源硬件的架构、原理、开发方法及15个完整的项目设计案例。本书共16章,内容包括Arduino设计基础、自动还原魔方人工智能项目设计、小花的饮料机项目设计、智能水杯项目设计、智能手环项目设计、多功能监控拍照报警系统项目设计、Gamebuino复古式游戏机和自制小游戏项目设计、基于Arduino的智能冰箱项目设计、盲人手杖项目设计、射击对决项目设计、手势控制Arduino操控计算机项目设计、蓝牙智能机器人项目设计、万能遥控器项目设计、智能垃圾桶项目设计、多功能闹钟项目设计和语音控制的机械臂项目设计。
  在编排方式上,全书侧重针对创新产品的项目设计过程进行描述,分别从需求、分析、设计与实现等角度论述了硬件电路、软件设计、传感器和功能模块等,并剖析了产品的功能、使用、电气连接和程序代码等。为便于读者高效学习,快速掌握Arduino开发方法,本书配套提供项目设计的硬件电路图和程序代码,可供读者举一反三,二次开发。
  本书可作为高校电子信息类专业“开源硬件设计”“电子系统设计”“创新创业”等课程的教材,也可以作为创客及智能硬件爱好者的参考用书,还可作为从事物联网、创新开发和设计专业人员的技术参考书。
展开
精彩书摘
  第3章
  小花的饮料机项目设计
  3.1项目背景
  本章根据褚建红、陶曦的项目设计整理而成。
  在宿舍里养绿植小花时,总是因为忘记浇水或者是不了解它的需求,而使绿植小花不能盛开。于是,本项目决定开发一款基于Arduino的自动浇花系统,方便浇灌绿植。
  3.2创新描述
  搭建多个土壤湿度传感器和水管接口,满足用户实现对多盆植物同时浇灌的需求; 还搭建了多个液体源,对不同植物的需求进行不同成分液体的灌溉; 该系统可以实现无人控制的自动灌溉,同时采用了YK04模块,通过红外遥控器传送命令,从而手动控制对电磁阀的开关控制,实现智能浇花。基于本项目的功能实现,将该系统命名为“小花的饮料机”。
  3.3功能及总体设计
  本系统主要实现对植物的实时监控,并控制继电器和电磁阀完成不同植物的浇灌功能,并添加了红外遥控、土壤湿度控制、温湿度传感功能。
  3.3.1功能介绍
  要实现上述功能,本项目采用Arduino UNO开发板和扩展板Arduino Sensor Shield V5.0作为电路板和土壤湿度传感器。设置好需要浇花的湿度,使传感器端口返回一个高电平信号,对继电器进行控制,操控电磁阀的开关,这样可以实现在无人管理的情况下自动灌溉。同时,也可以通过红外遥控模块直接控制电磁阀的开关,实现对植物的针对性灌溉(针对植物特需的成分)。本项目搭建了多条这样的灌溉线路,以实现对多盆植物的浇灌,并且通过LCD显示屏实时显示系统和小花的状况。
  3.3.2总体设计
  要实现上述功能需要将作品分成三部分进行设计,包括湿度读取控制、红外遥控控制和LCD显示。
  1. 整体框架图
  项目整体框架如图31所示。
  图31系统框架图
  2. 系统流程图
  系统流程图如图32所示。
  图32系统流程图
  3. 总电路图
  系统总电路图如图33所示,模块引脚连线如表31和表32所示,“_”表示不接线。土壤湿度传感器从下到上编号0~2; LED由左向右编号1~7; 电磁阀由左向右编号1~3; 继电器由左向右编号1~3。
  3.3.3模块介绍
  1. 湿度控制模块
  1) 功能介绍
  通过湿度传感器检测盆中土壤湿度,若湿度值未达到所设条件值,则传感器口返回一个高电平,控制继电器; 再由继电器控制对应灌溉源口的电磁阀进行浇灌; 一定时间后,关闭电磁阀,浇水完成。电路图如图34所示,传感器实物如图35所示,引脚连线如表33所示。
  图33总电路图
  表31引脚连线(一)
  Arduino UNO引脚土壤湿度
  传感器0土壤湿度
  传感器1土壤湿度
  传感器2DHT11LEDLCD1602
  显示屏
  SCL—————SCL
  SDA—————SDA
  A0A0—————
  A1—A0————
  A2——A0———
  2D0—————
  3—D0————
  4——D0———
  5———OUT——
  6————LED4正极—
  7————LED3正极—
  8————LED2正极—
  9————LED7正极—
  10————LED6正极—
  11————LED5正极—
  GNDGNDGNDGNDGND负极GND
  VCCVCCVCCVCCVCC—VCC
  表32引脚连线(二)
  继 电 器 1继 电 器 2继 电 器 3电磁阀1~3遥控接收板
  GND接GND;
  VCC接VCC;
  OUT接LED4正极;
  常开端接12V电源正极;
  公共端接到电磁阀的正极GND接GND;
  VCC接VCC;
  OUT接LED3正极;
  常开端接12V电源正极;
  公共端接到电磁阀的正极GND接GND;
  VCC接VCC;
  OUT接LED2正极;
  常开端接12V电源正极;
  公共端接到电磁阀的正极正极接公共端;
  负极接到外电源的负极VT接LED1正极;
  D0接LED2正极;
  D1接LED3正极;
  D2接LED4正极;
  GND接GND;
  VCC接VCC
  图34土壤湿度传感器电路图
  图35土壤湿度传感器
  表33湿度控制模块引脚连线
  土壤传感器引脚VCCGNDA0D0
  Arduino UNO引脚5VGNDA0(接A0~A5均可)3(2~13均可)
  2) 相关代码
  //通过D0的值控制Arduino引脚3~5,置高电平时打开电磁阀
  int a = analogRead(Moisture0);
  int b = analogRead(Moisture1);
  int c = analogRead(Moisture2);
  float d = 100*(1023-a)/1023;
  float e = 100*(1023-b)/1023;
  float f = 100*(1023-c)/1023;//计算湿度的百分比
  if(d<=50||(float)DHT11.humidity<=20.00||(float)DHT11.temperature>=30.00){
  digitalWrite(5,HIGH);
  //当土壤湿度或空气温湿度达到临界值时,将继电器置高电位,打开电磁阀,以下同理
  }
  else digitalWrite(5,LOW);
  if(e<=50||(float)DHT11.humidity<=20.00||(float)DHT11.temperature>=30.00){
  digitalWrite(4,HIGH);
  }
  else digitalWrite(4,LOW);
  if(f<=50||(float)DHT11.humidity<=20.00||(float)DHT11.temperature>=30.00){
  digitalWrite(3,HIGH);
  }
  else digitalWrite(3,LOW);
  2. 红外遥控模块
  由YK04接收卡接收遥控器发出的指令,选择不同的线路输出高电平到继电器,从而控制各继电器下游电磁阀,实现浇灌。电路如图36所示,实物如图37所示,引脚连线如表34所示。本部分不用编写代码,接收板与遥控器配套,按下不同的按键时,相应的引脚被置成高电平。遥控器的按键A、B、C、D分别控制接收板的D0~D3; 当按键被按下时,相应的接口被置成高电平; VT用于监测信号是否有效,信号有效时被置成高电平。
  图36红外遥控电路图
  图37红外遥控电路图
  表34红外遥控模块引脚连线
  接收板引脚GND5VD0D1D2D3VT
  Arduino引脚GND5V234不用5
  3. LCD显示模块
  1) 功能介绍
  LCD显示模块用于显示浇花系统的实时状态。电路如图38所示,实物如图39所示,连线如表35所示。
  ……
展开
目录
第1章Arduino设计基础
1.1开源硬件概述
1.2Arduino开源硬件
1.2.1Arduino开发板
1.2.2Arduino扩展板
1.3Arduino软件开发平台
1.3.1Arduino平台特点
1.3.2Arduino IDE的安装
1.3.3Arduino IDE的使用
1.4Arduino编程语言
1.4.1Arduino编程基础
1.4.2数字I/O引脚的操作函数
1.4.3模拟I/O引脚的操作函数
1.4.4高级I/O引脚的操作函数
1.4.5时间函数
1.4.6中断函数
1.4.7串口通信函数
1.4.8Arduino的库函数
1.5Arduino硬件设计平台
1.5.1Fritzing软件简介
1.5.2Fritzing使用方法
1.5.3Arduino电路设计
1.5.4Arduino开发平台样例与编程
第2章自动还原魔方人工智能项目设计
2.1项目背景
2.2创新描述
2.3功能及总体设计
2.3.1功能介绍
2.3.2总体设计
2.3.3模块介绍
2.4产品展示
2.5故障及问题分析
2.6元器件清单
第3章小花的饮料机项目设计
3.1项目背景
3.2创新描述
3.3功能及总体设计
3.3.1功能介绍
3.3.2总体设计
3.3.3模块介绍
3.4产品展示
3.5故障及问题分析
3.6元器件清单
第4章智能水杯项目设计
4.1项目背景
4.2创新描述
4.3功能及总体设计
4.3.1功能介绍
4.3.2总体设计
4.3.3模块介绍
4.4产品展示
4.5故障及问题分析
4.6元器件清单
第5章智能手环项目设计
5.1项目背景
5.2创新描述
5.3功能及总体设计
5.3.1功能介绍
5.3.2总体设计
5.3.3模块介绍
5.4产品展示
5.5故障及问题分析
5.6元器件清单
第6章多功能监控拍照报警系统项目设计
6.1项目背景
6.2创新描述
6.3功能及总体设计
6.3.1功能介绍
6.3.2总体设计
6.3.3模块介绍
6.4产品展示
6.5故障及问题分析
6.6元器件清单
第7章Gamebuino复古式游戏机和自制小游戏项目设计
7.1项目背景
7.2创新描述
7.3功能及总体设计
7.3.1功能介绍
7.3.2总体设计
7.3.3模块介绍
7.4产品展示
7.5故障及问题分析
7.6元器件清单
第8章基于Arduino的智能冰箱项目设计
8.1项目背景
8.2创新描述
8.3功能及总体设计
8.3.1功能介绍
8.3.2总体设计
8.3.3模块介绍
8.4产品展示
8.5故障及问题分析
8.6元器件清单
第9章盲人手杖项目设计
9.1项目背景
9.2创新描述
9.3功能及总体设计
9.3.1功能介绍
9.3.2总体设计
9.3.3模块介绍
9.4产品展示
9.5故障及问题分析
9.6元器件清单
第10章射击对决项目设计
10.1项目背景
10.2创新描述
10.3功能及总体设计
10.3.1功能介绍
10.3.2总体设计
10.3.3模块介绍
10.4产品展示
10.5故障及问题分析
10.6元器件清单
第11章手势控制Arduino操控计算机项目设计
11.1项目背景
11.2创新描述
11.3功能及总体设计
11.3.1功能介绍
11.3.2总体设计
11.3.3模块介绍
11.4产品展示
11.5故障及问题分析
11.6元器件清单
第12章蓝牙智能机器人项目设计
12.1项目背景
12.2创新描述
12.3功能及总体设计
12.3.1功能介绍
12.3.2总体设计
12.3.3模块介绍
12.4产品展示
12.5故障及问题分析
12.6元器件清单
第13章万能遥控器项目设计
13.1项目背景
13.2创新描述
13.3功能及总体设计
13.3.1功能介绍
13.3.2总体设计
13.3.3模块介绍
13.4产品展示
13.5故障及问题分析
13.6元器件清单
第14章智能垃圾桶项目设计
14.1项目背景
14.2创新描述
14.3功能及总体设计
14.3.1功能介绍
14.3.2总体设计
14.3.3模块介绍
14.4产品展示
14.5故障及问题分析
14.6元器件清单
第15章多功能闹钟项目设计
15.1项目背景
15.2创新描述
15.3功能及总体设计
15.3.1功能介绍
15.3.2总体设计
15.3.3模块介绍
15.4产品展示
15.5故障及问题分析
15.6元器件清单
第16章语音控制的机械臂项目设计
16.1项目背景
16.2创新描述
16.3功能及总体设计
16.3.1功能介绍
16.3.2总体设计
16.3.3模块介绍
16.4产品展示
16.5故障及问题分析
16.6元器件清单
参考文献
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

温馨提示:请使用深圳南山图书馆的读者帐号和密码进行登录

点击获取验证码
登录

请使用强密码进行登录