首页/作品列表/红外遥控点阵屏
红外遥控点阵屏
3500 0
主要内容
AnalogKey keyAnalog2[5] {(A2),(A2),(A2),(A2),(A2)};                                       IRsend irsend;
void setup()
{
    Serial.begin(9600);
    for (uint8_t a = 0; a < 5; a++)
    {
        keyAnalog2[a].begin(INPUT);
    }


}

void loop()
{
    if((keyAnalog2[1].readVal(700 - 50, 700 + 50,KEY_PRESSING)))
    {
        irsend.sendRC5(1,32);
        Serial.println("up");
        delay(0.2*1000);

    }
    if((keyAnalog2[2].readVal(330 - 50, 330 + 50,KEY_PRESSING)))
    {
        irsend.sendRC5(2,32);
        Serial.println("down");
        delay(0.2*1000);

    }
    if((keyAnalog2[3].readVal(512 - 50, 512 + 50,KEY_PRESSING)))
    {
        irsend.sendRC5(3,32);
        Serial.println("left");
        delay(0.2*1000);

    }
    if((keyAnalog2[4].readVal(860 - 50, 860 + 50,KEY_PRESSING)))
    {
        irsend.sendRC5(4,32);
        Serial.println("right");
        delay(0.2*1000);

    }
    if((keyAnalog2[0].readVal(0, 50,KEY_PRESSING)))
    {
        irsend.sendRC5(5,32);
        Serial.println("hello mCookie!");
        delay(0.2*1000);

    }

}
int var_x;
int var_y;
uint8_t Addr[MatrixPix_X][MatrixPix_Y] =
{
    {
        64
    }
}
;
Matrix display = Matrix(Addr, TYPE_COLOR);

uint8_t rgbArray_1_0_2[8][8][3]=
{
    {
        {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}},{{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}},{{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}},{{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}},{{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}},{{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}},{{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}},{{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}
    }

}
;

long ir_item;
IRrecv irrecv_6(6);
decode_results results_6;
uint32_t _irData = 0x00000000;
uint32_t _irDataCache = 0x00000000;
uint32_t dump(decode_results *results)
{
    int count = results->rawlen;
    if (results->decode_type == UNKNOWN)
    {
    }
    else
    {
        if (results->decode_type == NEC)
        {
        }
        _irDataCache = _irData;
        if (results->value == 0xFFFFFFFF)
        {
            _irData = _irDataCache;
        }
        else
        {
            _irData = results->value;
        }
    }
}
uint32_t _irTime = 0;
uint32_t irFluse()
{
    if (irrecv_6.decode(&results_6))
    {
        dump(&results_6);
        irrecv_6.resume();
        _irTime = millis();
    }
    if (millis() - _irTime > 200)
    {
        _irData = 0x00000000;
    }
    return _irData;
}
uint8_t rgbArray_64_0_4[8][8][3]=
{
    {
        {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}},{{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}},{{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}},{{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}},{{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}},{{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}},{{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}},{{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0}
    }

}
;


void setup()
{
    Wire.begin();

    Serial.begin(9600);

    irrecv_6.enableIRIn();
    var_x=0;
    var_y=0;
    for (int y = 0; y < 8; y++)
    {
        for (int x = 0; x <8; x++)
        {
            display.setLedColor(x, y , rgbArray_1_0_2[y][x][0], rgbArray_1_0_2[y][x][1],rgbArray_1_0_2[y][x][2]);
        }
    }

}

void loop()
{
    if(((irFluse()) == 1))
    {
        irrecv_6.enableIRIn();var_y=(var_y)-1;

    }
    if(((irFluse()) == 2))
    {
        irrecv_6.enableIRIn();var_y=(var_y)+1;

    }
    if(((irFluse()) == 3))
    {
        irrecv_6.enableIRIn();var_x=(var_x)-1;

    }
    if(((irFluse()) == 4))
    {
        irrecv_6.enableIRIn();var_x=(var_x)+1;

    }
    if(((irFluse()) == 5))
    {
        irrecv_6.enableIRIn();var_x=0;
        var_y=0;

    }
    for (int y = 0; y < 8; y++)
    {
        for (int x = 0; x <8; x++)
        {
            display.setLedColor(x, y , rgbArray_64_0_4[y][x][0], rgbArray_64_0_4[y][x][1],rgbArray_64_0_4[y][x][2]);
        }
    }
    display.setLedColor(var_x, var_y, (0xff0000)>>16, (0xff0000)>>8&0xFF, (0xff0000)&0xFF);
    delay(0.2*1000);

}

代码展示
暂无数据!
附件下载
  • 资料展示
  • 红外遥控点阵屏.zip
0
大牛,别默默的看了,快登录帮我点评一下吧!

立即注册