0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何通过使用LED灯发送摩尔斯电码来设置自己的Arduino来玩Hangman

454398 来源:网络整理 作者:网络整理 2019-11-19 09:16 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

第1步:设置LED

如何通过使用LED灯发送摩尔斯电码来设置自己的Arduino来玩Hangman

莫尔斯游戏将使用4个灯来指出单词中需要猜测的4个字母和5个指示灯以指示玩家还没有去猜测的生命,因此首先,您必须按照通常的方式连接9个LED指示灯在图片里。

第2步:添加一个临时光传感器

我们不能在电子商店里乱扔钱,所以我决定保留这个项目

您需要做的就是将LED灯的正极连接到模拟端口之一(在我的情况下为A0)

第3步:添加字典

首先,让我们开始吧添加一种字典将字母翻译为相应的摩尔斯电码。为此,我们只需将数组乘以26 x 5即可,每个辅助数组的第一个插槽均具有字母,而接下来的4个插槽均具有相应的摩尔斯电码或如果没有代码则留一个空格。因此,例如对于字母s,第一个插槽为“ s”,第二,第三和第四插槽为“。”。并且最后一个插槽为‘’。

步骤4:默认情况下点亮灯

在此步骤中,我们确保一旦程序启动,指示灯便会亮起,并在用户正确猜出它们后将其代表的字母改成Morse(此代码将在步骤6中编写)。我们还请确保打开的生命灯与播放机剩余的生命灯一样多。

在此之前,请确保您有一个端口号和整数设置为0的数组,以表示该灯应打开,关闭的时间以及该LED灯当前显示在莫尔斯电灯泡的哪一部分。

第5步:添加输入

现在,我们将编写代码以检查玩家是否在游戏机上照亮了灯光。 LED灯连接到我们的模拟端口A0,如果要将其转换为正确的字母。

为确保读数正确,我们使用LED灯平均每20个读数并使用该数字以跟踪指示灯是关闭还是打开。为此,在程序开始时,将NUM_AVG设置为我们希望它在平均之前检查光的次数。此数字越高,读数越准确,但也可能导致延迟。

msBtnPushed表示打开灯的时间。

lastPressed是一个保持跟踪的布尔值

步骤6:处理输入

对于此步骤,我们将看一下是否已经经过了足够的时间以假定不再添加莫尔斯电文,并且需要检查莫尔斯电报是否以信函形式以及是否是正确的信函,该怎么办。

为此,我们需要将字符串wordToGuess设置为我们希望玩家猜测的单词。我个人有一个随机数发生器,可以在一开始将其设置为一个随机单词,但是您也可以将其设置为单个单词。

我们还需要确保计数器每增加一个循环,否则整个程序将无法执行任何操作。此外,我添加了delay函数,以确保每毫秒都有一个循环。

PS:所有Serial.println函数仅用于测试目的。它们可能在完成后被删除。

goodTimer和badTimer只是用于计划使用Piezo元素添加声音的值。

如果您愿意,还必须在第二张图片中添加代码,以播放声音。

步骤7:将正确猜出的字母拼写

按照之前的承诺,在这一步中,我们将使代表为此,我编写了两个函数:morseThis和nextLetter。

它使用我们先前在timers数组中设置的数字并根据需要进行更改莫尔斯电码的哪一部分目前正在闪耀。

如果计时器到达了应该打开灯的时间,则只需打开灯,然后运行代码以设置新的计时器来重新打开和关闭灯。

如果计时器到达应该熄灭的部分,它会关闭照明灯,然后设置代表字母下一部分的代码。如果没有下一部分,它将重置为第一部分。

步骤8:查看我们的设置并重置

当然,如果没有将灯光设置为输出和输入,则程序将不会运行。我还添加了一个随机数生成器,以从我放入名为wordsToGuess的数组中的单词列表中添加单词。

此外,我们应该添加reset函数并确保将所有值都重置为default 。

步骤9:一张图片中的所有变量

最后,您可以使用它来检查是否具有所有必需的变量设置正确。

