使用面包板搭建电路
面包板是一个由塑料网格组成的长方形板子,你可以很方便地在上面增加和去除测试元件,只需要把它们放在塑料网格上,而不需要焊接。
面包板是实验室中用于搭接电路的重要工具,常用于arduino的电路搭建 ,
注意:面包板不适合搭载功耗大的硬件
如图为400孔面包板
正面
背面:
我们可以从面包板的背面了解到电路的连接构成。
它总共由14行组成,我们集中看上下2行,它的每段红线与每段蓝线各自用一段导体,因此上端2行与下端2行的前25列为一段同电压的端口,上端2行与下端2行的后25列为一段同电压的端口 ,其中红线接正极,蓝线接负极
其次,面包板的中间有一个凹槽,凹槽的一个用途是告诉我们凹槽上面的五行插孔与下面五行是分离的,另一个用途就是为一些集成原件提供合适的安装尺寸。接下来就是凹槽上下五行的插孔,每五个一竖列的插孔是导通的。
利用面包板搭建led闪烁
led短端接led,长端接数字口 ,同时串联一个220欧姆的电阻,然后利用一个按键控制led的模式,
要注意按键的连接方式
在按键没有按下去的时候1,2号脚相连,3,4号脚相连。按键按下去的时候,1,2,3,4号脚就全部接通。
所以连接时要将2 ,4端断开 ,1端和3端分别连接模拟口和GND
int ledPin=1; //设定控制 LED的数字IO口
void setup()
{
pinMode(ledPin,OUTPUT);//设定数字IO口的模式,OUTPUT 为输出
}
void loop()
{ int i;
while(1)
{
i=analogRead(1);//连接模拟口1
if(i>1000)
{
digitalWrite(ledPin,HIGH); //设定HIGH = 5V左右
delay(1000); //设定延时时间,1000 = 1秒
digitalWrite(ledPin,LOW); //设定PIN8脚为LOW = 0V
delay(1000); //设定延时时间,1000 = 1秒
}
else
digitalWrite(ledPin,LOW); //设定为LOW = 0v
}
}
我们这里有必要介绍一下analogRead()函数,
analogRead()作用是读取模拟口的数值。默认是把0-5V的输入电压分成1024份,每一份大约为0.0049V,其数值在0-1023之间。
在本次程序代码中的读取数值如果大于1000则给LED输出高电平, 所对应的电压也就为大于4.88V。
不直接使用1024是以为在电流传输过程中会用损耗,可能达不到5v。
analogRead()命令输入的范围与分辨率可以使用analogReference()命令进行改动。
在原有基础上进一步改进,添加按键控制蜂鸣器来报警如图:
int buzzer=4;
int ledPin=3; //设定控制 LED的数字IO口
void setup()
{
pinMode(ledPin,OUTPUT);//设定数字IO口的模式,OUTPUT 为输出
pinMode(buzzer,OUTPUT);
}
void loop()
{ int i,j;
while(1)
{
i=analogRead(1);//连接模拟口1
j=analogRead(2);//连接模拟口2
if(i>1000&j>1000)
{
digitalWrite(ledPin,HIGH); //设定HIGH = 5V左右
delay(100); //设定延时时间,1000 = 1秒
digitalWrite(ledPin,LOW); //设定PIN8脚为LOW = 0V
delay(100); //设定延时时间,1000 = 1秒
digitalWrite(buzzer,LOW);//蜂鸣器停止
}
else if(i>1000&j<=1000)
{
digitalWrite(ledPin,HIGH); //设定HIGH = 5V左右
delay(100); //设定延时时间,1000 = 1秒
digitalWrite(ledPin,LOW); //设定PIN8脚为LOW = 0V
delay(100); //设定延时时间,1000 = 1秒
for(i=0;i<80;i++)
{
digitalWrite(buzzer,HIGH);
delay(1);
digitalWrite(buzzer,LOW);
delay(1);
}
for(i=0;i<100;i++)
{
digitalWrite(buzzer,HIGH);
delay(2);
digitalWrite(buzzer,LOW);
delay(2);
}
}
if(i<1000&j<1000)
digitalWrite(ledPin,LOW); //设定为LOW = 0v
digitalWrite(buzzer,LOW);//蜂鸣器停止
}
}