学会做arduino交通灯

arduino单片机浅显入门之让灯亮起来

请先百度“面包板”和arduino单片机了解面包板的电路和单片机的引脚组成

  • 目的:让多个灯灯受控制地亮,具备交通灯控制能力
    学会做arduino交通灯_第1张图片

这是一个最简单的控灯电路,GND为零线,相当于负极,1~9为不同的可控火线,相当于正极,可以通过程序控制其电平

自制电路

做电路图是个非常棘手的事情,本次试验内容电路非常简单。请将GND接到面包板的负极,再于负极和单片机之间并联三个LED灯,分别接到10·11·12三个引脚。负极与正极可以用电阻相连。这只是我的建议,电路非常简单,您完全可以自己随便接一个。

写代码

arduino代码主要包括三个内容:
1.定义初始变量,引用宏文件等等。
2.写step代码,step中的代码只在单片机运行的初次跑一次,一般是起初始化的作用。
3.写loop代码。loop代码就是单片机运行过程中将不断循环的代码,是单片机运行的主要内容。

基本代码格式

arduino 基本语法:
定义变量
int Red = 10; 和C语言相同。
调用函数
pinMode(Red, OUTPUT);和C语言相同

所以arduino语言基础就是C语言,很简单的辣!

代码

本次试验代码很容易看懂,您可以按自己的想法随意改动以追求您想要的各种效果:

//项目一 -- Arduino 交通灯
int Red = 10; //设置红灯为10引脚
int Yellow = 11; //设置黄灯为11引脚
int Green = 12; //设置绿灯为12引脚

void setup() 
{    //将引脚设置为输出模式
     pinMode(Red, OUTPUT);
     pinMode(Yellow, OUTPUT);
     pinMode(Green, OUTPUT);
}
void loop() 
{
     digitalWrite(Red, LOW); //红灯灭
     digitalWrite(Green, HIGH); //绿灯亮
     delay(5000); //灯亮5秒,延迟是非常重要和运用最频繁的函数
     digitalWrite(Green, LOW); //绿灯灭
     digitalWrite(Yellow, HIGH); //黄灯亮        
     delay(1000);
     digitalWrite(Yellow, LOW); //黄灯灭
     digitalWrite(Red, HIGH); //红灯亮
     delay(5000);
}

请开始你的表演吧!

渐变输出

在标有~的引脚,可以输出模拟信号,从而可以通过改变输出功率的大小来改变灯的亮度需要用到以下函数:analogWrite(引脚编号,功率大小);

示例代码

示例1:
analogWrite(10,255);
//将10号引脚设置为满功率
示例2:
analogWrite(11,128);
//将11号引脚设置为半功率

  • 如果有兴趣,可以自己动手实现!

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