Arduino入门_Arduino基本程序结构及LED流水灯实验

学习内容:

1. Arduino基本程序结构

2. 多个LED灯的流水灯实验

实验材料:

本次学习运用Arduino1.8.9(可在官网下载)、Arduino Uno开发板、数据线、LED灯若干、180Ω电阻若干、面包板、跳线若干。

备注:

Arduino的主要开发语言是C语言。

 

笔记:

一、 Arduino程序结构

以Arduino开发板13号led闪灯实验为例进行讲解(文件→示例→Basics→Blink)

void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}

 

1.setup()函数

当你给开发版通电后或按下复位键后,setup函数执行一次,注意只执行一次。函数中LED_BUILTIN默认为Arduino开发板上的13号灯,OUTPUT表示输出模式,即初始化 化LED_BUILTIN引脚为输出模式。

2.loop()函数

在 setup()函数中初始化和定义了变量,然后执行 loop()函数。loop有“环形”的意思,也就是在程序运行过程中会不断循环。

 

数字I/O的操作

1.pinMode(pin,mode)函数

这个函数常用在setup()函数里,用来设置引脚的功能。

pin—表示要配置的引脚号,数字电路的代号范围是0~13,模拟电路是A0~A5。

mode—用来设置引脚的模式,INPUT是输入模式,用于读取信号;OUTPUT是输出模式,用于输出控制信号。

2.digitalWrite(pin,value)函数

这个函数是用来设置引脚的输出电压,HIGH为高电平,默认5V;LOW为低电平,默认0V。但要注意这个函数运行的前提是有预先设置引脚模式,也就是pinMode(pin,mode)函数,可以说是以引脚设置为OUTPUT模式为前提的,能输出才能亮灯呀。

3.digitalRead(pin)函数

该函数用于读取引脚的电平情况,输入引脚的值,返回HIGH或者LOW。如果引脚没有连接到任何地方,那么将随机返回HIGH或者LOW。

 

时间函数

delay()函数

是一个没有返回值的延时函数,参数是时间长度,单位为毫秒(ms)。

 

二、多个LED的流水灯实验

 

LED灯是发光二极管,所以电路中必须具备电阻,否则可能造成短路。LED的长脚是正极,注意别插错了。

本实验中,面包板是作为电子元器件连接的载体,是不可或缺的。下面就来介绍一下。

1.面包板的介绍

面包板上有很多小插孔,专为电子电路元件无焊接实验设计的。它的种类有很多,不同种类的面包板使用略有不同。

先介绍这三种。

图2-1中绿线所在的一列(5个插孔)是相互连接的。黄线所在的一排(25个插孔)是相互连接的,通常用于连接电源。红色方框区域就相当于一堵墙,阻碍上下两个区域的连接,可以用杜邦线连接。

                                                                                                                                  图2-1

图2-2中没有图2-1中的行连接方式,其它都一样。

                                                                                                                                  图2-2

图2-3中可看出该面包板较长,不同图2-1的是横向连接分为两组,他们之间没有接通。

                                                                                                                                   图2-3

图2-4就是个简单点亮LED的电路连接,一端接数字端口,一端接地。

                                                                                                                                图2-4

2.LED流水灯实验

通过以上学习,让我们来试着搭建LED流水灯。

(1)电路连接

下图取自 河西石头 的博客《Arduino制作实践课程(1)闪灯和流水灯》

其实明白了电路元件、面包板和Arduino Uno开发板的基本原理,你不用完全按照上图搭建。我只有图2-2的板子,所以我是这样搭建的(有点点乱):

(2)代码

先设置引脚为输出模式,再按端口顺序:点亮(高电平)→等待→熄灭(低电平)

void setup() {
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);  //将端口设置为输出模式
}

void loop() {
  digitalWrite(4, HIGH);   //点亮
  delay(500);              //延迟0.5秒
  digitalWrite(4, LOW);    //熄灭
  digitalWrite(5, HIGH);   //点亮
  delay(500);              //延迟0.5秒
  digitalWrite(5, LOW);    //熄灭
  digitalWrite(6, HIGH);   //点亮
  delay(500);              //延迟0.5秒
  digitalWrite(6, LOW);    //熄灭
  digitalWrite(7, HIGH);   //点亮
  delay(500);              //延迟0.5秒
  digitalWrite(7, LOW);    //熄灭
}

也可以利用循环 :

void setup(){
  for(int i=4;i<8;i++)
  pinMode(i,OUTPUT);      //将端口设置为输出模式
}
void loop(){
  for(int i=4;i<8;i++)
  {
    digitalWrite(i, HIGH);//点亮
    delay(1000);          //延迟1秒           
    digitalWrite(i, LOW); //熄灭
    delay(500);           //延迟0.5秒       
  }
}

 

第一课的学习到这里就结束了,若有差错,请斧正,谢谢!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值