Simon Says 带 LCD 显示屏





准备工作:
材料:











这是此项目所需所有材料的清单。此外,还会提供购买链接。
- Arduino UNO
- 16x2 LCD显示屏
- 1个红色LED
- 1个蓝色LED
- 1 个绿色 LED
- 1 个黄色 LED
- 按钮(需要 6 个)
- 8欧姆扬声器
- 330 欧姆电阻(需要 4 个)
- USB 2.0 线缆 A 型公头转 B 型公头
- 面包板
- 公对母电线(需要 4 根)
- 大量跳线
总费用: 73.72 美元
*提示--->如果您不知道材料是什么样子,图像将按照提供给您列表的顺序排列。
主意和研究

当我在为计算机工程的期末评估作业寻找项目时,老师给了我们班一些项目创作的想法。其中一个想法是创作“西蒙说”。“西蒙说”是我小时候非常珍爱的游戏。在幼儿园的时候,我和同学们玩这个游戏玩得很开心。我体会到了玩这个游戏的乐趣,于是决定做这个项目。不过,我想给项目添加一些额外的内容,所以我用了一个液晶显示屏来显示分数,并在用户输掉一局时通知他们。
如果您是初学者,创建这个项目可能会有点困难,因为您需要具备电路搭建的基本知识,但不用担心。您仍然可以完成这个项目。我观看了一些视频,它们确实启发了我,让我了解了项目的具体目标以及应该如何进行。这里有一个很棒的视频,它让我真正理解了这个项目。
开始构建





首先,取一根跳线并将其连接到 Arduino Uno 的接地引脚。用跳线的另一根导线将其连接到面包板的接地轨。完成此步骤后,取一根跳线并将其连接到面包板的两个接地轨。这样,面包板上的两个接地轨都将接地。
--->参考图像和 Tinkercad 草图,了解如何将电线连接到接地轨。
连接LED和按钮





目的
下一步是连接LED及其按钮。连接这些组件对于这个项目至关重要,因为我们需要某种方式让用户能够匹配呈现给他们的颜色组合。当程序随机点亮一个LED时,用户点击特定按钮即可输出与程序输出完全相同的颜色。
建造
我们先来连接红色 LED。首先,取一根跳线连接到数字引脚2。将跳线的另一根引线连接到面包板上的任意一行,最好是在最右边,这样电路会整洁得多。利用连接到面包板的跳线引线,接一个 330 欧姆电阻,并将其一根引线连接到与跳线相同的行。利用电阻的另一根引线,将红色 LED 的阳极(长脚)连接到该电阻引线的同一行。现在,将 LED 的阴极(短脚)与一个按钮串联。我们这样做是因为我们希望按钮能够控制 LED。在按钮的另一侧,取一根跳线,将其连接到接地轨和固定按钮引线的行。现在,按钮的四根引线中的两根已连接到某种电源。使用连接 LED 的导线左侧的跳线,将其连接到数字引脚8。现在,您已连接好第一个 LED。其他 LED 和按钮也请按照相同的方法连接。以下列出了 LED 和按钮应连接的数字引脚。
绿色LED ---> 3
按钮 2 ---> 9
黄色LED ---> 4
按钮 3 ---> 10
蓝色LED ----> 5
按钮 4 ---> 11
*提示——> 依次连接每个 LED 和按钮。不要一次性全部连接,因为这样会加大连接难度。
--->参考图像和 Tinkercad 草图,了解如何连接 LED 和按钮。
连接LCD显示屏

理论
LCD(液晶显示屏)屏幕是一种电子显示模块,能够向用户显示一系列字符。本项目所需的 16x2 LCD 显示屏每行可显示 16 个字符,共两行。该 LCD 显示屏有两个寄存器,分别为命令寄存器和数据寄存器。命令寄存器存储发送给 LCD 的命令指令。命令是发送给 LCD 的指令,用于执行预定义的任务,例如初始化 LCD、清除屏幕、设置光标位置、控制显示等。数据寄存器存储要在 LCD 上显示的数据。
目的
LCD 显示屏将显示项目的介绍部分、玩家的分数、指示玩家何时失败的消息以及询问他们是否想在开始时玩的消息。
建造
在 LCD 显示屏的背面,你会看到四根引线。分别是 GND、VCC、SDA 和 SCL。对于 VCC,使用公对母线将 VCC 引脚连接到 Arduino 上的 5V 引脚。这将为 VCC 引线提供 5V 电压。对于 GND 引线,使用公对母线将其连接到地线轨。对于 SDA 和 SCL 引线,使用公对母线将其连接到模拟引脚。我将 SCL 引脚连接到模拟引脚 A5,将 SDA 引脚连接到模拟引脚 A4。
连接扬声器




