This is my main code where i did the raw IR values :
#include "CodigoGeral.h"
void setup(){
pinMode(PINREAD, INPUT);
pinMode(PINWRITE, OUTPUT);
Serial.begin(9600) ;
matrix.begin();
irrecv.enableIRIn(); // Start the receiver
irrecv.blink13(true);
//lcd_on() ;
lcd.init(); // initialize the lcd
lcd.backlight();
}
void loop(){
int value = analogRead(PINREAD);
float voltage = value*(5.0/1023.0) ;
bool currentState = value > threshold;
if (currentState != lastState) {
unsigned long now = micros();
unsigned long duration = now - startTime;
startTime = now;
//Serial.print(lastState ? "HIGH: " : "LOW: ");
//Serial.print(duration);
//Serial.println(" us");
lastState = currentState;
}
lcd.setCursor(0, 0);
lcd.print("DOCA");
lcd.setCursor(0 ,3); //Coloca o cursor do display na coluna 1 e linha 2
lcd.print("PESCA"); // Comando de saida com a mensagem que deve aparecer na coluna 2 e linha 4
lcd.backlight();
lcd.setCursor(6, 0);
if(irrecv.decode()){
lcd.print(irrecv.decodedIRData.decodedRawData, HEX);
Serial.println(irrecv.decodedIRData.decodedRawData);
irrecv.resume(); // Receber proximo valor
}
lcd.setCursor(8 ,3); //Coloca o cursor do display na coluna 1 e linha 2
lcd.print(voltage);
lcd.setCursor(13 ,3); //Coloca o cursor do display na coluna 1 e linha 2
lcd.print("v");
LedMatrixFish () ;
}
This is the Header
#include <SPI.h>
#include <RF24.h>
#include <Wire.h>
#include <IRremote.h>
#include <LiquidCrystal_I2C.h>
#include "Arduino_LED_Matrix.h"
ArduinoLEDMatrix matrix;
const int threshold = 512; // Adjust this based on your signal level
unsigned long startTime;
bool lastState = false;
#define PINREAD A0
#define PINWRITE D7
IRrecv irrecv(2);
LiquidCrystal_I2C lcd(0x27, 16, 2);
uint8_t frame[8][12] = {
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 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 Fish(void){
frame[0][7] = 1;
frame[0][8] = 1;
frame[1][4] = 1;
frame[1][5] = 1;
frame[1][6] = 1;
frame[1][8] = 1;
frame[2][3] = 1;
frame[2][8] = 1;
frame[2][11] = 1;
frame[3][2] = 1;
frame[3][5] = 1;
frame[3][9] = 1;
frame[3][10] = 1;
frame[4][2] = 1;
frame[4][9] = 1;
frame[4][10] = 1;
frame[5][3] = 1;
frame[5][4] = 1;
frame[5][7] = 1;
frame[5][8] = 1;
frame[5][11] = 1;
frame[6][4] = 1;
frame[6][6] = 1;
frame[7][5] = 1;
frame[7][6] = 1;
frame[3][10] = 1;
frame[4][10] = 1;
frame[5][11] = 1;
frame[2][11] = 1;
frame[1][11] = 0;
frame[2][10] = 0;
frame[4][11] = 0;
frame[6][11] = 0;
frame[5][10] = 0;
matrix.renderBitmap(frame, 8, 12);
}
void FishUp(void){
frame[1][11] = 1;
frame[2][10] = 1;
frame[4][11] = 1;
frame[4][10] = 0;
frame[5][11] = 0;
frame[2][11] = 0;
matrix.renderBitmap(frame, 8, 12);
}
void FishDown(void){
frame[6][11] = 1;
frame[5][10] = 1;
frame[4][10] = 1;
frame[3][10] = 0;
frame[5][11] = 0;
frame[2][11] = 0;
matrix.renderBitmap(frame, 8, 12);
}
void LedMatrixFish(void){
Fish();
delay(55) ;
FishUp() ;
delay(55) ;
Fish();
delay(55) ;
FishDown();
delay(55) ;
}