面包板+energia之引脚使用

标签:
中学生led面包板 |
分类: Energia/Arduino |
面包板:
http://s14/mw690/0025GAjCzy7jdRBcFdzfd&690如图,整个面板板分相对独立的四个部分。最上和最下一般用于连接电源,如接+或接-,上+或上-或下+或下-都是一个整体,分别相当于一根导线;而中间部分又被分为上下两部分,分别相当于于一根根竖直放置的若干段导线,但上下又是分开的。
实验1:
借助于已有的材料,LED两只,300欧电阻两只,如上面包板一块,连接杜邦线若干,接口线两只(可以接在相应的引脚)
完成让一只LED实现闪烁(每秒改变一次)。
http://s9/mw690/0025GAjCzy7jdSQqHA4d8&690说明如下,GND和上-连接,电阻一端连接在上-,另一端和LED的短引脚相连,LED的长引脚和P1.3相连。
借助于以前所学,程序设计很简单,如下图
http://s16/mw690/0025GAjCzy7jdTc0Ti7df&690
bool _ABVAR_1_on_off;//定义一个布尔变量,仅有两个值,要么1(真),要么0(假)
void setup()
{
pinMode( 5 , OUTPUT);//P1.3对应5号引脚
_ABVAR_1_on_off = false;//初始值是0(假)
}
void loop()
{
digitalWrite( 5 , _ABVAR_1_on_off
);//通过5号引脚输出当前布尔变量的值,1---亮,0---熄灭
);//通过5号引脚输出当前布尔变量的值,1---亮,0---熄灭
delay( 1000 );//延时1秒
_ABVAR_1_on_off = !( _ABVAR_1_on_off )
;//给布尔变量赋新值,即将原数值取反后为新值
;//给布尔变量赋新值,即将原数值取反后为新值
}
实验2:
若使用杜邦先直接相连,则电路图如下:
http://s13/mw690/0025GAjCzy7jdU6TMdK7c&690
程序不用变!(由于P1.3就是5号引脚)
实验3:
若使用P2.1接口,则电路图如下:http://s4/mw690/0025GAjCzy7jdUcwUFR83&690
注意:是接口输出线中较长的一根杜邦线!
相应的程序如下(必须修改!!)
http://s3/mw690/0025GAjCzy7jdUlID0m62&690
由刚才5号引脚改变为9号引脚!
硬件电路应和相应软件(程序)一致,硬件连接改变,则相应的程序也得改变;软件(程序)的改变,相应的硬件电路连接也的改变。
实验4:
两只LED分别闪烁,一只亮时另只是熄灭的。这里假说时间间隔为1秒。
硬件连接如下,P1.3接口(5号引脚)和黄色LED相连,该引脚输出高电平(低电平)时,黄色LED点亮(熄灭);P2.1接口(9号引脚)和红色LED相连,该引脚输出高电平(低电平)时,红色LED会点亮(熄灭)。
分析:
考虑到每时仅有一只LED处于点亮,而另一只LED处于熄灭状态,引入一个布尔变量,它仅有两个状态,要么真(true)要么假(false),分别对应于数字1和0,当一个引脚输出该布尔变量的值,另一个输出该布尔变量的相反值(是逻辑取反而不是数学上的相反数!),可以使得一个LED熄灭,另一只LED点亮。每次执行完后,再给该布尔变量赋新值,就是原数值的逻辑反。
基于这个想法,程序如下:
bool _ABVAR_1_on_off;//定义布尔变量on_off
void setup()
{
pinMode( 9 , OUTPUT);
pinMode( 5 , OUTPUT);
_ABVAR_1_on_off = false;//布尔变量on_off初始数值为假(false),对应为数值0
}
void loop()
{
digitalWrite( 5 , _ABVAR_1_on_off );//5号引脚输出布尔变量on_off的值
digitalWrite( 9 , !( _ABVAR_1_on_off )
);//9号引脚输出布尔变量on_off的逻辑取反的数值
delay( 1000 );
_ABVAR_1_on_off = !( _ABVAR_1_on_off )
;//把原on_off取反后作为新的数值赋给on_off
}