友情提示:680元/半年,儿童学编程,就上码丁实验室。
你将会学到什么
1、arduino相关的基本电子元件
2、制作一个流水灯项目
3、使用变量
4、使用for循环
电子元件相关
arduino色环电阻:
色环电阻计算方法
arduino LED:
各色LED灯
LED是有极性的
LED是有极性的,电流只能从正极流向负极,普通红色LED需要1.7伏电压和5-20ma的电流。
arduino针脚输出的是5V电压,所以如果将LED连接到arduino需要串联电阻。
使用欧姆定律:
欧姆定律
计算得到电阻大概范围在165Ω到660Ω之间,常用的算换电阻为220Ω、330欧姆、1KΩ。
arduino 面包板:
面包板
面包板原理
使用面包板可以很方便地在其上添加各种传感器,方便原型开发,免去了焊接的麻烦。
arduino和面包板的使用
流水灯项目
流水灯电路图
一共连接了5个LED灯和5个色环电阻(330Ω),连接在数字针脚3、4、5、6、7。
现在要实现的效果是LED灯从右向左逐个点亮(一次只点亮一个),然后再从右向左逐个点亮(一个点亮一个),从而循环往复。
arduino程序如下:
setup()函数
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;
如下图:
添加一个变量
将具体数字更改成变量
如果我们需要让流水灯走的更快一些,只需要更改一行代码就可以了。
更改变量的值
int 是变量的类型,说明变量d是一个整数(范围在:-32768~32768之间)。
现在我们的程序好了一些,但是我们写了很多重复的代码:
重复的代码
重复的代码
重复的事情我们交给for循环语句来做:
使用了循环的setup()函数
使用了循环的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()函数让程序从头再开始
}