0.前言
Arduino大致由两个要素构成。硬件,Arduino控制板,如Arduino Uno,Arduino Mega2560等这些;软件,Arduino IDE开发环境,通过IDE制作各式各样的sketch上载至Arduino控制板中,并通过这些sketch告诉控制板应该做什么。
目录
1.控制板介绍:
以Arduino Uno为例:
工作电压 | 5V |
输入电压(推荐) | 7~12V |
输入电压(限制) | 6~20V |
每个I/O引脚的直流电流 | 20毫安 |
时钟速度 | 16MHz |
包含14个数字I/O引脚,即pin0~pin13,作为输入(INPUT)或者输出(OUTPUT)用,并通过Arduino IDE制作的sketch来设置其工作模式。输入模式下,引脚端口接收从传感器发来的信号,这里接收的信号为数字信号即开关信号。输出模式下,由引脚端口发出开关信号,用于控制,取值上为LOW或HIGH,或者0或1。其输入输出电压最低和最高一般为0V和5V。
包含6个模拟引脚,即pinA0~pinA5。模拟引脚是作为读取由模拟传感器发出的模拟信号来使用。和数字引脚不同,它返回0-1023之间的值,每读一次需要花1微妙的时间。
包含6个模拟信号输出引脚,即pin3、5、6、9、10、11。
共用引脚介绍:
SPI通信用:是外设串行外设接口的缩写,是一种高速全双工通步的通信总线,只占用四个引脚,可用于上下设备之间通信。除了板子上ICSP处专用的SPI引脚以外,部分数字引脚也能充当SPI引脚来使用。它们是:
SCK——13,连续时钟信号
MISO——12,主进从出,master in,slave out
MOSI——11,主出从进,master out,slave out
SS——10,从机选择
USB通信用:除了外接的USB线来实现通信外,通过主板上的数字引脚也能实现,它们是:
TX——1
RX——0
IIC通信用:是一个多主从的串行总线,属于半双工同步传输类型总线。它们是:
SDA——A4
SCL——A5
以及专用引脚:
2.开发环境IDE介绍
首先是IDE的下载地址:
写这篇文章的时候,Arduino IDE已经更新到2.0版本了,对于老版本,如:1.8等,我们可以在Arduino文件中找到源代码,可以更好理解学习。2.0以上的版本就被集中整合起来了,对于1.8版本,其源代码地址为:arduino-nightly\hardware\arduino\avr\cores\arduino。虽然正常编写时不会去管源代码,但有时为了更好理解函数背后的输入输出,是可以看看的。
IDE下载完成后,更改为中文环境:
然后重启。
2.1库文件下载与安装
第三方库文件的下载与安装方法:项目>加载库>管理库,由官方收录的库可在这里面下载自动安装,如果是未收录的,需要打包成ZIP后添加即可。
3.Arduino在线模拟网站推荐
对于Arduino的一些简单的元器件模拟,可以使用thinkercad。本身thinkercad就是一款免费的,易于使用的三维设计,电子电路设计和编程的在线软件。而其中电子电路设计这块儿更是专为Arduino所开发设计的。
网站如下:
该网站最大的亮点,除了可以在线编辑Arduino的代码外,对于一些基本元器件都有可模拟的模块供使用,对于我们初期学习有一定帮助 。
4.第一个小程序——点亮LED
接线图:
代码如下:
int LED=12;//定义管脚
void setup() {
pinMode(LED,OUTPUT);//定义为输出模式
}
void loop() {
digitalWrite(LED,HIGH);//点亮LED
delay(1000);//延时1S
digitalWrite(LED,LOW);//熄灭LED
delay(1000);//延时1S
}
在Arduino的代码中,标准的程序入口main函数已经在内部被定义了。我们只需要关注两个函数:
setup():
当Arduino板启动时,setup()会先被调用,并用其来初始化变量,引脚模式,开始使用某个库等,该函数在每次上电或复位时只运行一次。
loop():
在创建setup函数时,该函数初始化和设置初始值,loop()函数用于连续的循环,并允许程序改变状态和响应事件。通过其来实现控制Arduino板。