Hello everybody. I have some problem with my code.
When I try to compile it, it says: "exit status 1 'IRLbegin' was not declared in this scope".
I am using a new Arduino UNO R3. The connection of the IR DATA reciever is in pin 3.
I want to change the sequence by pressing some buttoms from a remote control device.
Maybe the problem is about the library, I am using IRLremote version 2.0.2.
The Arduino version is 1.8.12.
(WINDOWS 10 Home)
Thank you so much.
Here is the code:
#include<IRLremote.h>
/*
1 = 0x0141 2 = 0x0942 3 = 0x0143 4 = 0x0944 5 = 0x0145 6 = 0x0946
7 = 0x0147 8 = 0x0948 9 = 0x0149 0 = 0x0940
*/
int LEDs[8]={13,2,12,4,5,6,7,8};
int RGB[3]={11,10,9};
int IR = 3;
int i;
int mode = 0;
uint8_t oldSREG;
volatile uint8_t protocolo=0;
volatile uint32_t tecla;
void IREvent (uint8_t protocol, uint16_t address, uint32_t comand){
protocolo=protocol;
tecla=comand;
}
// SNAKE MODE
void Snake(){
for( int k=0; k<8; k++){
for(int j=0; j<8;j++){
if(j<=k) digitalWrite(LEDs[j],1);
else digitalWrite(LEDs[j],0);
}
delay(250);
}
}
//SNAKE INVERSE MODE
void SnakeInverse(){
digitalWrite(LEDs[7],1);
delay(250);
digitalWrite(LEDs[6],1);
delay(250);
digitalWrite(LEDs[5],1);
delay(250);
digitalWrite(LEDs[4],1);
delay(250);
digitalWrite(LEDs[3],1);
delay(250);
digitalWrite(LEDs[2],1);
delay(250);
digitalWrite(LEDs[1],1);
delay(250);
digitalWrite(LEDs[0],1);
delay(250);
}
// Turn on function
void TurnOn(){
for (int j=0; j<8; j++){
digitalWrite(LEDs[j],1);
}
}
// Turn Off function
void TurnOff(){
for (int j=0; j<8; j++){
digitalWrite(LEDs[j],0);
}
}
void OneByOne(){
for( int k=0; k<8; k++){
for(int j=0; j<8;j++){
if(j==k) digitalWrite(LEDs[j],1);
else digitalWrite(LEDs[j],0);
}
delay(250);
}
}
void blueLEDsOn(){
for (i=0;i<2;i++){
digitalWrite(LEDs[i],1);
}
for (i=7;i>5;i--){
digitalWrite(LEDs[i],1);
}
}
void blueLEDsOff(){
for (i=0;i<2;i++){
digitalWrite(LEDs[i],0);
}
for (i=7;i>5;i--){
digitalWrite(LEDs[i],0);
}
}
void redLEDsOn(){
for (i=3;i<5;i++){
digitalWrite(LEDs[i],1);
}
}
void redLEDsOff(){
for (i=3;i<5;i++){
digitalWrite(LEDs[i],0);
}
}
void yellowLEDsOn(){
digitalWrite(LEDs[2],1);
digitalWrite(LEDs[5],1);
}
void yellowLEDsOff(){
digitalWrite(LEDs[2],0);
digitalWrite(LEDs[5],0);
}
void setup(){
//LEDs
for(i=0;i<8;i++){
pinMode(LEDs[i],OUTPUT);
}
//RGB
for(i=0;i<3;i++){
pinMode(RGB[i],OUTPUT);
}
pinMode(IR,INPUT);
IRLbegin <IR_ALL> (digitalPinToInterrupt(IR))
}
void loop(){
oldSREG=SREG;
cli();
if(protocolo){
switch(tecla){
case 0x0141: //mode 1
mode=1;
break;
case 0x0942: //mode 2
mode=2;
break;
case 0x0143: //mode 3
mode=3;
break;
case 0x0944: //mode 4
mode=4;
break;
case 0x0940: //mode 0
mode=0;
break;
default:
;
break;
}
protocolo=0;
SREG=oldSREG;
}
if(mode==0) putOFF();
else if (mode == 1) {
TurnOff();
delay(250);
TurnOn();
delay(250);
}
else if (mode == 2) {
OneByOne();
}
else if (mode ==3){
TurnOff();
Snake();
TurnOff();
SnakeInverse();
}
else if (mode == 4){
blueLEDsOn();
delay(250);
blueLEDsOff();
redLEDsOn();
delay(300);
redLEDsOff();
yellowLEDsOn();
delay(250);
yellowLEDsOff()
delay(300);
TurnOn()
delay(400);
TurnOff();
delay(250);
}
}