当前课程知识点:物联网工程导论 > 第四章 智能硬件与嵌入式系统 > 4.2 开源硬件之Arduino(二) > 视频单元
各位同学
大家好
这一节课
还是由我来给大家继续介绍开源硬件
ARDUINO
我们先来看一些利用Arduino控制板
设计制作的实验项目的照片
在这些实验作品中
有远程教学楼电控管家
智能降温巡逻小车
光控炫酷灯
智能浴室
还有多功能杯垫
创意礼物盒
还有多功能数字时钟
智能文具盒
智能化多功能鼠仓等等
是不是很有趣呢
这些实验作品都是由云南大学信息学院
物联网工程专业一年级的同学们
在学习了物联网技术基础实验课程后
采用Arduino Uno开发板和
多种传感器
执行器以及相关器材来设计
制作并完成的
这说明了同学们具有比较强的
创意能力和动手能力
在这里
也希望各位同学今后能做出更有趣
更有创意的作品来
好
接下来分三个部分给大家介绍目前
最为流行的一种Arduino主板
就是Arduino Uno开发板
第一部分
主要介绍Arduino Uno
开发板的硬件构成
第二部分介绍
Arduino的软件开发
最后一部分呢
我们一起来了解一下
利用Arduino
可以做些什么样的事情
这就是Arduino Uno
开发板的照片
左侧是
Arduino Uno开发板的正面图
右侧是背面图
Arduino Uno开发板
主要由Atmega328微控制器
数字端口
模拟端口
电源端口
在电路串行编程接口
外接电源插座
晶体振荡器
USB转串口芯片
USB接口
复位按键
D13引脚指示灯
串行通信指示灯等元器件组成
下面
我们来看一下Arduino Uno开发板的
外围接口
在电源接口方面
Arduino Uno开发板具有
三种供电方式
第一种方式是
外部直流电源通过电源插座供电
第二种是
通过电池连接电源端口引脚来供电
第三种
是通过USB接口直接供电
在输入输出接口方面
Arduino Uno开发板
具有十四路数字输入输出接口
除具有标准的数字输入输出功能外
这些数字接口还具有其它的复用功能
例如可复用为串口的接收和发送引脚
外部中断请求输入信号引脚
脉宽调制输出信号引脚
以及SPI接口引脚等等
在Arduino Uno开发板的
输入输出接口中
具有六路十位的模拟输入接口
此外
还具一个为单片机复位的
复位信号输入引脚
在通信接口方面
Arduino Uno开发板具有一个硬件串口
可以与电脑
其它的Arduino控制器
或是其它微处理器等设备进行通信
此外
Arduino Uno开发板还具有
SPI接口和I2C接口
支持I2C和SPI通信
前面
我们已经了解了Arduino
是一款便捷灵活
方便上手的开源电子原型平台
既包含了硬件
就是各种型号的Arduino电路板
还包括了软件
Arduino IDE
也就是 Arduino 的
软件集成开发环境
下面
我们来认识一下Arduino的软件开发环境
Arduino IDE
Arduino IDE
是Arduino开放源代码的
软件集成开发环境
它的界面友好
语法简单
能够方便地下载程序
使得Arduino的程序开发变得非常便捷
作为一款开放源代码的软件
Arduino IDE
具有很好的跨平台兼容性
适用于Windows
Mac OS
以及Linux等操作系统
Arduino IDE的显著特点就是
开源
跨平台和简单易用
下面
我们来认识一下Arduino IDE的
操作界面
在操作界面上
有包括文件
编辑
项目
工具和帮助五项菜单
也有五个快捷按钮
包括验证
上传
新建
打开和保存
接下来是程序编辑区
也就是编写程序的区域
界面的下部
是信息显示区
用于显示程序编译
下载时的进度以及错误等等信息
界面右上角的这个图标
是打开串口监视器的操作按钮
界面右下角
显示着开发板的信息
和所连接的下载端口信息
接下来
给大家介绍一个专门为Arduino设计的
图形化编程软件Ardublock
区别于Arduino文本式编程环境
ArduBlock
是以图形化搭建积木的方式进行编程的
像搭积木一样
可以通过拖动所需要的图形积木模块
并设定这些模块的相关参数
再将这些积木搭建在一起
就构成了程序
这种编程方式降低了编程门槛
使得没有编程经验的人
也可以尝试给Arduino控制器编写程序
尤其适合于中小学生
当然
除了刚才提到的
Arduino IDE和ArduBlock软件外
还有一些其他的Arduino开发工具
例如
Arduino IDE for Visual Studio
这是一个Visual Stduio下的
Arduino开发插件
可以进行跟踪调试
适合熟悉
Visual Stduio的开发人员使用
还有另一种
Arduino开发工具是
Arduino Eclipse Plugin
是一个Eclipse 下的Arduino开发插件
适合用作较为大型的
Arduino应用项目的开发
但安装和配置都有一定的复杂度
各位同学可以根据自己的基础和开发需要
来选择不同的Arduino软件开发工具
下面
我们来了解一下
Arduino IDE中编写程序的基本流程
在Arduino集成开发环境下
编程的基本流程主要包括4个过程
第一个过程
是创建或者是打开Arduino的源文件
第二个过程是
编辑源文件的代码语句
也就是利用基础C语言
C++语言
和Arduino语言来编写程序代码
第三个过程
是对所编写的Arduino源程序进行验证
也就是我们通常所说的程序编译过程
通过编译器
将所编写的源程序代码
翻译成对应处理器的机器程序代码
第四个过程是将编译好的机器代码
上传或者叫下载到
Arduino的电路板上
使应用程序能够在Arduino应用板上
独立运行
Arduino语言是
建立在C语言和C++语言的基础上
把AVR单片机
或者是其它微控制器的
相关参数设置操作都进行了函数化
让不了解单片机
或微控制器的人
也能够轻松上手
在基础的C语言部分
Arduino语言的关键字
语法符号
运算符
数据类型等等都是与C语言一样的
除了基础C语言之外
Arduino语言
提供了Arduino自己的程序结构
常量定义
硬件操作函数
数学函数
时间函数
串口收发函数
中断函数等等语言的结构和操作函数
只要同学们多动手进行编程练习
相信大家可以在较短的时间内
就能够掌握Arduino语言
并且熟练的使用
前面
给同学们介绍了Arduino的相关知识
那么可以用Arduino
可以做些什么事情呢
首先
以智能化多功能鼠仓这个实验作品为例
来看看Arduino在作品中
发挥了怎样的作用
智能化多功能鼠仓这个实验作品
采用了Arduino Uno 控制板
发光二极管
温湿度传感器
水位传感器
继电器
舵机
红外遥控接收器
红外遥控器
水泵
小风扇等器材
Arduino Uno 控制板
负责检测鼠仓的环境温湿度
喂水器的水位等数据
并根据对这些数据的判别处理
发出控制指令
控制发光二极管照明
小风扇降温
给喂水器加水
以及打开鼠仓仓门等动作
当然
这些操作都可以利用红外遥控器
来进行遥控
下面
再给大家介绍一些
由国内外创客们利用Arduino设计制作的
创意作品的实例
这是一个利用Arduino制作的
土壤湿度检测与显示装置
用它可以感知土壤的湿度
为是否需要浇水提供依据
这是一些利用Arduino制作的
灯光控制器
可以控制各类发光灯具
灯带
呈现出五彩缤纷的灵动效果
还可以通过智能手机来进行远程控制
体现出了物联网的特点
这是一些利用Arduino作为各类机器人
机器车
无人机控制器的实例
其中机器人
机器车可以是履带式的
轮式的
多足的
甚至还可以使两轮小车实现自动平衡
这是用Arduino控制的3D打印机
通过3D打印
可以制作出各式各样有趣的东西
这是利用Arduino控制的多彩水晶球
通过Arduino对LED灯的发光进行控制
使水晶球变得更加酷炫
这是利用Arduino控制的LED交互茶几
茶几面板能够感知放在上面的手掌
物品的位置
并点亮对应位置上的LED阵列灯
使茶几也变得具有了交互性
是不是很有趣呢
这是利用Arduino LilyPad系列控制板
制作的可穿戴装置
不但人可以穿戴
宠物也可以穿戴
如果你有一只小狗或者小猫
是否也愿意为它做一个有趣的
可穿戴电子装置呢
这是利用Arduino控制板制作的电子乐器
电子鼓
通过Arduino采集多个压力传感器
所感知的敲击力度
再通过计算机的声卡进行
音频的处理与合成
将鼓棒的敲击变为鼓声播放出来
是不是很有意思
总之
Arduino是一款不错的电子设计工具
它简单易用
开源
资料丰富
不仅给专业人员提供了
电子开发的便捷途径
更是普通人
实现自己创意设计的开发平台
同学们
如果你们对物联网电子设计感兴趣
不妨从学习使用Arduino开始吧
好
这节课就到这里
谢谢大家
-1.1 什么是物联网?
--视频单元
--图文单元
--物联网概述(一)作业
--讨论单元
-1.2 物联网的三层结构
--视频单元
--图文单元
--物联网概述(二)作业
--讨论单元
-第一章作业
-2.1 自动识别技术之RFID
--视频单元
--图文单元
-2.2 感知技术之传感器
--视频单元
--图文单元
-第二章作业
-讨论单元
-3.1 计算机网络技术
--视频单元
--图文单元
--计算机网络课后作业
--讨论单元
-3.2 物联网无线通信基础
--视频单元
--图文单元
--物联网无线通信基础课后作业
--讨论单元
-3.3 物联网无线通信技术(一)
--视频单元
--图文单元
--物联网无线通信技术(一)作业
--讨论单元
-3.4 物联网无线通信技术(二)
--视频单元
--图文单元
--物联网网络通信技术(二)作业
--讨论单元
-4.1 开源硬件之Arduino(一)
--视频单元
--图文单元
--开源硬件之Arduino(一)课后作业
--讨论单元
-4.2 开源硬件之Arduino(二)
--视频单元
--图文单元
--开源硬件之Arduino(二)课后作业
--讨论单元
-4.3 智能硬件与嵌入式系统(一)
--视频单元
--图文单元
--智能硬件与嵌入式系统(一)课后作业
--讨论单元
-4.4 智能硬件与嵌入式系统(二)
--视频单元
--图文单元
--智能硬件与嵌入式系统(二)课后作业
--讨论单元
-5.1 基于云计算平台的数据融合和信息处理
--视频单元
--图文单元
-5.2 基于大数据技术的数据挖掘和知识发现
--视频单元
--图文单元
-第五章课后作业
-讨论单元
-6.1 移动应用开发技术
--视频单元
--图文单元
-6.2 Web应用开发技术
--视频单元
--图文单元
-第六章课后作业
-讨论单元
-视频单元
-图文单元
-第七章课后作业
-讨论单元
-8.1 物联网应用实例
--视频单元
--图文单元
--物联网应用实例课后作业
--讨论单元
-8.2 物联网导论竞赛
--视频单元
--图文单元
--物联网导论科技制作竞赛课后作业
--讨论单元
-视频单元
-图文单元
-第九章课后作业
-讨论单元