Arduino:入门案例之莫尔斯码表 SOS

莫尔斯码是国际上通用的信号代码,常用谍战通信。

抗日片中常看到日本鬼子用莫尔斯码发电报,嘀嘀嘀的。


莫尔斯码就是利用滴和嗒的各种组合表示数字和英文字母的。

书写上:

'滴 ' 用  ' . '表示,

'嗒' 用  ' - '表示,

使用上遵守一定的时间规范。

一个滴占用1t的时间,t单位大概是100ms~300ms

一个嗒占用3t的时间.

滴和嗒的间隔是1t,他们组成完整的字符,间隔使用3t。

单词与单词之间使用7t

 

例如:

Arduino:入门案例之莫尔斯码表 SOS_第1张图片

读起来:滴滴滴 嗒嗒嗒 滴滴滴

 

这里就可以根据这个原理使用Arduino实现简单的SOS信号。【有蜂鸣器最好了】

Arduino:入门案例之莫尔斯码表 SOS_第2张图片

Arduino:入门案例之莫尔斯码表 SOS_第3张图片

源码:

/* 
 * 莫尔斯码表 SOS
 */
 const int LED = 13;
 int t = 150;
void setup(){
  pinMode(LED,OUTPUT);
}

void loop(){
  //3次嘀
  for(int i=0;i<3;i++){
    //这里的小灯闪烁一次代表莫尔斯码的一个嘀
    digitalWrite(LED,HIGH);
    delay(t);
    digitalWrite(LED,LOW);
    delay(t);
  }
  delay(t*2);
  //3次嗒
  for(int i=0;i<3;i++){
    //这里的小灯闪烁一次代表莫尔斯码的一个嘀
    digitalWrite(LED,HIGH);
    delay(t*3);
    digitalWrite(LED,LOW);
    delay(t);
  }
  delay(t*2); 
  //3次嘀
  for(int i=0;i<3;i++){
    //这里的小灯闪烁一次代表莫尔斯码的一个嘀
    digitalWrite(LED,HIGH);
    delay(t);
    digitalWrite(LED,LOW);
    delay(t);
  }
  delay(3000);
}

最好使用有源蜂鸣器,红线接输出引脚13号引脚,黑线接地[板子上表示GND的引脚]

你可能感兴趣的:(物联网)