(完整PPT)Arduino 编程
合集下载
《Arduino技术及应用》课件—第3章 Arduino语言及程序结构
数学 min( ) max( ) abs( ) constrain( ) map( ) pow( ) sqrt( )
3.1.1 描绘程序码的符号
布尔运算符 &&(and) ||(or) !(not) 复合运算符号 ++(increment) --(decrement) +=(compound addition) -=(compound subtraction) *=(compound multiplication) /=(compound division) &= (compound bitwise and) |= (compound bitwise or)
❖ 浮点常量 floating point constants ❖ 和整型常量类似,浮点常量可以使得代码更具可读性。浮点常量在编译时被
转换为其表达式所取的值。 ❖ 例子: ❖ n = .005; 浮点数可以用科学记数法表示。'E'和'e'都可以作为有效的指数标志。
表 3-3 浮点常量的转换
浮点数 10.0
你看到的明明就是一个文字。 ❖ 用数字表示一个字元时,它的值有效范围为-128到127。 ❖ 注意:有两种主流的电脑编码系统ASCII 和UNICODE。 ❖ ASCII 表示了127个字元,用来在序列终端机和分时计算机之间传输文字。 ❖ UNICODE可表示的字元量比较多,在现代电脑作业系统内它可以用来表示多国
例子
格式
备注
10(十进制)
123
无
2(二进制) 8(八进制)
B1111011 0173
前缀“B” 只适用于8位的值(0到255)
字符0-1有效
前缀“0”
玩转Arduino合集课件-PPT
多圈 旋转角度传感器
60行程 滑动电位器 推子
游戏杆 控制杆 JoyStick
模拟温度传感器
光线传感器
声音传感器
Sharp 红外距离传感器
• 30cm, 80cm, 150cm, 5.5m
三轴 加速度传感器
FlexiForce压力传感器
• 1 lb, 25 lb, 100 lb
FSR系列压力传感器
弯曲传感器
• 单向,双向
拉伸 传感器
• 4 inch, 6 inch
动手
• 实验各种模拟传感器 • 对RGB LED进行控制 • 分享
串口通信
• 串口通信(Serial Communication)是Arduino和计算机间 按位进行数据传输的一种最基本的方式。
• 使用3根线完成
– 地线,GND – 发送,Tx – 接收 ,Rx
– Serial.print(val, format) , Serial.println(val, format)
• 按指定格式输出(后者多一个回车换行)
Serial.print(val) 实例
• Serial.print(78)
– 输出"78"
• Serial.print(1.23456)
– 输出"1.23"
• 主要参数
– 波特率:通信速度,表示每秒钟传送的位(bit)的个数 – 数据位 – 停止位 – 奇偶校验位
Arduino 串口
• USB转串口
– PC端:串口 – Arduino端:USB
• 串口引脚
– RX:Pin 0 – TX:Pin 1
• 串口数目
– Arduino MEGA和Arduino 2560:4个 – 其余:1个
Arduino入门很简单随书PPT清华大学出版社.pptx16
第16章
用Arduino做游戏— —打地鼠
O 16.1 需求分析 O 16.2 打地鼠——雏形 O 16.3 打地鼠——高级 O 16.4 打地鼠——终极
16.1 需求分析
O 1.雏形 O 2.升级——加入击中动画和随机速度 O 3.终极——将分数显示在LED上 O 4.连接电路
16.2 打地鼠——雏形
16.4.1 加入积分系统
O 为打地鼠加入积分系统可以使得打地鼠的
娱乐性更上一层楼。但是加入积分系统的 代码实现确是非常简单的。我们将要实现 的积分规则是打中一个地鼠,则分数加1。
16.4.2 将分数显示在LED上
O 上面的代码实现了积分系统,而积分需要
借助串口监视器显示,这就导致了打地鼠 游戏不能完全脱离主机运行。在本节中, 就来实现在8*8LED上显示积分。
O 按钮逻辑部分按照实现逻辑也可以分为两
个部分:获取按钮值和解析按钮。下面分 别作介绍。 O 1.获取按钮值 O 2.关联按钮值和LED位置 O 3.打地鼠主要逻辑
16.2.3 整合代码
O 之前细的分析,整个框架已经搭建完成, 下面的代码将整合并完善剩余的代码,从 而完成一个完整可玩的打地鼠游戏。
16.3 打地鼠——高级
O 16.3.1 加入击中动画 O 16.3.2 加入随机速度 O 16.3.3 整合代码
16.3.1 加入击中动画
O 实际玩过示例16-3的读者应该可以发现,
随机地鼠出现和被击中消失的过程是完全 一样的。本小节中就为击中加入一个消失 的动画来增加观赏性。笔者首先想到的一 个动画就是逐步消失:在指定位置的地鼠 被击中后,亮起的4个LED逐步熄灭。
O 16.2.1 实现随机“地鼠” O 16.2.2 按钮逻辑 O 16.2.3 整合代码
用Arduino做游戏— —打地鼠
O 16.1 需求分析 O 16.2 打地鼠——雏形 O 16.3 打地鼠——高级 O 16.4 打地鼠——终极
16.1 需求分析
O 1.雏形 O 2.升级——加入击中动画和随机速度 O 3.终极——将分数显示在LED上 O 4.连接电路
16.2 打地鼠——雏形
16.4.1 加入积分系统
O 为打地鼠加入积分系统可以使得打地鼠的
娱乐性更上一层楼。但是加入积分系统的 代码实现确是非常简单的。我们将要实现 的积分规则是打中一个地鼠,则分数加1。
16.4.2 将分数显示在LED上
O 上面的代码实现了积分系统,而积分需要
借助串口监视器显示,这就导致了打地鼠 游戏不能完全脱离主机运行。在本节中, 就来实现在8*8LED上显示积分。
O 按钮逻辑部分按照实现逻辑也可以分为两
个部分:获取按钮值和解析按钮。下面分 别作介绍。 O 1.获取按钮值 O 2.关联按钮值和LED位置 O 3.打地鼠主要逻辑
16.2.3 整合代码
O 之前细的分析,整个框架已经搭建完成, 下面的代码将整合并完善剩余的代码,从 而完成一个完整可玩的打地鼠游戏。
16.3 打地鼠——高级
O 16.3.1 加入击中动画 O 16.3.2 加入随机速度 O 16.3.3 整合代码
16.3.1 加入击中动画
O 实际玩过示例16-3的读者应该可以发现,
随机地鼠出现和被击中消失的过程是完全 一样的。本小节中就为击中加入一个消失 的动画来增加观赏性。笔者首先想到的一 个动画就是逐步消失:在指定位置的地鼠 被击中后,亮起的4个LED逐步熄灭。
O 16.2.1 实现随机“地鼠” O 16.2.2 按钮逻辑 O 16.2.3 整合代码
创客教育 Arduino硬件简介与编程语法总结 课件
16
2. Arduino编程
ArduBlock
Mixly
17
2.1 Arduino 语法
Arduino编程是建立在C/C++语言 基础上,利用基础的C/C++语 言 把AVR单片相关的一些寄存 器参 数设置等进行函数化,以 便于开 发者更加快速地使用。
Arduino 语法
结构 数据
函数
18
2.1 Arduino 语法::结构
2.2 Arduino 类库
标准类库:
EEPROM - 对“永久存储器”进行读和写 Ethernet - 用于通过Arduino 以太网扩展板连接到互联网 Firmata - 与电脑上应用程序通信的标准串行协议。 LiquidCrystal - 控制液晶显示屏(LCD) SD - 对 SD 卡进行读写操作 Servo - 控制伺服电机 SPI - 与使用的串行外设接口(SPI)总线的设备进行通信 SoftwareSerial - 使用任何数字引脚进行串行通信(软串口) Stepper - 控制步进电机 WiFi - 用于通过Aduino 的 WiFi 扩展板连接到互联网 Wire - 双总线接口(TWI/I2C)通过网络对设备或者传感器发送和接收数据。 PWM Frequency Library - 自定义PWM频率 Zigbee - Zigbee无线通信库 EtherCard - EtherCard 一个ENC28J60的驱动库
MCU:ATmega2560 54路数字IO 16路模拟IO 4组URAT 15路PWM
Arduino MEGA2560兼容板
8
1. Arduino硬件
常见Arduino型号(版本)规格
9
1. Arduino硬件
2. Arduino编程
ArduBlock
Mixly
17
2.1 Arduino 语法
Arduino编程是建立在C/C++语言 基础上,利用基础的C/C++语 言 把AVR单片相关的一些寄存 器参 数设置等进行函数化,以 便于开 发者更加快速地使用。
Arduino 语法
结构 数据
函数
18
2.1 Arduino 语法::结构
2.2 Arduino 类库
标准类库:
EEPROM - 对“永久存储器”进行读和写 Ethernet - 用于通过Arduino 以太网扩展板连接到互联网 Firmata - 与电脑上应用程序通信的标准串行协议。 LiquidCrystal - 控制液晶显示屏(LCD) SD - 对 SD 卡进行读写操作 Servo - 控制伺服电机 SPI - 与使用的串行外设接口(SPI)总线的设备进行通信 SoftwareSerial - 使用任何数字引脚进行串行通信(软串口) Stepper - 控制步进电机 WiFi - 用于通过Aduino 的 WiFi 扩展板连接到互联网 Wire - 双总线接口(TWI/I2C)通过网络对设备或者传感器发送和接收数据。 PWM Frequency Library - 自定义PWM频率 Zigbee - Zigbee无线通信库 EtherCard - EtherCard 一个ENC28J60的驱动库
MCU:ATmega2560 54路数字IO 16路模拟IO 4组URAT 15路PWM
Arduino MEGA2560兼容板
8
1. Arduino硬件
常见Arduino型号(版本)规格
9
1. Arduino硬件
Arduino技术及应用--第8章 编写Arduino程序
,“文件名”则先在当前目录查找,而后到头文件目 录查找。 ▪ 被包含文件中的静态全局变量不用在包含文件中声明 。
8.5条件编译
条件编译的格式:
格式:(1) #ifdef 标识符 程序段1 #else 程序段2 #endif 或 #ifdef 程序段1 #endif
当标识符已经定义时,程序段1才参 加编译。
例如:数组大小常用宏定义。 (3)可以用#undef命令终止宏定义的作用域。 (4)宏定义可以嵌套。
例:
#define PI 3.1415926 把程序中全部的标识符PI换成3.1415926
8.3宏定义
2.带参数的宏:
除了一般的字符串替换,还要做参数代换 格式: #define 宏名(参数表)文本
//读取指定地址的数据
int GetData( );
//获取数据
private:
//以下定义为私有方法
int _dataPin;
//数据引脚
int _clkPin;
//时钟引脚
int _ackPin;
//反馈引脚
unsigned char Data[5];
//数据数组
};
8.2预处理命令
预处理过程
例如:
#define S(a,b) a*b area=S(3,2);第一步被换为area=a*b; ,第二步被换为area=3*2; 类似于函数调用,有一个哑实结合的过程:
8.3宏定义
❖ (1)实参如果是表达式容易出问题。
#define S(r) r*r area=S(a+b);第一步换为area=r*r;第二步被换为area=a+b*a+b; 正确的宏定义是 #define S(r) ((r)*(r))
8.5条件编译
条件编译的格式:
格式:(1) #ifdef 标识符 程序段1 #else 程序段2 #endif 或 #ifdef 程序段1 #endif
当标识符已经定义时,程序段1才参 加编译。
例如:数组大小常用宏定义。 (3)可以用#undef命令终止宏定义的作用域。 (4)宏定义可以嵌套。
例:
#define PI 3.1415926 把程序中全部的标识符PI换成3.1415926
8.3宏定义
2.带参数的宏:
除了一般的字符串替换,还要做参数代换 格式: #define 宏名(参数表)文本
//读取指定地址的数据
int GetData( );
//获取数据
private:
//以下定义为私有方法
int _dataPin;
//数据引脚
int _clkPin;
//时钟引脚
int _ackPin;
//反馈引脚
unsigned char Data[5];
//数据数组
};
8.2预处理命令
预处理过程
例如:
#define S(a,b) a*b area=S(3,2);第一步被换为area=a*b; ,第二步被换为area=3*2; 类似于函数调用,有一个哑实结合的过程:
8.3宏定义
❖ (1)实参如果是表达式容易出问题。
#define S(r) r*r area=S(a+b);第一步换为area=r*r;第二步被换为area=a+b*a+b; 正确的宏定义是 #define S(r) ((r)*(r))
arduino开发简介PPT课件
12
.
Arduino开发平台介绍
Arduino开发板上需要关注的重点:
5. Arduino工作速度。 所有的微脉冲来进行工作。大部分Arduino的工作速度为 16MHz,也就是说每秒能处理1600万条指令。
13
.
Arduino开发平台
1 Arduino开发平台介绍 2 Arduino开发基础操作 3 开发实例(用Arduino控制一个舵机)
5
.
Arduino开发平台介绍
Arduino是一个加载了微控制器的电路板,更是一个包 含了硬件和软件的开发平台。
将程序下载到主板
6
.
Arduino开发平台介绍
Arduino硬件是一块完整的电路板,包含一块微控制器 IC,一组排母用于连接到其它电路、若干个稳压器IC 用于给整个电路提供合适的电源,一个USB接口用于连 接计算机。
15
.
Arduino开发基础操作
2.1搭建开发环境
2.1.2 在windows上安装IDE
给Arduino编程需要用到IDE(集成开发环境), 这是一款免费的软件。在这款软件上编程需要使用 Arduino的语言,这是一种解释型语言,写好的程序被 称为sketch,编译通过后就可以下载到开发板中。在 Arduino的官方网站上可以下载这款官方设计的软件及 源码、教程和文档。
9
.
Arduino开发平台介绍
Arduino开发板上需要关注的重点:
2. 外部连接排母。与外部交互的接口。Uno一共有28 个。
分成三组: (1)电源 (2)模拟输入 (3)数字输入/输出
10
.
Arduino开发平台介绍
Arduino开发板上需要关注的重点:
arduino开发简介 ppt课件
其工作原理是由单片机发出信号给舵机与舵机内部的基准信号比较获得电压差输出驱动无核心马达开始转动透过减速齿轮将动力传至摆臂同时由位置检测器送回信号判断是否已经到达定位此过程中电机通过级联减速齿轮带动电位器旋转使得电压差为0电机停止转动
arduino开发简介
arduino开发简介
1 Arduino开发平台介绍 2 Arduino开发基础操作 3 开发实例(用Arduino控制一个舵机)
arduino开发简介
Arduino开发板上需要关注的重点:
5. Arduino工作速度。 所有的微控制器,包括Arduino,都使用一个系统时钟
产生的脉冲来进行工作。大部分Arduino的工作速度为 16MHz,也就是说每秒能处理1600万条指令。
arduino开发简介
1 Arduino开发平台介绍 2 Arduino开发基础操作 3 开发实例(用Arduino控制一个舵机)
arduino开发简介
Arduino开发板上需要关注的重点:
2. 外部连接排母。与外部交互的接口。Uno一共有28 个。
分成三组: (1)电源 (2)模拟输入 (3)数字输入/输出
arduino开发简介
Arduino开发板上需要关注的重点:
3. USB接口。
三个重要功能: (1)程序上传 (2)程序调试(Debug) (3)临时供电
2.2.1 图形化编程软件ArduBlock
arduino开发简介
2.2 常用的Arduino 第三方软件介绍
2.2.2 Arduino 仿真软件Virtual breadboard
arduino开发简介
2.2 常用的Arduino 第三方软件介绍
2.2.2 Arduino 仿真软件Virtual breadboard
arduino开发简介
arduino开发简介
1 Arduino开发平台介绍 2 Arduino开发基础操作 3 开发实例(用Arduino控制一个舵机)
arduino开发简介
Arduino开发板上需要关注的重点:
5. Arduino工作速度。 所有的微控制器,包括Arduino,都使用一个系统时钟
产生的脉冲来进行工作。大部分Arduino的工作速度为 16MHz,也就是说每秒能处理1600万条指令。
arduino开发简介
1 Arduino开发平台介绍 2 Arduino开发基础操作 3 开发实例(用Arduino控制一个舵机)
arduino开发简介
Arduino开发板上需要关注的重点:
2. 外部连接排母。与外部交互的接口。Uno一共有28 个。
分成三组: (1)电源 (2)模拟输入 (3)数字输入/输出
arduino开发简介
Arduino开发板上需要关注的重点:
3. USB接口。
三个重要功能: (1)程序上传 (2)程序调试(Debug) (3)临时供电
2.2.1 图形化编程软件ArduBlock
arduino开发简介
2.2 常用的Arduino 第三方软件介绍
2.2.2 Arduino 仿真软件Virtual breadboard
arduino开发简介
2.2 常用的Arduino 第三方软件介绍
2.2.2 Arduino 仿真软件Virtual breadboard
教学课件 Arduino零基础C语言编程(孙秋凤)
22
• 插上 USB 线,打开 Arduino IDE 后,找到“Blink”代码。
2021/1/16
Arduino零基础 C语言编程
23
通常,写完一段代码后都需要校验一下,看看代码有 没有错误。
点击“校验”。
这个最经典的开源硬件项目,诞生于意大利的一间设计学 校。Arduino 的核心开发团队成员包括:Massimo Banzi, David Cuartielles,Tom Igoe,Gianluca Martino, David Mellis 和 Nicholas Zambetti。
2021/1/16
第一章 认识Arduino
2021/1/16
Arduino零基础 C语言编程
1
1.1 Arduino 是什么?
Arduino 是一个开放源码电子原型平台,拥有灵活、易用 的硬件和软件。 • Arduino 可以接收来自各种传感器的输入信号从而检测出运
行环境,并通过控制光源,电机以及其他驱动器来影响其 周围环境。 • 板上的微控制器编程使用 Arduino 编程语言(基于 Wiring) 和 Arduino 开发环境(以 Processing 为基础)。Arduino 可 以独立运行,也可以与计算机上运行的软件(例如,Flash, Processing,MaxMSP)进行通信。 • Arduino开发 IDE 接口基于开放源代码,可以免费下载使用, 开发出更多令人惊艳的互动作品。
Arduino零基础 C语言编程
8
关于Arduino的名字还有个有趣的由来,意大利北部一个如诗如画的小镇 「Ivrea」,横跨过蓝绿色 Dora Baltea 河,它最著名的事迹是关于一位受压迫 的国王。公元 1002 年,国王 Arduino 成为国家的统治者,不幸的是两年后即 被德国亨利二世国王给废掉了。今日,在这位无法成为新国王的出生地,
arduino入门很简单上PPT课件
文档仅供参考,如有不当之处,请联系本人改正。
3.LilyPad Arduino SimpleSnap
O LilyPad Arduino SimpleSnap大部分与 LilyPad Arduino Simple类似。
文档仅供参考,如有不当之处,请联系本人改正。
4.LilyPad Arduino USB
文档仅供参考,如有不当之处,请联系本人改正。
1.3.14 Arduino Pro系列
O 1.Arduino Pro O 2.Arduino Pro Mini
文档仅供参考,如有不当之处,请联系本人改正。
1.Arduino Pro
O Arduino Pro是基于ATmega168或ATmega328 的微控制器板。
文档仅供参考,如有不当之处,请联系本人改正。
1.2 术语Arduino的含义
O 1.2.1 Arduino的硬件 O 1.2.2 Arduino的软件 O 1.2.3 Arduino的社区
文档仅供参考,如有不当之处,请联系本人改正。
1.2.1 Arduino的硬件
O Arduino的硬件开发板有许多种型号。它是 一个单片机集成电路,它的核心就是一个 单片机,开发板上的其他电路用来供电和 转换信号。官方Arduino使用的是megaAVR 系列的芯片,特别是ATmega8、ATmega168、 ATmega328、ATmega1280以及ATmega2560, 还有一小部分使用的是Arduino兼容的处理 器。
文档仅供参考,如有不当之处,请联系本人改正。
1.3 Arduino的硬件产品— —主板
O 1.3.9 Arduino Mega系列 O 1.3.10 Arduino Ethernet O 1.3.11 Arduino Mini O 1.3.12 LiLyPad Arduino系列 O 1.3.13 Arduino Nano O 1.3.14 Arduino Pro系列 O 1.3.15 Arduino Fio O 1.3.16 Arduino Zero
arduino入门很简单下PPT课件
文档仅供参考,如有不当之处,请联系本人改正。
14.3.3 时钟/日历
O 时间和日期信息可以通过读取指定寄存器 获得。
地址 0 1
读命令 写命令 BIT 7 81h 80h CH 83h 82h
BIT 6 BIT 5 秒数的十位 分钟数的十位
BIT 4
BIT 3 BIT 2 秒的个位 分钟数的个位
BIT 1
文档仅供参考,如有不当之处,请联系本人改正。
3.常见的RTC芯片
O 现在流行的RTC芯片有DS1302、DS1307、 PCF8485、DS3231、DS3232、DS3234、 DS32B35等。这些芯片由于接口简单、价 格低廉、使用方便的特点而被广泛采用。 在本章中将以DS1302为主体进行介绍。
0
-
文档仅供参考,如有不当之处,请联系本人改正。
14.3.5 RAM寄存器
O 静态RAM是RAM地址空间中的31bytes的连 续地址空间。
文档仅供参考,如有不当之处,请联系本人改正。
14.3.6 涓流充电寄存器
O 涓流充电寄存器控制的是DS1302的涓流充 电特性。
地址 9
读命令 写命令 BIT 7
13.4 简易公交收缴费系统
O 13.4.1 缴费系统 O 13.4.2 收费系统
文档仅供参考,如有不当之处,请联系本人改正。
13.4.1 缴费系统
O 缴费系统的实现思路如下: O 使用Key B进行验证; O 根据串口监视器的提示输入充值金额; O 确认充值金额; O 充值成功,显示余额。
文档仅供参考,如有不当之处,请联系本人改正。
文档仅供参考,如有不当之处,请联系本人改正。
1.RTC的优点
O 功耗小,这对于使用备用电源的系统来说 非常重要;
精品课件-Arduino零基础C语言编程-ch2-2.1 程序结构
2020/11/16
Arduino零基础 C语 言编程
1
示例:
int buttonPin = 3;
void setup()
{
Байду номын сангаас
Serial.begin(9600);
//初始化串口
pinMode(buttonPin, INPUT); //设置3号引脚为输入模式
}
void loop()
{
if (digitalRead(buttonPin) == HIGH)
2.1 程序结构
在Arduino中, 标准的程序入口main函数在内部被定义, 用 户只需要关心以下两个函数:
(1)setup() 当Arduino板起动时setup()函数会被调用。用它来初始化 变量,引脚模式,开始使用某个库,等等。该函数在Arduino 板的每次上电和复位时只运行一次。 (2)loop() 在创建setup函数,该函数初始化和设置初始值,loop()函 数所做事的正如其名,连续循环,允许程序改变状态和响应事 件。可以用它来实时控制arduino板。
serialWrite('H');
else
serialWrite('L');
2020d/e1la1y/1(16000);
Arduino零基础 C语 言编程
2
每一种知识都需要努力, 都需要付出,感谢支持!
知识就是力量,感谢支持!
----谢谢大家!!
Arduino入门很简单随书PPT清华大学出版社.pptx03
校验完成的 提示信息 校验完成的 提示信息
3.4.4 下载程序到开发板
O 下载的作用就是将编译好的二进制程序文
件传输到Arduino开发板中。可以通过菜单 栏中的“文件”->“下载”命令、快捷按 钮和快捷键Ctrl+U完成。
3.5 高级的Arduino IDE——MariaMole
O MariaMole可以从
第3 章
Arduino IDE安装与使 用
O 3.1 Arduino IDE安装 O 3.2 Windows7下的Arduino驱动安装 O 3.3 在Arduino上运行程序 O 3.4 Arduino IDE编码流程 O 3.5 高级的Arduino IDE——MariaMole
3.1 Arduino IDE安装
O 3.1.1 Arduino IDE安装包下载 O 3.1.2 使用二进制安装包安装Arduino IDE O 3.1.3 使用压缩包形式安装Arduino IDE O 3.1.4 Arduino IDE中文化
3.1.1 Arduino IDE安装包下载
O Arduino IDE的安装包可以从Arduino官网很
3.4.2 编辑源文件
O 在Arduino IDE中做的大部分工作就是编辑
源文件。编辑源文件时只需要将期望的代 码写入编辑区域即可。
3.4.3 校验源文件
O 校验源文件就是通过编译源代码来检查代
码中是否有错误。校验可以通过菜单栏中 的“程序”->“校验/编译”命令、快捷按 钮或快捷键Ctrl+R完成。
方便地下载,其下载链接为: /en/Main/Software。
3.1.2 使用二进制安装包安装Arduino IDE
arduino入门很简单PPT精选课件
9
1.3.1 Arduino UNO
O Arduino Uno开发板基于ATmega328。
10
1.3.2 Arduino Leonardo
O Arduino Leonardo是基于ATmega32U4的微 控制器。
11
1.3.3 Arduino Due
O Arduino Due是一个基于Atmel SAM3X8E ARM Cortex-M3 CPU的微控制器。它是第 一个基于32位ARM核心微控制器的Arduino 板。
14
1.3.6 Arduino Micro
O Arduino Micro是一个基于ATmega32U4的微 控制器板,它是与Adafruit联合开发的。
15
1.3.7 Arduino Robot
O Arduino Robot是官方推出的第一个原型板 子。
16
1.3.8 Arduino Esplora
26
3.LilyPad Arduino SimpleSnap
O LilyPad Arduino SimpleSnap大部分与 LilyPad Arduino Simple类似。
27
4.LilyPad Arduino USB
O Arduino Ethernet是基于ATmega328的微控 制器板。
22
1.3.11 Arduino Mini
O Arduino Min最初是基于ATmega168的微控 制器板,现在已经改用ATmega328。
23
1.3.12 LiLyPad Arduino系列
O 1.LiLyPad Arduino O 2.LilyPad Arduino Simple O 3.LilyPad Arduino SimpleSnap O 4.LilyPad Arduino USB
1.3.1 Arduino UNO
O Arduino Uno开发板基于ATmega328。
10
1.3.2 Arduino Leonardo
O Arduino Leonardo是基于ATmega32U4的微 控制器。
11
1.3.3 Arduino Due
O Arduino Due是一个基于Atmel SAM3X8E ARM Cortex-M3 CPU的微控制器。它是第 一个基于32位ARM核心微控制器的Arduino 板。
14
1.3.6 Arduino Micro
O Arduino Micro是一个基于ATmega32U4的微 控制器板,它是与Adafruit联合开发的。
15
1.3.7 Arduino Robot
O Arduino Robot是官方推出的第一个原型板 子。
16
1.3.8 Arduino Esplora
26
3.LilyPad Arduino SimpleSnap
O LilyPad Arduino SimpleSnap大部分与 LilyPad Arduino Simple类似。
27
4.LilyPad Arduino USB
O Arduino Ethernet是基于ATmega328的微控 制器板。
22
1.3.11 Arduino Mini
O Arduino Min最初是基于ATmega168的微控 制器板,现在已经改用ATmega328。
23
1.3.12 LiLyPad Arduino系列
O 1.LiLyPad Arduino O 2.LilyPad Arduino Simple O 3.LilyPad Arduino SimpleSnap O 4.LilyPad Arduino USB
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
setup()中存放只运行一次的程序,在Arduino控制 器通电或者复位后执行;
通常包括一些初始化设置,如
◦ 配置I/O口状态,如
pinMode(13,OUTPUT); //13脚设为输出 digitalWrite(13,HIGH);//13脚设为高电平
◦ 初始化串口
Serial.begin(9600);//串口波特率设为9600
/*在Arduino中,将13口设置为输出高电平*/ pinMode(13,OUTPUT); //13脚设为输出 digitalWrite(13,HIGH);//13脚设为高电平
void setup() { //在这里填写setup()函数代码,它只会运行一次 } void loop() { //在这里填写loop()函数代码,它会不断重复运行 }
}
Arduino语言使用C/C++语言编写程序 Arduino程序都包含配置和循环两个部分
Arduino语言是指Arduino核心库文件提供的各种 应用程序编程接口(Application Programming Interface,简称API)的集合。
◦ 例如,使用AVR单片机的Arduino核心库是对AVR⁃Libc( 基于GCC的AVR支持库)的二次封装。
} void loop(){ counter = counter+1; Serial.print(counter); Serial.print(":"); Serial.println("Hello World"
); delay(1000); }
void setup(){ Serial.begin(9600);//初始化串口
算术运算符:+、-、*、/、=、% 比较运算符:==、!=、<,>,<=,>= 逻辑运算符:&&、||、! 复合运算符:++、--、+=,-=
通过运算符将运算对象连接起来的式子成为表达式 :5+3、a-b、1<9等
数组由一组具有相同数据类型的数据构成,如
◦ int a[5] ◦ int a[5]={1,2,3,4,5} ◦ int a[5]; a[0]=1; a[1]=2; a[2]=3; a[3]=4; a[4]=5;
计 算机 1 GN D
…
计 算机 2 或 外设
GN D
(a) 并行通信
计 算机 1 GN D
发送 接收
计 算机 2 或 外设GND(b) 串行通信通信距离 抗干扰能力
传输速度 成本
串行通信 远 高 慢 低
并行通信 近 低 快 高
在Arduino控制器上,串口都是位于0 (RX)和1 (TX)的两个引脚;
loop()中的程序会不断地重复运行(死循环),在 setup()函数执行完毕后执行;
通常包含程序的主要功能,如
◦ 驱动各种模块 ◦ 采集数据
常量:#define LED pin13 变量
◦ 整型:int i=90 ◦ 浮点型:float l=9.8 ◦ 字符型:char col=‘C’ ◦ 布尔型: boolean running = false
章平 2017/10/30
Arduino USB连接线 单芯线 面包板 电子材料包
下载解压arduino-x.x.x.zip 将Arduino接上方头USB线,另一头接电脑 接上之后进入安装驱动环节
选择驱动程序安装目录,一般选择文件夹 .\arduino-1.0.6\drivers。
} void loop(){ if(Serial.available()>0){
发送信息
◦ Serial.print(val); 其中参数val是要输出的数据。
◦ Serial.println(val); 在输出完指定数据后,再输出一组回车换行符。
接收信息
◦ Serial.available()函数检测是否有信息 ◦ Serial.read()函数读取信息
int counter=0; //计数器 void setup(){ Serial.begin(9600);
Arduino使用C/C++语言编写程序
◦ 早期的Arduino核心库使用C语言编写; ◦ 后来引进了面向对象的思想,采用C与C++混合编程。
程序中的语句更容易理解,避免繁杂的寄存器配置
/*AVR单片机开发中,将一个 I/O 口设置为输出高电平*/ DDRB |=(1﹤﹤5);//portB第5位设为输出 PORTB |=(1﹤﹤5);// portB第5位设为高电平
Arduino 的USB口通过一个转换芯片(通常为 ATmega16u2)与这两个串口引脚连接。
初始化
◦ Serial.begin(speed); 其中参数speed指串口通信波特率,如300、600、1200、
2400、4800、9600、14400、19200、28800、38400、 57600、115200。
字符串既可以通过字符数组方式定义,也可以用 String类型定义
◦ char a[5]={‘h’,’e’,’l’,’l’,’o’} ◦ String abc=“Arduino”
顺序结构 选择结构
◦ if ◦ switch…case
循环结构
◦ while ◦ do…while ◦ for
击我的电脑,选管理,再选设备管理器
实验所需材料:Arduino UNO
连接示意图
连接在13脚的板载LED灯
void setup(){ pinMode(13, OUTPUT);
}
void loop() { digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000);
循环控制语句
◦ break ◦ continue
delay()
此函数为毫秒级延时。参数的数据类型为unsigned long。
delayMicroseconds()
此函数为微秒级延时。参数的数据类型为unsigned int。
CPU和外部通信有两种
◦ 并行通信:数据的各位同时传送 ◦ 串行通信:数据一位一位顺序传送