本笔记部分内容参考于网络

Arduino是什么?

开始讲之前跟大家普及一个知识点,Arduino是一个意大利品牌。Arduino是一个开放源码电子原型平台,拥有灵活、易用的硬件(各种开发板)和软件(Arduino IDE也就是编程器)。吉安优创电子科技有限公司作为arduino国内为数不多的正版授权公司,坚持正版。打击抵制各类盗版,改版,兼容版的侵权行为,也奉劝广大消费者不要去购买,以免带来不必要的麻烦。Arduino专为设计师,工艺美术人员,业余爱好者,以及对开发互动装置或互动式开发环境感兴趣的人而设的。

Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器 对Arduino的编程是利用 Arduino编程语言 (基于 Wiring)和Arduino开发环境(based on Processing)来实现的。基于Arduino的项目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上运行的软件,他们之间进行通信 (比如 Flash, Processing, MaxMSP)来实现。

认识Arduino UNO

Arduino UNO是Arduino入门的最佳选择,在编著本书时,其最新的版本为UNO R3,本书大部分内容都是基于Arduino UNO R3写成的。Arduino UNO的详细组成信息如下图所示。

  1. 电源(Power)

Arduino UNO有三种供电方式:

  • 通过USB接口供电,电压为5V;

  • 通过DC电源输入接口供电,电压要求7~12V;

  • 通过电源接口处5V或者VIN端口供电,5V端口处供电必须为5V,VIN端口处

    供电为7~12V。

  1. 指示灯(LED)

Arduino UNO带有4个LED指示灯,作用分别是:

  • ON,电源指示灯。当Arduino通电时,ON灯会点亮。

  • TX,串口发送指示灯。当使用USB连接到计算机且Arduino向计算机传输数据

    时,TX灯会点亮。

  • RX,串口接收指示灯。当使用USB连接到计算机且Arduino接收计算机传来的

    数据时,RX灯会点亮。

  • L,可编程控制指示灯。该LED通过特殊电路连接到Arduino的13号引脚,当

    13号引脚为高电平或高阻态时,该LED会点亮;当为低电平时,不会点亮。因

    此可以通过程序或者外部输入信号来控制该LED的亮灭。

  1. 复位按键(Reset Button)

按下该按键可以使Arduino重新启动,从头开始运行程序。

  1. 存储空间(Memory)

Arduino的存储空间即是其主控芯片所集成的存储空间。也可以通过使用外设芯片的方式来扩展Arduino的存储空间。Arduino UNO的存储空间分三种:

  • Flash,容量为32KB。其中0.5KB作为BOOT区用于储存引导程序,实现通过串

    口下载程序的功能;另外的31.5KB作为用户储存的空间。相对于现在动辄几百

    GB的硬盘,可能觉得32KB太小了,但是在单片机上,32KB已经可以存储很大

    的程序了。

  • SRAM,容量为2KB。SRAM相当于计算机的内存,当CPU进行运算时,需要

    在其中开辟一定的存储空间。当Arduino断电或复位后,其中的数据都会丢失。

  • EEPROM,容量为1KB。EEPROM的全称为电可擦写的可编程只读存储器,是

    一种用户可更改的只读存储器,其特点是在Arduino断电或复位后,其中的数据

    不会丢失。

5.输入/输出端口(Input/Output Port)

如图1-20所示,Arduino UNO有14个数字输入/输出端口,6个模拟输入端口。其中一些带有特殊功能,这些端口如下:

  • UART通信,为0(RX)和1(TX)引脚,被用于接收和发送串口数据。这两个

    引脚通过连接到ATmega16U2来与计算机进行串口通信。

  • 外部中断,为2和3引脚,可以输入外部中断信号。

  • PWM输出,为3、5、6、9、10和11引脚,可用于输出PWM波。

  • SPI通信,为10(SS)、11(MOSI)、12(MISO)和13(SCK)引脚,可用于

    SPI通信。

  • TWI通信,为A4(SDA)、A5(SCL)引脚和TWI接口,可用于TWI通信,兼

    容IIC通信。

  • AREF,模拟输入参考电压的输入端口。

  • Reset,复位端口。接低电平会使Arduino复位。当复位键被按下时,会使该端口

    接到低电平,从而使Arduino复位。

Arduino IDE开发环境

在开始使用Arduino之前,需要在电脑上安装Arduino的集成开发环境(此后简称IDE)。老版本运行速度等更好更快,新版本继续Chrome内核,速度变慢,稳定性差一些,推荐使用老版本,下载地址为:https://www.arduino.cc/en/software/OldSoftwareReleases

双击桌面的软件图标,进入Arduino IDE之后。如下图所示

在工具栏上, Arduino IDE提供了常用功能的快捷键:

相对于IAR、Keil等专业的硬件开发环境,Arduino的开发环境给人以简单明了的感觉,但正是这种简单,省去了很多不常用的功能,使得基础知识不多的使用者更容易上手。

默认安装后会自动安装驱动,连接就可以使用!

Hello_World实验


实验器件

  • UNO控制板:1 个
  • USB数据线:1 条

实验连线

程序代码

int val;//定义变量val
int ledpin=13;//定义数字接口13
void setup()
{
  Serial.begin(9600);//设置波特率为9600,这里要跟软件设置相一致。当接入特定设备(如:蓝牙)时,我们也要跟其他设备的波特率达到一致。
  pinMode(ledpin,OUTPUT);//设置数字13 口为输出接口,Arduino 上我们用到的I/O 口都要进行类似这样的定义。
}
void loop()
{
  val=Serial.read();//读取PC 机发送给Arduino 的指令或字符,并将该指令或字符赋给val
  if(val=='R')//判断接收到的指令或字符是否是“R”。
  {  //如果接收到的是“R”字符
    digitalWrite(ledpin,HIGH);//点亮数字13 口LED。
    delay(500);
    digitalWrite(ledpin,LOW);//熄灭数字13 口LED
    delay(500);
    Serial.println("Hello World!");//显示“Hello World!”字符串
  }
}

实验结论

打开串口监视器,在串口监视器内输入“R”。
开发板上的13号LED灯会闪一下;串口监视器会收到来自Arduino的信息Hello World