责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led灯
    +关注

    关注

    22

    文章

    1604

    浏览量

    111174
  • 摩尔斯电码
    +关注

    关注

    0

    文章

    17

    浏览量

    10443
  • Arduino
    +关注

    关注

    190

    文章

    6515

    浏览量

    195985
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    IO设置为输出点亮LED, 没有操作时led一亮一灭是怎么回事?

    IO设置为输出点亮LED, 没有操作时 LED 一亮一灭 怎么回事
    发表于 12-05 08:14

    如何使用带有 PDMA 的 NUC1262 LLSI 控制 ARGB Gen 1 LED

    使用带有 PDMA 的 NUC1262 LLSI 控制 ARGB Gen 1 LED
    发表于 08-19 06:26

    LED珠来料检验

    珠是LED灯具最核心的原物料,直接决定了灯具的性能和可靠性。大多LED照明厂商出于投资回报比的考量,并未采购专业的微观结构检测设备,也缺乏材料学科的专业技术人员。LED
    的头像 发表于 07-24 11:30 1400次阅读
    <b class='flag-5'>LED</b><b class='flag-5'>灯</b>珠来料检验

    ET9搭载艾迈欧司朗智能多像素LED产品EVIYOS HD 25

    艾迈欧司朗今日宣布,艾迈欧司朗智能多像素LED产品EVIYOS HD 25成功应用于智能电动行政旗舰蔚ET9。凭借高分辨率、高光效、超大照射范围、像素独立可控等优势,EVIYOS
    发表于 03-26 11:22 4051次阅读
    蔚<b class='flag-5'>来</b>ET9搭载艾迈<b class='flag-5'>斯</b>欧司朗智能多像素<b class='flag-5'>LED</b>产品EVIYOS HD 25

    AD628可以通过在参考引脚上设置电压提高输出的偏置电压吗?

    AD628可以通过在参考引脚上设置电压提高输出的偏置电压吗?比如,+in和-in两路信号作差后出现负电压,但芯片是单电源供电,我可以通过设置
    发表于 03-25 06:55

    RT1170EVKB如何设置CM7和CM4内核实现它们自己的看门狗外设?

    RT1170 EVKB 评估板的看门狗驱动程序示例似乎只适用于CM7内核。 给定一个基本的双核应用程序,我应该如何设置 CM7 和 CM4 内核实现它们自己的看门狗外设?如果 CM7
    发表于 03-17 07:03

    如何通过FPGA直接控制DMD?

    想请问TI是否开放DMD的输入输出时序,想通过FPGA直接控制DMD,简化设计,dmd为dlp3010和dlp4500
    发表于 02-25 07:09

    零知开源——使用 GPIO 模拟时序驱动 WS2812B LED

    、Windows系统 零知增强版开发板 Micro-usb线 WS2812RGB WS2812B 是一款内含控制器芯片的全彩 LED 珠,每个珠可以独立显示红、绿、蓝三色。它
    发表于 02-20 14:31

    DLPC3005是通过什么响应这个曝光时间的指令的?

    你好 我想问下 我现在知道DLPC3479可以想DLPC3005发送控制曝光时间的指令 我想要知道DLPC3005是通过什么响应这个指令的(即通过什么改变曝光时间)
    发表于 02-19 07:04

    ADS7841的采样频率的设置,是不是通过设置CS高低电平的时间计算?

    您好,我想问下,ADS7841这款芯片的采样频率的设置,是不是通过设置CS高低电平的时间计算,一个CS完整的高、低电平的时间和的倒数就是实际采样频率?我们今天进行芯片选型,我看其他
    发表于 02-08 06:57

    摩尔微电子推出全新Wi-Fi HaLow芯片MM8108

    在2025年国际消费电子展(CES 2025)上,摩尔微电子宣布推出其备受瞩目的第二代Wi-Fi HaLow系统级芯片(SoC)——MM8108。作为Wi-Fi HaLow芯片领域的全球领军供应商,摩尔
    的头像 发表于 01-23 16:40 1491次阅读

    ADS1118想要发送AD命令,是不是可以通过加延时或者调整SPS实现?

    ,如果想要发送AD命令,本次得到AD值,是不是可以通过加延时或者调整SPS实现,还是说不论怎样,得到的都是上一次命令的转换值?
    发表于 01-16 07:52

    ADS1259 START conversion delay的设置只是根据自己的外部电路选择的吗?

    请问这个延迟时间的设置只是根据自己的外部电路选择的吗?有什么选择上的经验可以借鉴学习一下吗? 谢谢。
    发表于 01-16 07:33

    OpenHarmony通过挂载镜像修改镜像内容,RK3566鸿蒙开发板演示

    OpenHarmony通过挂载镜像修改镜像内容的教程,提高修改镜像内容效率!
    的头像 发表于 01-03 14:21 960次阅读
    OpenHarmony<b class='flag-5'>通过</b>挂载镜像<b class='flag-5'>来</b>修改镜像内容,RK3566鸿蒙开发板演示

    摩尔微电子任命安迪·麦克法兰为营销副总裁

    业界领袖加入摩尔微电子悉尼总部领导团队,推动营销创新与全球增长   2024 年12月16日,澳大利亚悉尼和中国北京 ——全球领先的Wi-Fi HaLow解决方案提供商摩尔微电子,
    发表于 12-17 10:34 386次阅读
     <b class='flag-5'>摩尔</b><b class='flag-5'>斯</b>微电子任命安迪·麦克法兰为营销副总裁