LED 闪烁实验(2)–S.O.S摩斯密码

这次我们利用之前小灯闪烁的项目中的电路连接,来制作摩斯密码的求救信号。因为之前的实验用到过电路需要的硬件,所以大家可以跳过硬件部分,直接开始程序部分。

我们需要的实验器材除了每个实验都必须的Arduino 控制器和USB 下载线以外的

其它器件如下:

红色M5 直插LED*1:led

100Ω直插电阻*1:电阻

面包板*1:面包板

杜邦线若干:杜邦线

下一步我们按照下面的小灯实验原理图链接实物图,这里我们使用数字10 接口。使用发光二极管LED 时,LED灯珠长脚一端是正极,一定要连接数字10接口。要连接限流电阻,这里为100Ω电阻,否则电流过大会烧毁发光二极管。

小灯实验原理图

1

实物图

2

是国际摩斯密码求救信号。摩斯密码是一种字符编码,它使用开关模式传递字母和数字。它非常适合数字系统,因为你可以通过开关LED来拼出一个词或一系列的字母。在本例中S.O.S模式是三个点(短闪烁),紧接着三个横杠(长闪烁),然后再接三个点。

为了使LED闪烁以这个模式发出S.O.S信号,使用的代码如下

//LED 连接到数字引脚10
int ledPin = 10;

//当程序开始时只运行一次
void setup()
{
//设置数字引脚模式为输出
pinMode(ledPin, OUTPUT);
}

//一遍一遍地运行以下代码
void loop()
{
//3个点
for (int x=0; x<3; x++) {
digitalWrite(ledPin, HIGH);   //设置LED为开
delay(150);                    //延时150毫秒
digitalWrite(ledPin, LOW);  //设置LED为关
delay(100);                  //延时100毫秒
}

//100毫秒延时产生字母之间的间隔
delay(100);
//3个横杠
for (int x=0; x<3; x++) {
digitalWrite(ledPin, HIGH);    //设置LED为开
delay(400);                    //延时400毫秒
digitalWrite(ledPin, LOW);     //设置 LED为关
delay(100);                  //延时100毫秒
}

//100毫秒延时产生字母之间的间隔
delay(100);

//又是3个点
for (int x=0; x<3; x++) {
digitalWrite(ledPin, HIGH);    //设置LED为开
delay(150);                    //延时150毫秒
digitalWrite(ledPin, LOW);     //设置 LED为关
delay(100);                  //延时100毫秒
}

//在重复S.O.S信号前等待5秒
delay(5000);
}

创建一个新的架构,并且输入清单2-2中的程序,确认代码中没有错误,把代码上传到Arduino,如果一切顺利,你将看到LED闪烁出摩斯密码S.O.S信号,等待5秒,它会重复闪烁。

如果给Arduino装备一个电池,用Arduino控制一个非常亮的灯,并把它们全部装在一个防水的手提盒子里,就可用它发出S.O.S信号。这种信号装置可用在船上或在登山时使用。

0 Comments
Leave a Reply