最新消息:680元/半年,推荐全网最具性价比的一站式编程学习平台码丁实验室

arduino从零开始(3)电子元件与LED流水灯

Arduino 少儿编程 2276浏览 0评论

友情提示:680元/半年,儿童学编程,就上码丁实验室

你将会学到什么

1、arduino相关的基本电子元件

2、制作一个流水灯项目

3、使用变量

4、使用for循环

电子元件相关

arduino色环电阻:

arduino从零开始(3)电子元件与LED流水灯

 

 

arduino从零开始(3)电子元件与LED流水灯

色环电阻计算方法

arduino LED:

arduino从零开始(3)电子元件与LED流水灯

各色LED灯

arduino从零开始(3)电子元件与LED流水灯

LED是有极性的

LED是有极性的,电流只能从正极流向负极,普通红色LED需要1.7伏电压和5-20ma的电流。

arduino针脚输出的是5V电压,所以如果将LED连接到arduino需要串联电阻。

使用欧姆定律:

arduino从零开始(3)电子元件与LED流水灯

欧姆定律

计算得到电阻大概范围在165Ω到660Ω之间,常用的算换电阻为220Ω、330欧姆、1KΩ。

arduino 面包板:

arduino从零开始(3)电子元件与LED流水灯

面包板


arduino从零开始(3)电子元件与LED流水灯

面包板原理

使用面包板可以很方便地在其上添加各种传感器,方便原型开发,免去了焊接的麻烦。

arduino从零开始(3)电子元件与LED流水灯

arduino和面包板的使用

流水灯项目

arduino从零开始(3)电子元件与LED流水灯

流水灯电路图

一共连接了5个LED灯和5个色环电阻(330Ω),连接在数字针脚3、4、5、6、7。

现在要实现的效果是LED灯从右向左逐个点亮(一次只点亮一个),然后再从右向左逐个点亮(一个点亮一个),从而循环往复。

arduino程序如下:

arduino从零开始(3)电子元件与LED流水灯

setup()函数

arduino从零开始(3)电子元件与LED流水灯

loop()函数

文字代码:

void setup()

  {

    pinMode(3, OUTPUT);    // 设置为输出模式

    pinMode(4, OUTPUT);

    pinMode(5, OUTPUT);

    pinMode(6, OUTPUT);

    pinMode(7, OUTPUT);

  }

void loop()

{

    digitalWrite(3, HIGH);  // 点亮第一个LED

    delay(500);             // 等待半秒钟

    digitalWrite(3, LOW);   // 熄灭第一个LED灯

    digitalWrite(4, HIGH);  // 重复第2到5LED灯

    delay(500);

    digitalWrite(4, LOW);

    digitalWrite(5, HIGH);

    delay(500);

    digitalWrite(5, LOW);

    digitalWrite(6, HIGH);

    delay(500);

    digitalWrite(6, LOW);

    digitalWrite(7, HIGH);

    delay(500);

    digitalWrite(7, LOW);

    digitalWrite(6, HIGH);

    delay(500);

    digitalWrite(6, LOW);

    digitalWrite(5, HIGH);

    delay(500);

    digitalWrite(5, LOW);

    digitalWrite(4, HIGH);

    delay(500);

    digitalWrite(4, LOW);

    // loop()函数让程序从头再开始

}

这样的程序虽然可以达到要求,但是它并不是很自由,例如如果我想要让流水灯走的更快一些(将delay()函数的时间设置的短一些),那么我需要找到所有的delay()函数,然后更改参数。

但是我们有更方便的方法:使用变量

变量是用来存储数据的一个“容器”,其中的值是可以改变的。

添加一个变量来存储延时的时间:

int d = 500;

然后将loop函数中的所有的500更改为d;

如下图:

arduino从零开始(3)电子元件与LED流水灯

添加一个变量

arduino从零开始(3)电子元件与LED流水灯

将具体数字更改成变量

如果我们需要让流水灯走的更快一些,只需要更改一行代码就可以了。

arduino从零开始(3)电子元件与LED流水灯

更改变量的值

int 是变量的类型,说明变量d是一个整数(范围在:-32768~32768之间)。

现在我们的程序好了一些,但是我们写了很多重复的代码:

arduino从零开始(3)电子元件与LED流水灯

重复的代码

arduino从零开始(3)电子元件与LED流水灯

重复的代码


重复的事情我们交给for循环语句来做:

arduino从零开始(3)电子元件与LED流水灯

使用了循环的setup()函数

arduino从零开始(3)电子元件与LED流水灯

使用了循环的loop()函数

文字代码如下:

int d = 200;

void setup()

  {

    for(int i=3;i<=7;i++)

    {

      pinMode(i,OUTPUT);// 设置为输出模式,i从2递增到7

      }

  }

void loop()

{

    for(int i=3;i<=7;i++)

    {

       digitalWrite(i, HIGH);  // 点亮第一个LED

       delay(d);             // 等待半秒钟

       digitalWrite(i, LOW);   // 熄灭第一个LED灯

      }

    for(int i=6;i>=4;i–)//i从6递减至4

    {

       digitalWrite(i, HIGH);

       delay(d);

       digitalWrite(i, LOW);

      }

    // loop()函数让程序从头再开始

}

arduino从零开始(3)电子元件与LED流水灯

arduino从零开始(3)电子元件与LED流水灯

 

您必须 登录 才能发表评论!