基于Arduino Uno的红绿灯洞洞板焊接入门实例

物品清单:

Arduino UNO开发板 x1
万能板(洞洞板) x1
排针 x4pin
杜邦线 x4pin
LED灯 x3(红黄绿各一个)
1K电阻 x3
电烙铁、松香、焊锡丝等焊接工具

PCB设计

基于Arduino Uno的红绿灯洞洞板焊接入门实例_第1张图片
PCB元件图
基于Arduino Uno的红绿灯洞洞板焊接入门实例_第2张图片
PCB原理图

设计思路

LED的正极分别接1K电阻来分压,保证单片
机输出的电压不会烧毁LED,每个LED都拥有独立的电压输入,来达到对某一个LED进行控制的效果。将LED的GND全部接到一起,成为一个引脚方便将线引到开发板上。

焊接实物图

基于Arduino Uno的红绿灯洞洞板焊接入门实例_第3张图片
正面
基于Arduino Uno的红绿灯洞洞板焊接入门实例_第4张图片
背面

接线示意图

基于Arduino Uno的红绿灯洞洞板焊接入门实例_第5张图片

Arduino程序设计

红绿灯闪灯模式

通过对红绿灯闪灯模式的观察,设计出如下的闪灯模式(因示例仅供学习使用,所以LED的开闭时长与实际中存在差异。)
红灯亮5000ms->红灯熄灭->黄灯闪烁5000ms->绿灯亮5000ms->黄灯闪烁3000ms
重复此过程即可达到红绿灯的显示效果,为了检测LED的状态,在进入正常工作模式前,所有LED点亮1500ms进行自检操作,结束后进入正常工作模式。

代码

int pinR=2;//红灯
int pinY=3;//黄灯
int pinG=4;//绿灯

void setup()
{
  pinMode(pinR,OUTPUT);//接口模式定义
  pinMode(pinY,OUTPUT);
  pinMode(pinG,OUTPUT);
}
void loop()
{
  digitalWrite(pinR,HIGH);//上电自检
  digitalWrite(pinY,HIGH);
  digitalWrite(pinG,HIGH);
  delay(1500);
  digitalWrite(pinR,LOW);//全灭准备进入正常工作模式
  digitalWrite(pinY,LOW);
  digitalWrite(pinG,LOW);
  delay(500);
  while(1){//自检完成后不再进行检查,故使用循环
  digitalWrite(pinR,HIGH);
  delay(5000);
  digitalWrite(pinR,LOW);
  digitalWrite(pinY,HIGH);
  delay(500);
  digitalWrite(pinY,LOW);
  delay(500);
    digitalWrite(pinY,HIGH);
  delay(500);
  digitalWrite(pinY,LOW);
  delay(500);
    digitalWrite(pinY,HIGH);
  delay(500);
  digitalWrite(pinY,LOW);
  delay(500);
    digitalWrite(pinY,HIGH);
  delay(500);
  digitalWrite(pinY,LOW);
  delay(500);
    digitalWrite(pinY,HIGH);
  delay(500);
  digitalWrite(pinY,LOW);
  delay(500);
  digitalWrite(pinG,HIGH);
  delay(5000);
  digitalWrite(pinG,LOW);
  digitalWrite(pinY,HIGH);
  delay(500);
  digitalWrite(pinY,LOW);
  delay(500);
  digitalWrite(pinY,HIGH);
  delay(500);
  digitalWrite(pinY,LOW);
  delay(500);
  digitalWrite(pinY,HIGH);
  delay(500);
  digitalWrite(pinY,LOW);
  delay(500);
  }
 }

将代码通过IDE烧写后,即可得到一个可以使用的红绿灯。

你可能感兴趣的:(Arduino,Arduino,单片机)