理论
扬声器将电能(输入)转换为声音(输出),那么 8 欧姆代表什么呢?它代表扬声器的阻抗。扬声器阻抗,通常称为扬声器电阻,是指扬声器对施加在其上的电流和电压产生的阻力。扬声器阻抗不是一个固定值,因为它会根据输入信号的频率而变化。因此,你会得到一个叫做标称阻抗的值。这个值基本上是扬声器在任何给定频率下对施加的电负载的阻力下降的最低值。
目的
扬声器的目的是让游戏更有趣、更引人入胜。游戏开始时,当你表示想要玩游戏后,会播放一系列声音,提醒你游戏已经开始。当你完成一轮游戏时,以及当你输掉一轮游戏时,都会播放声音。
建造
查看扬声器背面,您会注意到两根电线连接到一些焊料上。一根电线将连接到电源(标有 + 号),另一根电线将连接到地线(标有 - 号)。将连接到电源的电线连接到数字引脚12。将扬声器的地线连接到接地导轨。
--->参考图像和 Tinkercad 草图,了解如何连接扬声器。
连接剩余的两个按钮




目的
游戏开始时,LCD 显示屏上会出现一条消息,询问用户是否想玩游戏。屏幕上会显示按钮,供用户选择是否要玩游戏。点击其中一个按钮即可开始游戏。点击另一个按钮时,屏幕上会显示一条消息,内容为“回头见”。
建造
在面包板上放置一个按钮,最好放在最左侧,这样可以使面包板看起来更整洁。取一根跳线,将其连接到数字引脚13。将跳线的另一根引线连接到与按钮相同的行。取另一根跳线并将其连接到接地轨。将跳线的另一根引线连接到按钮所在位置的另一排。对另一个按钮执行相同操作。另一个按钮使用数字引脚0 。
--->参考图像和 Tinkercad 草图,了解如何连接这些按钮。
编码时间!

终于到了编写游戏代码的时候了。我们将把刚才连接的所有东西组合成一个程序,这样游戏才能真正运行起来。在开始之前,你需要下载一些库才能让代码运行。点击可下载文件即可下载库。
要将这些库注册到 Arduino 编程程序中,请点击主菜单中的“Sketch”。完成后,您会看到一个“包含库”选项卡。点击该选项卡。之后,您将看到“添加 .ZIP 库”。点击该选项卡,然后点击您下载的 zip 文件夹。完成所有这些操作后,Arduino 编程程序将包含您刚刚获得的库。
在编写程序的过程中,我遇到了很多困难,尤其是在编写代码的时候。困难甚至一度让我想要放弃。程序中大量的循环和函数很容易让编写者感到困惑。我的老师和朋友告诉我不要放弃,因为我已经为这个项目付出了全部的努力。所以我没有放弃。不久之后,我开始真正理解代码,因为我花时间去理解程序的真正含义。在玩游戏之前,请检查代码,并确保你理解了代码的含义。这将对你大有裨益,因为理解代码后,你将能够轻松地在游戏中添加新物品。
文件见附件。
完成!

终于完成了。太棒了!现在你终于可以玩游戏了。
额外功能和最终想法

即使完成了,你仍然可以用它做很多事情。例如,你可以把这个项目放在一个盒子里,让它更具吸引力。或者,你可以添加一个 RGB LED 灯,让用户知道他们何时完成了一轮游戏或输了。这个项目还有很多你可以做的事情。我所做的只是为你的伟大创意奠定了基础。
最后,我很高兴我选择用这个项目作为我的最终评估。我很享受制作这个项目以及和朋友们一起玩的时光。我曾经因为《Simon Says》而失去的快乐,在许久之后又回来了。我希望你们也能从玩这个项目和制作这个项目中获得同样的快乐。请与你的亲朋好友分享这个项目,感谢你们阅读我的教程。











