Arduino教程03 做一个S.O.S求救信号灯「DFR0100 」

您所在的位置:网站首页 明日之子王涵发型 Arduino教程03 做一个S.O.S求救信号灯「DFR0100 」

Arduino教程03 做一个S.O.S求救信号灯「DFR0100 」

2023-09-18 02:50| 来源: 网络整理| 查看: 265

该教程实验平台:Arduino入门套件

简单回顾下Lesson 2的内容:

如何使用面包板 电阻的作用 LED相关知识 项目二 S.O.S求救信号器

本项目将继续使用项目1的搭建的电路,但我们这里将改变一下代码,就能让我们的LED变为S.O.S求救信号了。这是国际莫尔斯码求救信号。莫尔斯码是一种字符编码,英文的每个字母,都是由横杠和点不同的组合而成。这样的好处是,使用简单的两种状态,就能来传递所有的字母和数字,非常的简便!不得不佩服前人的聪明吧!

我们正好可以通过LED开关两种状态来拼出一个个字母。通过长闪烁和短闪烁来表示点和横杠。我们这个项目中,我们就拼写S.O.S这三个字母。

通过查阅莫尔斯码表,我们可以知道,字母“S”用三个点表示,我们这里用短闪烁替代,字母“O”则用三个横杠表示,用长闪烁替代。

有了前一个项目的基础,不难理解下面样例代码2-1。但先不要急着输入这段代码,只是看一下。

样例代码2-1:

( 注意:我们这里使用的是数字引脚10,而不是13。)

int ledPin = 10; void setup() { pinMode(ledPin, OUTPUT); } void loop() { // 三个快闪烁来表示字母“S” digitalWrite(ledPin,HIGH); delay(150); digitalWrite(ledPin,LOW); delay(100); digitalWrite(ledPin,HIGH); delay(150); digitalWrite(ledPin,LOW); delay(100); digitalWrite(ledPin,HIGH); delay(150); digitalWrite(ledPin,LOW); delay(100); delay(100);           //100毫秒延时产生字母之间的间隙       //三个短闪烁来表示字母“O” digitalWrite(ledPin,HIGH); delay(400); digitalWrite(ledPin,LOW); delay(100); digitalWrite(ledPin,HIGH); delay(400); digitalWrite(ledPin,LOW); delay(100); digitalWrite(ledPin,HIGH); delay(400); digitalWrite(ledPin,LOW); delay(100); delay(100);         //100毫秒延时产生字母之间的间隙 //再用三个快闪烁来表示字母“S” digitalWrite(ledPin,HIGH); delay(150); digitalWrite(ledPin,LOW); delay(100); digitalWrite(ledPin,HIGH); delay(150); digitalWrite(ledPin,LOW); delay(100); digitalWrite(ledPin,HIGH); delay(150); digitalWrite(ledPin,LOW); delay(100); delay(5000);        // 在重复S.0.S信号前等待5秒 STEP 2:输入代码

上面的写法固然正确,可是是不是觉得有点繁琐呢?如果有个100个,难不成还重复100遍吗?有没有更好的书写程序的方法呢?想必发明编程的人也考虑到这个问题了,所以有了我们更好的一种写法。我们先来看一下样例代码2-2。

样例代码2-2: //项目二 -- S.O.S信号 int ledPin = 10; void setup() { pinMode(ledPin, OUTPUT); } void loop() { // 三个快闪烁来表示字母“S” for(int x=0;x


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3