菜鸟 求教学!-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2910|回复: 2

[已解决] 菜鸟 求教学!

[复制链接]
发表于 2014-3-9 23:21 | 显示全部楼层 |阅读模式
完成->9顆LED排成 3 x 3正方形,使用 a s d w 來控制亮起的LED燈。程式一開始只有左下角的燈(#1)亮起。按下 d 會讓右邊的 LED (#2)亮起,原本的#1則熄滅。如下圖: 141203zo4y63xkq4343b4p.png 其它按鍵請依此類推,如果到了邊緣,請自行選擇以下兩種效果
1. 卡在邊緣(例如已經在3號位置時,再按d或s 還是會在3號)
2. 從另一邊跑出來(例如已經在3號位置時,按d 會跑到#1,按s 會跑到9號
int NUM[3][3] = {
{7,8,9},
{4,5,6},
{1,2,3}
};
int r,c=0;
int value=0;

void setup(){
  Serial.begin(9600);
for(int i=1;i<10;i++)
pinMode(i,OUTPUT);
}
void loop(){
    while(Serial.available()>0)
    {
     value=Serial.read();
     delay(2);
     switch(value)
    {
      case 'c':Serial.println("Ok");break;
      case 'w':upgo();break;
      case 's':downgo();break;
      case 'a':leftgo();break;
          case 'd':rightgo();break;
      case ' ':;break;
     }

    }
        for(int i=1;i<11;i++)
        digitalWrite(i,LOW);
        delay(10);
    digitalWrite(NUM[r][c],HIGH);
        delay(10);

}
void upgo(){
        if (r>0)
        r=r-1;
        else
        r=2;
}
void downgo(){
        if (r<2)
        r=r+1;
        else
        r=0;
}
void leftgo(){
        if (c>0)
        c=c-1;
        else
        c=2;
}
void rightgo(){
        if (c<2)
        c=c+1;
        else
        c=0;
}
代码已有,请大神帮我在http://123d.circuits.io上帮我接线接出来

发表于 2014-3-10 23:07 | 显示全部楼层
你可以直接1-9  9个引脚 接9个led
发表于 2014-3-11 12:23 | 显示全部楼层
int NUM[3][3] = {
{7,8,9},
{4,5,6},
{1,2,3}
这要改成
int NUM[3][3] = {
{8,9,10},
{5,6,7},
{2,3,4}
0,1口要用来串口通行,就按着的数字接2-10引脚接个LED,再串个电阻保护LED,然后接地(例如PIN2-LED-电阻-GND)(PIN3-LED-电阻-GND)依次类推,最后把LED数组那样排列
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-4 18:10 , Processed in 0.139701 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表