加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

面包板+energia之引脚使用

(2018-03-27 16:04:16)
标签:

中学生

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---熄灭
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点亮。每次执行完后,再给该布尔变量赋新值,就是原数值的逻辑反。

基于这个想法,程序如下:
http://s12/mw690/0025GAjCzy7jf0Q8bt97b&690
以下语句,实现5号引脚上输出布尔变量on_off的数值,9号引脚输出布尔变量的逻辑反的数值。
http://s2/mw690/0025GAjCzy7jf1ieqCB91&690
以下语句,实现每次对布尔变量on_off逻辑取反作为新的布尔变量on_off的新的数值。
http://s15/mw690/0025GAjCzy7jf1pPTgGfe&690
转化为相应的代码更简洁,如下:

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
}

0

阅读 收藏 喜欢 打印举报/Report
前一篇:春暖花开
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有