//接收代码
#include <Arduino.h>
#include <IRremote.h>
#include <Microduino_Matrix.h>
int var_x;
int var_y;
int var_old-x;
int var_old-y;
long var_command;
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_variable=0;
var_variable=0;
}
void loop()
{
var_variable=irFluse();
Serial.println(var_command);
var_old-x=var_y;
var_old-y=var_y;
if(((var_y) == 1))
{
var_y=(var_y)-1;
}
if(((var_y) == 2))
{
var_y=(var_y)+1;
}
if(((var_y) == 3))
{
var_x=(var_y)-1;
}
if(((var_y) == 4))
{
var_x=(var_y)+1;
}
if(((var_y) == 5))
{
var_x=0;
var_y=0;
}
display.setLedColor(var_old-x, var_old-x, (0x000000)>>16, (0x000000)>>8&0xFF, (0x000000)&0xFF);
display.setLedColor(var_y, var_y, (0xd92000)>>16, (0xd92000)>>8&0xFF, (0xd92000)&0xFF);
delay(0.2*1000);
}
//发射代码
#include <Arduino.h>
#include <Microduino_Key.h>
#include <IRremote.h>
AnalogKey keyAnalog0[5] {(A0),(A0),(A0),(A0),(A0)};
IRsend irsend;
void setup()
{
Serial.begin(9600);
for (uint8_t a = 0; a < 5; a++)
{
keyAnalog0[a].begin(INPUT);
}
}
void loop()
{
delay(0.2*1000);
if((keyAnalog0[1].readVal(700 - 50, 700 + 50,KEY_PRESSING)))
{
irsend.sendRC5(1,32);
Serial.println("up");
}
if((keyAnalog0[2].readVal(330 - 50, 330 + 50,KEY_PRESSING)))
{
irsend.sendRC5(2,32);
Serial.println("down");
}
if((keyAnalog0[3].readVal(512 - 50, 512 + 50,KEY_PRESSING)))
{
irsend.sendRC5(3,32);
Serial.println("left");
}
if((keyAnalog0[4].readVal(860 - 50, 860 + 50,KEY_PRESSING)))
{
irsend.sendRC5(4,32);
Serial.println("right");
}
if((keyAnalog0[0].readVal(0, 50,KEY_PRESSING)))
{
irsend.sendRC5(5,32);
Serial.println("center");
}
}
立即注册