步骤1:硬件
1。尤克里里琴:我建议您从亚马逊或当地音乐商店购买价值30-50美元的乐器。我们将钻进指板和顶板。如果你还没有一套,我也会建议一组字符串。这里还有来自Ukeguides.com的图表,向您展示夏威夷四弦琴的各个部分。熟悉仪器会很有帮助。
2。 3mm LED x11:我们将在这个项目中使用总共12个LED-6在指板和5在头部。使用你想要的任何颜色。事实上,如果您想在尤克里里琴上使用更多LED,请随意添加Arduino板支持的数量。对于本教程,指板上必须有6个LED,但更多信息由您决定。
3。 Arduino板:我使用了真正的Arduino Uno板和Sparkfun等效板。任何一个都可以工作。具有更多引脚的更大的电路板将支持更多的LED。
4。电线和基本焊接套件:如果是您第一次焊接,我建议您在开始之前使用本指南。
5。热胶和电工胶带
步骤2:代码
//定义LED引脚
int allPins[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
int posPins[] = {8, 9, 10, 11, 12, 13};
int ledPins[] = {2, 3, 4, 5, 6};
int ledNum = 6;int led_C = 8;
int led_G1 = 9;
int led_G2 = 10;
int led_G3 = 11;
int led_Am = 12;
int led_F2 = 13;
//定义全局变量
int timer = 5000;
//定义引脚模式
void setup() {
for (int i; i 《 13; i++) {
pinMode(allPins[i], OUTPUT);
}
}
//游戏状态0:初始序列
//使用for循环将命令发送到LED链
for (int i; i 《 5; i++) {
digitalWrite(ledPins[i], HIGH);
delay(150);
}
for (int i; i 《 6; i++) {
digitalWrite(posPins[i], HIGH);
}
delay(2000);
//游戏状态1:“C”和弦
//从关闭所有LED引脚开始亮起只有代表“C”和弦的LED
for (int i; i 《 5; i++) {digitalWrite(ledPins[i], LOW);
delay(150);
}
for (int i; i 《 6; i++) {
digitalWrite(posPins[i], LOW);
}
delay(2000);
digitalWrite(led_C, HIGH);
delay(timer);
digitalWrite(led_C, LOW);
for (int i; i 《 5; i++) {
digitalWrite(ledPins[i], HIGH);
delay(150);
}
//游戏状态2:“G”和弦
for (int i; i 《 5; i++) {
digitalWrite(ledPins[i], LOW);
}
digitalWrite(led_G1, HIGH);
digitalWrite(led_G2, HIGH);
digitalWrite(led_G3, HIGH);
delay(timer);
digitalWrite(led_G1, LOW);
digitalWrite(led_G2, LOW);
digitalWrite(led_G3, LOW);
for (int i; i 《 5; i++) {
digitalWrite(ledPins[i], HIGH);
delay(150);
}
//游戏状态3:“ Am“Chord
for (int i; i 《 5; i++) {
digitalWrite(ledPins[i], LOW);
}
digitalWrite(led_Am, HIGH);
delay(timer);
digitalWrite(led_Am, LOW);
for (int i; i 《 5; i++) {digitalWrite(ledPins[i], HIGH); delay(150); }
//游戏状态4:”F“和弦
for (int i; i 《 5; i++) {
digitalWrite(ledPins[i], LOW);
}
digitalWrite(led_Am, HIGH);
digitalWrite(led_F2, HIGH);
delay(timer);
digitalWrite(led_Am, LOW);
digitalWrite(led_F2, LOW);
for (int i; i 《 5; i++) {
digitalWrite(ledPins[i], HIGH);
delay(150);
}
for (int i; i 《 5; i++) {
digitalWrite(ledPins[i], HIGH);
}
delay(150);
//游戏状态5:Ening序列
for (int i; i 《 5; i++) {
digitalWrite(ledPins[i], LOW);
}
delay(150);
for (int i; i 《 5; i++) {
digitalWrite(ledPins[i], HIGH);
}
delay(150);
for (int i; i 《 5; i++) {
digitalWrite(ledPins[i], LOW);
}
for (int i; i 《 5; i++) {
digitalWrite(ledPins[i], HIGH);
delay(150);
}
for (int i; i 《 5; i++) {
digitalWrite(ledPins[i], HIGH);
}
delay(150);
for (int i; i 《 5; i++) {
digitalWrite(ledPins[i], LOW);
}
delay(150);
for (int i; i 《 5; i++) {
digitalWrite(ledPins[i], HIGH);
}
delay(150);
for (int i; i 《 5; i++) {
digitalWrite(ledPins[i], LOW);
}
delay(1000);
}
第3步:连接指南
连接这个项目非常简单。确保遵循挂钩图。我建议在下一步之前连接电路并测试代码。我们将深入研究仪器并开始组装所有组件。
步骤4:组装
第一部分:解开那个尤克里里琴。按照上图,在指板和头部钻4mm孔。我建议从仪器的背面钻孔。
定制:我发现3mm LED最适合,但我相信其他尺寸的LED也可以正常工作。随意尝试 - 我很想知道你的变化是如何产生的。 :)
第二部分:将LED安装到夏威夷四弦琴的相应孔中。一旦LED就位,将引脚分开作为固定器将它们固定到位。
第三部分:将Arduino板连接到夏威夷四弦琴的背面。我结束时使用了一些热胶点来连接我的电路板。
第四部分:根据连接指南的焊线。再次,如果您是第一次焊接,请先查看本指南!
第5步:完成!
最后,串起你的夏威夷四弦琴,给你的Arduino加电并开始游戏。
你会惊讶地发现你现在可以和这四首和弦一起演奏多少首歌。我希望这个教练有用,鼓励你玩,修补更多。如果您有任何疑问,请随时给我发表评论。否则,快乐玩,希望很快收到你的来信! :)
步骤6:可选:阴影扫描升级
您知道LED不仅会发光光还可以感觉到光吗?启发这个奇怪的小现象,我想升级LED尤克里里琴,这样它不仅可以显示你的手指放在哪里,还可以跟踪你是否将手指放在正确的位置。
HARDWARE
如果您对此版本感兴趣,则需要一些额外的组件:
1。更多LED:您需要至少6个LED作为光传感器。指板上的每个LED都会配备LED传感器。
2。 I/O端口扩展器:根据您使用的Arduino板,您可能需要端口扩展器。我正在使用Arduino Uno板和Sparkfun SX1509端口扩展器。
CODE
我已经为代码引入了一些元素以使其工作。我将在这里细分基础知识,但随时可以下载master_tweak.ino文件进行完整分解:
1。数组:创建一个特殊数组来存储来自每个传感器LED的输入数据。每10毫秒调用一个小函数来读取输入数据,并且几乎连续更新数组。
2。游戏状态:虽然原始版本有不同的游戏阶段,但在这里我们明确地编写了不同的游戏状态,每个状态都有一个胜利条件让游戏继续前进。
3。 LED光感应:代码的整个部分专用于读取LED光传感器的输入数据。我发现本教程对理解机制和连接电路特别有帮助。
HOOKUP GUIDE
我强烈建议您通过Shadow Swipe教程来了解如何连接LED光感应电路。而不是像教程一样连接3个LED,这个版本将让你连接6(参见图片#1)。最后的连接,如果你也使用端口扩展器应该看起来像图片#2。
组装
组装这个升级是非常简单的。在指板的每个LED旁边钻一个额外的孔,然后插入LED光传感器。焊接所有东西,你应该准备好了!
这个升级需要一点时间来弄清楚,特别是连接电路和焊接所有附加元件到位,但LED尤克里里琴也将是转变为互动游戏。让我知道它是怎么回事!祝你好运!
责任编辑:wv
-
led
+关注
关注
240文章
23052浏览量
656957
发布评论请先 登录
相关推荐
评论