1. Home
  2. Docs
  3. 磁力电子学电路实验套件编程版(实验指南)
  4. 三、电路实验
  5. 3.5 开关控制LED灯

3.5 开关控制LED灯

实验名称: 开关控制LED灯
实验难度: ★★★☆☆
实验简述: 本实验将是上一个实验的拓展,上一个实验我们通过数字端口D9读取按钮开关的信号,本次实验中我们将对这个信号进行处理,实验让开关控制LED灯的亮灭。
实验过程: 拼接电路并连接好数据线,启动Buddy++,点击上方菜单栏右侧的“预设置”按钮,选择对应版型“Arduino Nano w / ATmega328”和当前连接的串口序号。

按照实验电路图连接好积木模块,在Buddy++中打开“Example-05-1.ino”源码文件。

确认无误后点击菜单栏中的“烧录”按钮,程序完成编译后将自动烧录到开发板当中,操作无误后程序将开始执行。

实验电路:  
程序代码:Example-05-1.ino

int value = 0;  // 暂存按钮状态  

void setup() 
{  
	// 设置串口通讯波特率为9600  
	Serial.begin(9600);  
   
	// 设置端口模式  
	pinMode(9, INPUT_PULLUP);  
	pinMode(5, OUTPUT);  
	pinMode(A5, OUTPUT);  
}  
	  
void loop()  
{  
	// 读取D3端口电平状态  
	value = digitalRead(9);  

	// 高电平为常态,低电平为按下状态  
	// 如果轻触开关被按下,点亮LED灯  
	if(value == 0)  
	{  
		analogWrite(A5, 255);  
	}  
	else  
	{  
		analogWrite(A5, 0);  
	}  
	  
	// 延时0.1秒(每0.1秒更获取一次状态)  
	delay(100);	
} 

 

扩展实验: 当然电路的拼接方法是多样的,下面我们一起完成完成一个拓展电路,我们将通过A5端口实现信号的读取,通过D9端口控制LED灯的亮灭。
实验电路:  
扩展参考:Example-05-2.ino
#include<BD.h>  
#include<BD_LED.h>  
  
BD_LED led;  
	  
void setup()  
{  
    led.Init(D9);  
	  
    // 磁力电子积木案例添加这行
    pinMode(5, OUTPUT);
}  
	  
void loop()  
{  
    led.LightUp(1);
    
    delay(1000);  
    
    led.LightUp(0); 
    
    delay(1000);  
} 

 

图  实验电路实拍