Arduino
使用教程
Arduino
控制器
控制器控制器
控制器使用
使用使用
使用教程
教程教程
教程
Arduino
使用教程
概
概概
概
述
述述
述
什么
什么什么
什么是
是是
是 Arduino?
Arduino 是一块基与开放原始代码的 Simple i/o 平台,並且具有使用类似 java,C 语言的开发环境。让您可以快速
使用 Arduino 语言与 Flash 或 Processing…等软件,作出互动作品。Arduino 可以使用开发完成的电子元件例如 Switch
或 Sensors 或其他控制器、LED、步进电机或其他输出裝置。Arduino 也可以独立运作成为一个可以跟软件沟通的平
台,例如说:flash processing Max/MSP VVVV 或其他互动软件…
Arduino 开发IDE界面基于开放原始码原则,可以让您免费下载使用开发出更多令人惊奇的互动作品。
什么
什么什么
什么是
是是
是 Roboduino?
DFRduino 与 Arduino 完全兼容,只是在原来的基础上作了些改进。Arduino 的 IO 使用的孔座,做互动作品需要面
包板和针线搭配才能进行,而
DFRduino
的
IO
使用针座,使用我们的杜邦线就可以直接把各种传感器连接到
DFRduino
上。
特色描述
特色描述特色描述
特色描述
1.
开放原始码的电路图设计,程式开发界面免费下载,也可依需求自己修改!!
2.
DFRduino 可使用ISP下载线,自我將新的IC程序烧入「bootloader」;
3.
可依据官方电路图,简化 DFRduino 模组,完成独立云作的微处理控制器;
4.
可简单地与传感器、各式各样的电子元件连接(如:红外线,超声波,热敏电阻,光敏电阻,伺服电机等);
5.
支援多样的互动程式 如: Flash,Max/Msp,VVVV,PD,C,Processing等;
6.
使用低价格的微处理控制器(ATMEGA168V-10PI);
7.
USB接口,不需外接电源,另外有提供9VDC输入接口;
8.
应用方面,利用 DFRduino,突破以往只能使用滑鼠,键盘,CCD等输入的裝置的互动內容,可以更简单地达成单
人或多人游戏互动。
性能描述
性能描述性能描述
性能描述
1.
Digital I/O 数字输入/输出端共 0~13。
2. Analog I/O 模拟输入/输出端共 0~5。
3.
支持USB接口协议及供电(不需外接电源)。
4. 支持ISP下载功能。
5. 支持单片机TX/RX端子。
6.
支持USB TX/RX端子。
7.
支持AREF端子。
8.
支持六組PWM端子(Pin11,Pin10,Pin9,Pin6,Pin5,Pin3)。
9. 输入电压:接上USB时无须外部供电或外部5V~9V DC输入。
10.输出电压:5V DC输出和3.3V DC输出 和外部电源输入。
11.采用Atmel Atmega168V-10PI单片机。
12.DFRduino 大小尺寸:宽70mm X 高54mm。
Arduino
使用教程
第一
第一第一
第一课
课课
课
Arduino
语言
语言语言
语言
Arduino
语言是建立在
C/C++
基础上的,其实也就是基础的
C
语言,
Arduino
语言只不过把
AVR
单片机(微控制
器)相关的一些寄存器参数设置等都函数化了,不用我们去了解他的底层,让不太了解 AVR 单片机(微控制器)的
朋友也能轻松上手。
那么这里就简单的注释一下
Arduino
语言。
/*************基础 C 语言*************/
关键字
关键字关键字
关键字:
::
:
•
if
•
if...else
•
for
•
switch case
•
while
•
do... while
•
break
•
continue
•
return
•
goto
语法符号
语法符号语法符号
语法符号:
::
:
•
;
•
{}
•
//
•
/* */
运算符
运算符运算符
运算符:
::
:
•
=
•
+
•
-
•
*
•
/
•
%
•
==
•
!=
Arduino
使用教程
•
<
•
>
•
<=
•
>=
•
&&
•
||
•
!
•
++
•
--
•
+=
•
-=
•
*=
•
/=
数据类型
数据类型数据类型
数据类型:
::
:
•
boolean 布尔类型
•
char 字符类型
•
byte 字节类型
•
int 整数类型
•
unsigned int 无符号整型
•
long 长整型
•
unsigned long 无符号长整型
•
float 实数类型
•
double
•
string
•
array
•
void
数据类型转换
数据类型转换数据类型转换
数据类型转换:
::
:
•
char()
•
byte()
•
int()
•
long()
•
float()
常量
常量常量
常量:
::
:
•
HIGH | LOW 表示数字
IO
口的电平,
HIGH
表示高电平(
1
),
LOW
表示低电平(
0
)。
Arduino
使用教程
•
INPUT | OUTPUT 表示数字 IO 口的方向,INPUT 表示输入(高阻态),OUTPUT 表示输出(AVR 能提供
5V 电压 40mA 电流)。
•
true | false true 表示真(
1
),
false
表示假(
0
)。
/**************************************/
以上为基础 c 语言的关键字和符号,有 c 语言基础的都应该了解其含义,这里也不作过多的解释。
/*************Arduino 语言*************/
结构
结构结构
结构
•
void setup()
初始化变量,管脚模式,调用库函数等
•
void loop() 连续执行函数内的语句
功能
功能功能
功能
数字
数字数字
数字 I/O
•
pinMode(pin, mode) 数字 IO 口输入输出模式定义函数,pin 表示为 0~13, mode 表示为 INPUT 或 OUTP
UT。
•
digitalWrite(pin, value) 数字 IO 口输出电平定义函数,pin 表示为 0~13,value 表示为 HIGH 或 LOW。比
如定义 HIGH 可以驱动 LED。
•
int digitalRead(pin) 数字 IO 口读输入电平函数,pin 表示为 0~13,value 表示为 HIGH 或 LOW。比如可以
读数字传感器。
模拟
模拟模拟
模拟
I/O
•
int analogRead(pin) 模拟 IO 口读函数,pin 表示为 0~5(Arduino Diecimila 为 0~5,Arduino nano 为 0~7)。
比如可以读模拟传感器(10 位 AD,0~5V 表示为 0~1023)。
•
analogWrite(pin, value) - PWM 数字 IO 口 PWM 输出函数,Arduino 数字 IO 口标注了 PWM 的 IO 口可使
用该函数,pin 表示 3, 5, 6, 9, 10, 11,value 表示为 0~255。比如可用于电机 PWM 调速或音乐播放。
扩展
扩展扩展
扩展 I/O
•
shiftOut(dataPin, clockPin, bitOrder, value) SPI 外部
IO
扩展函数,通常使用带
SPI
接口的
74HC595
做
8
个
IO 扩展,dataPin 为数据口,clockPin 为时钟口,bitOrder 为数据传输方向(
MSBFIRST
高位在前,
LSBFIR
ST
低位在前),
value
表示所要传送的数据(
0
~
255
),另外还需要一个
IO
口做
74HC595
的使能控制。
•
unsigned long pulseIn(pin, value) 脉冲长度记录函数,返回时间参数(us),pin 表示为 0~13,value 为 HI
GH 或 LOW。比如 value 为 HIGH,那么当 pin 输入为高电平时,开始计时,当 pin 输入为低电平时,停止计
时,然后返回该时间。
时间函数
时间函数时间函数
时间函数
Arduino
使用教程
•
INPUT | OUTPUT 表示数字 IO 口的方向,INPUT 表示输入(高阻态),OUTPUT 表示输出(AVR 能提供
5V 电压 40mA 电流)。
•
true | false true 表示真(
1
),
false
表示假(
0
)。
/**************************************/
以上为基础 c 语言的关键字和符号,有 c 语言基础的都应该了解其含义,这里也不作过多的解释。
/*************Arduino 语言*************/
结构
结构结构
结构
•
void setup()
初始化变量,管脚模式,调用库函数等
•
void loop() 连续执行函数内的语句
功能
功能功能
功能
数字
数字数字
数字 I/O
•
pinMode(pin, mode) 数字 IO 口输入输出模式定义函数,pin 表示为 0~13, mode 表示为 INPUT 或 OUTP
UT。
•
digitalWrite(pin, value) 数字 IO 口输出电平定义函数,pin 表示为 0~13,value 表示为 HIGH 或 LOW。比
如定义 HIGH 可以驱动 LED。
•
int digitalRead(pin) 数字 IO 口读输入电平函数,pin 表示为 0~13,value 表示为 HIGH 或 LOW。比如可以
读数字传感器。
模拟
模拟模拟
模拟
I/O
•
int analogRead(pin) 模拟 IO 口读函数,pin 表示为 0~5(Arduino Diecimila 为 0~5,Arduino nano 为 0~7)。
比如可以读模拟传感器(10 位 AD,0~5V 表示为 0~1023)。
•
analogWrite(pin, value) - PWM 数字 IO 口 PWM 输出函数,Arduino 数字 IO 口标注了 PWM 的 IO 口可使
用该函数,pin 表示 3, 5, 6, 9, 10, 11,value 表示为 0~255。比如可用于电机 PWM 调速或音乐播放。
扩展
扩展扩展
扩展 I/O
•
shiftOut(dataPin, clockPin, bitOrder, value) SPI 外部
IO
扩展函数,通常使用带
SPI
接口的
74HC595
做
8
个
IO 扩展,dataPin 为数据口,clockPin 为时钟口,bitOrder 为数据传输方向(
MSBFIRST
高位在前,
LSBFIR
ST
低位在前),
value
表示所要传送的数据(
0
~
255
),另外还需要一个
IO
口做
74HC595
的使能控制。
•
unsigned long pulseIn(pin, value) 脉冲长度记录函数,返回时间参数(us),pin 表示为 0~13,value 为 HI
GH 或 LOW。比如 value 为 HIGH,那么当 pin 输入为高电平时,开始计时,当 pin 输入为低电平时,停止计
时,然后返回该时间。
时间函数
时间函数时间函数
时间函数
评论6