首页/作品列表/mCookie红外遥控点阵屏
mCookie红外遥控点阵屏
3360 0
主要内容
#include <Arduino.h>
#include <IRremote.h>

#include <Microduino_Matrix.h>
int var_x;

int var_y;

int var_oldx;

int var_oldy;

long var_variable;

long ir_item;
IRrecv irrecv_2(2);
decode_results results_2;
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_2.decode(&results_2))
    {
        dump(&results_2);
        irrecv_2.resume();
        _irTime = millis();
    }
    if (millis() - _irTime > 200)
    {
        _irData = 0x00000000;
    }
    return _irData;
}
uint8_t Addr[MatrixPix_X][MatrixPix_Y] =
{
    {
        64
    }
}
;
Matrix display = Matrix(Addr, TYPE_COLOR);


void setup()
{
    Serial.begin(9600);
    Serial.begin(9600);

    irrecv_2.enableIRIn();
    Wire.begin();

    var_x=0;
    var_y=0;

}

void loop()
{
    var_variable=irFluse();
    Serial.println(var_variable);
    var_oldx=var_x;
    var_oldy=var_y;
    if(((var_variable) == 1))
    {
        var_y=(var_y)-1;

    }
    if(((var_variable) == 2))
    {
        var_y=(var_y)+1;

    }
    if(((var_variable) == 3))
    {
        var_x=(var_x)-1;

    }
    if(((var_variable) == 4))
    {
        var_x=(var_x)+1;

    }
    if(((var_variable) == 5))
    {
        var_x=0;
        var_y=0;

    }
    display.setLedColor(var_oldx, var_oldy, (0x000000)>>16, (0x000000)>>8&0xFF, (0x000000)&0xFF);
    display.setLedColor(var_x, var_y, (0xff0000)>>16, (0xff0000)>>8&0xFF, (0xff0000)&0xFF);
    delay(0.2*1000);

}

#include <Arduino.h>
#include <IRremote.h>

#include <Microduino_Matrix.h>
int var_x;

int var_y;

int var_oldx;

int var_oldy;

long var_variable;

long ir_item;
IRrecv irrecv_2(2);
decode_results results_2;
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_2.decode(&results_2))
    {
        dump(&results_2);
        irrecv_2.resume();
        _irTime = millis();
    }
    if (millis() - _irTime > 200)
    {
        _irData = 0x00000000;
    }
    return _irData;
}
uint8_t Addr[MatrixPix_X][MatrixPix_Y] =
{
    {
        64
    }
}
;
Matrix display = Matrix(Addr, TYPE_COLOR);


void setup()
{
    Serial.begin(9600);
    Serial.begin(9600);

    irrecv_2.enableIRIn();
    Wire.begin();

    var_x=0;
    var_y=0;

}

void loop()
{
    var_variable=irFluse();
    Serial.println(var_variable);
    var_oldx=var_x;
    var_oldy=var_y;
    if(((var_variable) == 1))
    {
        var_y=(var_y)-1;

    }
    if(((var_variable) == 2))
    {
        var_y=(var_y)+1;

    }
    if(((var_variable) == 3))
    {
        var_x=(var_x)-1;

    }
    if(((var_variable) == 4))
    {
        var_x=(var_x)+1;

    }
    if(((var_variable) == 5))
    {
        var_x=0;
        var_y=0;

    }
    display.setLedColor(var_oldx, var_oldy, (0x000000)>>16, (0x000000)>>8&0xFF, (0x000000)&0xFF);
    display.setLedColor(var_x, var_y, (0xff0000)>>16, (0xff0000)>>8&0xFF, (0xff0000)&0xFF);
    delay(0.2*1000);

}

代码展示

1. 红外发射,红外接收

编程语言: C/C++(Arduino)

软件工具:mDesigner 3


附件下载
暂无数据!
0
大牛,别默默的看了,快登录帮我点评一下吧!

立即注册