自然科普Arduino

Arduino+Proteus 仿真摩尔斯码求救信号灯

2021-06-24  本文已影响0人  电家小二

Arduino+Proteus 模拟摩尔斯码求救信号

       摩尔斯电码也被称作摩斯密码,是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。它发明于1837年,是一种早期的数字化通信形式。不同于现代化的数字通讯,摩尔斯电码只使用零和一两种状态的二进制代码,它的代码包括五种:短促的点信号“・”,读“滴”(Di)保持一定时间的长信号“—”,读“嗒”(Da)表示点和划之间的停顿、每个词之间中等的停顿,以及句子之间长的停顿。

求救信号SOS

      1909年8月,美国轮船“阿拉普豪伊”号由于尾轴破裂,无法航行,就向邻近海岸和过往船只拍发了“SOS”信号。这是第一次使用这个信号

       1912年,著名的泰坦尼克号游轮首航遇险时,发送的是CQD(英国马可尼无线电公司决定用CQD作为船舶遇难信号),但因D(—··)易于其他字母混淆,周围船只并未意识到是求救信号,没有快速救援,在快沉没时才使用的新求救信号SOS(···———···)发报。泰坦尼克号沉没后,SOS才被广泛接受和使用。事实上,虽然SOS信号在1906年即已制订,但英国的无线电操作员很少使用SOS信号,他们更喜欢老式的CQD遇难信号。泰坦尼克号的无线电首席官员约翰·乔治·菲利普一直在发送CQD遇难信号,直到下级无线电操作员哈罗德·布莱德建议他:“发送SOS吧,这是新的调用信号,这也可能是你最后的机会来发送它了!”然后菲利普在传统的CQD求救信号中夹杂SOS信号。求救信号直到第二天早上才被加州人号收到,因为她并没有24小时都监听无线电

       根据摩尔斯码的定义采用Arduino+Proteus将国际求救信号SOS用LED灯光表示出来。在proteus里创建一个新的工程,注意新的工程选择From Development Board 选择Arduno328,点击Finish就会出现一个含Arduino的Proteus项目模板。

这个项目需要的器件很少,只需要一个LED和一个限流电阻就可以,和呼吸灯的硬件电路完全一样。

选择IO10作为LED的控制端口。限流电阻的阻值计算过程如下:

电源电压为5V,LED的压降为2V,LED所承受的最大电流为35mA,则需要的限流电阻为:

取限流电阻为100Ω。

硬件电路非常简单,下面看如何通过程序来是SOS求救信号的。

S的摩尔斯码是 三个点 •••• 可以用短时亮来表示三个点S

O的摩尔斯码是 三个划- - - 可以用长时亮来表示三个点O

用不同的延时来实现点和划

程序如下

这个for循环输出三个点即字母S

      //S ...

      for(int x = 0; x<3 ; x++) // threedits

      {

          digitalWrite(ledPin,HIGH); //sets theLED on

        delay(150);      // waits for150ms

        digitalWrite(ledPin,LOW); //sets the LED off

        delay(100);   //waits  for 100ms

      }

这个for循环输出三个划即字母O

  for(int x= 0;x<3;x++)  //rthree dahs

      {

         digitalWrite(ledPin,HIGH); //sets theLED on

        delay(400); //waits for 400ms

        digitalWrite(ledPin,LOW); //sets the LED off

        delay(100); // waits for 100ms

      }

通过LED不同时间的亮灭来实现点和划的区分,采用三个for循环来实现SOS信号,最后间隔5秒重新闪烁一次。点击运行就可以看到LED在不同的闪烁SOS信号了。 

上一篇 下一篇

猜你喜欢

热点阅读