简介
Arduino是一款开源电子原型平台,是AVR指令集的单片机。构建于开放原始码simple I/O介面板,使用类似Java、C语言的Processing/Wiring开发环境,包括硬件Arduino电路板与软件ArduinoIDE开发平台,板子上的微控制器可以通过ArduinoIDE编写的程序编译为二进制文件通过串口进行烧录。
Arduino的核心开发团队成员包括:Massimo Banzi,David Cuartielles,Tom Igoe,Gianluca Martino,David Mellis和Nicholas Zambetti 。据说Massimo Banzi的学生们经常抱怨找不到便宜好用的微控制器,2005年冬天,Massimo Banzi跟朋友David Cuartielles讨论了这个问题,David Cuartielles是一个西班牙籍晶片工程师,当时在这所学校做访问学者。两人决定设计自己的电路板,并引入了Banzi的学生David Mellis为电路板设计编程语言。两天以后,David Mellis就写出了程式码。又过了三天,电路板就完工了。这块电路板被命名为Arduino。
意大利北部一个如诗如画的小镇「Ivrea」,横跨过蓝绿色Dora Baltea河,它最著名的事迹是关于一位受压迫的国王。公元1002年,国王Arduin成为国家的统治者,不幸的是两年后即被德国亨利二世国王给废掉了。今日,在这位无法成为新国王的出生地,cobblestone街上有家叫「di Re Arduino」的酒吧纪念了这位国王。Massimo Banzi经常光临这家酒吧,而他将这个电子产品计划命名为Arduino以纪念这个地方。
硬件介绍
Arduino板基于 Atmel 的ATMEGA8 和ATMEGA168/328 单片机。
Arduino UNO
引脚 | 名称 | 功能 |
---|---|---|
D0~D13 | Digital 数字类控制引脚 | 通过代码控制引脚的电压,实现控制模块的作用,数字引脚0、1是单独拉出的RX、TX串口引脚,与USB串口相连,一般用于与其它单片机进行串行通信,在烧写程序时0、1不可连接电路,避免烧写失败。 |
A0~A5 | Analog 模拟类控制引脚 | 具备D0~D13引脚的功能,具有10位的分辨率(整型0-1023)可以读取连接到这些引脚上模块的电压信号。 |
程序编写
ArduinoIDE
- 编译校验
- 烧录上传
- 新建项目
- 打开项目
- 保存项目
- 串口监视器
- 控制台信息
代码部分
Arduino的主体程序包括两部分:
/*
* 引脚号变量
*/
int pin = 10;
/* setup()初始化函数
* 初始化变量、函数与串口输入输出配置,每次板子上电时初始化一次
* 只有一个pinMode函数
*/
void setup()
{
// put your setup code here, to run once:
/* IO类型mode[INPUT(外部输入信号),OUTPUT(内部输出信号)]
* 外部输入例如按键按下后接收到指令
* 内部输出例如让控制器控制蜂鸣器发声
*/
pinMode(pin, mode);
}
/* loop()循环执行函数
* 循环执行函数中的代码
*/
void loop()
{
// put your main code here, to run repeatedly:
/* value[HIGH,LOW]
* 引脚pin的mode为OUTPUT时将电压(高低电平)输送到引脚
*/
digitalWrite(pin, value);
/*
* 引脚pin的mode为INPUT时从引脚读取信号
*/
digitalRead(pin);
//延时等待函数,1000ms为1s
delay(1000);
}