当前位置:首页Arduino > 正文

Arduino Uno零基础入门学习笔记SOS摩斯密码LED+蜂鸣器

作者:野牛程序员:2023-12-28 16:26:17Arduino阅读 3216

首先,需要了解Arduino Uno的基本结构和引脚分布。Arduino Uno有14个数字引脚和6个模拟引脚。将使用其中的数字引脚来连接LED和蜂鸣器。

LED连接:将LED的正极连接到数字引脚,负极连接到地(GND)。

蜂鸣器连接:将蜂鸣器的正极连接到数字引脚,负极连接到地(GND)。

接下来,编写Arduino代码,实现SOS摩斯密码的功能。在摩斯密码中,SOS被编码为"... --- ..."

// 定义LED和蜂鸣器的引脚
const int ledPin = 2;       // LED连接到数字引脚2
const int buzzerPin = 3;    // 蜂鸣器连接到数字引脚3

void setup() {
  pinMode(ledPin, OUTPUT);      // 将LED引脚设置为输出模式
  pinMode(buzzerPin, OUTPUT);   // 将蜂鸣器引脚设置为输出模式
}

void loop() {
  // 发送SOS信号
  morseCodeSOS();

  // 等待一段时间后重复
  delay(2000);
}

void morseCodeSOS() {
  // 发送S
  dot(); dot(); dot();
  delay(1000);  // 信号之间的短暂暂停

  // 发送O
  dash(); dash(); dash();
  delay(1000);

  // 发送S
  dot(); dot(); dot();
  delay(1000);
}

void dot() {
  digitalWrite(ledPin, HIGH);   // 打开LED
  tone(buzzerPin, 1000);        // 发出蜂鸣器声音
  delay(300);                   // 点的持续时间
  digitalWrite(ledPin, LOW);    // 关闭LED
  noTone(buzzerPin);            // 停止蜂鸣器声音
  delay(300);                   // 信号之间的短暂暂停
}

void dash() {
  digitalWrite(ledPin, HIGH);   // 打开LED
  tone(buzzerPin, 1000);        // 发出蜂鸣器声音
  delay(1000);                  // 划线的持续时间
  digitalWrite(ledPin, LOW);    // 关闭LED
  noTone(buzzerPin);            // 停止蜂鸣器声音
  delay(300);                   // 信号之间的短暂暂停
}

在这个示例中,定义了dot(点)和dash(划线)函数来发送摩斯密码中的点和划线信号。通过组合这些信号,实现了SOS的摩斯密码。LED和蜂鸣器同时工作,LED会在发送信号的时候闪烁,而蜂鸣器会发出相应的声音。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击