Software Serial Problem on arduino

Hey Im working on collision avoidance for quadcopter using sharp IR sensor. just kinda confuse why bluetooth cannot be use at the same time when im using the pin change interrupt ? i just wanna see how far the quadcopter from the object when flying. Any solution will be helpful for me.

this the error

libraries/SoftwareSerial/SoftwareSerial.cpp.o (symbol from plugin): In function `SoftwareSerial::read()':

(.text+0x0): multiple definition of `__vector_3'

sketch/sketch_jul24b.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here

collect2: error: ld returned 1 exit status

Multiple libraries were found for "SoftwareSerial.h"

Used: /Applications/Arduino.app/Contents/Java/hardware/arduino/avr/libraries/SoftwareSerial

Not used: /Users/thrqbsyrh/Documents/Arduino/libraries/SoftwareSerial-master

exit status 1

Error compiling for board Arduino Uno.

Here's my code

#include<Servo.h>
#include <SharpIR.h>
#include <SoftwareSerial.h>
#define IRPin A0 //dist kiri
#define IR2 A1 //dist2 kanan
#define IR3 A4 //dist3 depan
#define IR4 A5 //dist4 belakang
#define model 20150 
SoftwareSerial Blue(0, 1);//RX, TX
float outmaju,outmundur,outkanan, outkiri;
byte lastch1, lastch2;
unsigned long t2, t1;
int rc2, rc1; // d10, d9
//#define rc2 8 //dist4 belakang
//#define rc1 9 //dist4 belakang
Servo outch1; //d11 roll
Servo outch2;//d12 pitch
float dist ; //kiri
float dist2 ; //kanan
float cm ; // belakang
float dist4; // depan
SharpIR mySensor = SharpIR(IRPin, model);
SharpIR mySensor2 = SharpIR(IR2, model);
SharpIR mySensor3 = SharpIR(IR3, model);
SharpIR mySensor4 = SharpIR(IR4, model);

float dekat,lumayan,jauh;//dpn
float blkngdkt,blknglumayan,blkngjauh;//belakang
float dekatkiri,lumayankiri,jauhkiri;//kiri
float dekatkanan,lumayankanan,jauhkanan;//kanan

float rule1dpn, rule2adpn, rule2bdpn, rule3dpn;
float rule1blg, rule2ablg, rule2bblg, rule3blg;
float rule1kri, rule2akri, rule2bkri, rule3kri;
float rule1knn, rule2aknn, rule2bknn, rule3knn;

float Lambatmaju,Sedangmaju,Cepatmaju;
float Lambatmundur,Sedangmundur,Cepatmundur;
float Lambatkiri,Sedangkiri,Cepatkiri;
float Lambatkanan,Sedangkanan,Cepatkanan;

float hasilfuzzy;

///Fuzzy jarak Depan.................................................
unsigned char CmDekatdpn(){
  if (dist4 <= 25){dekat =1;}
  else if (dist4 >=25 && dist4 <=55){dekat=(55-dist4)/30;}
  else if (dist4 >= 55){dekat =0;}
  return dekat;
}
unsigned char CmLumayandpn(){
  if (dist4 <= 25){lumayan =0;}
  else if (dist4 >=25 && dist4 <=55){lumayan=(dist4-25)/30;}
  else if (dist4 >=55 && dist4 <=85){lumayan=(85-dist4)/30;}
  else if (dist4 >= 85){lumayan =0;}
  return lumayan;
}
unsigned char CmJauhdpn(){
  if (dist4 <=55 ){jauh =0;}
  else if (dist4 >=55 && dist4 <=85){jauh=(dist4-55)/30;}
  else if (dist4 >= 85){jauh =1;}
  return jauh;
}

//Fuzzy jarak Belakang..............................................
unsigned char CmDekatblkng(){
  if (cm <= 25){blkngdkt =1;}
  else if (cm >=25 && cm <=55){blkngdkt=(55-cm)/30;}
  else if (cm >= 55){blkngdkt =0;}
  return blkngdkt;
}
unsigned char CmLumayanblkng(){
  if (cm <= 25){blknglumayan =0;}
  else if (cm >=25 && cm <=55){blknglumayan=(cm-25)/30;}
  else if (cm >=55 && cm <=85){blknglumayan=(85-cm)/30;}
  else if (cm >= 85){blknglumayan =0;}
  return blknglumayan;
}
unsigned char CmJauhblkng(){
  if (cm <=55 ){blkngjauh =0;}
  else if (cm >=55 && cm <=85){blkngjauh=(cm-55)/30;}
  else if (cm >= 85){blkngjauh =1;}
  return blkngjauh;
}

///Fuzzy jarak kanan.................................................
unsigned char CmDekatkanan(){
  if (dist2 <= 25){dekatkanan =1;}
  else if (dist2 >=25 && dist2 <=55){dekatkanan=(55-dist2)/30;}
  else if (dist2 >= 55){dekatkanan =0;}
  return dekatkanan;
}
unsigned char CmLumayankanan(){
  if (dist2 <= 25){lumayankanan =0;}
  else if (dist2 >=25 && dist2 <=55){lumayankanan=(dist2-25)/30;}
  else if (dist2 >=55 && dist2 <=85){lumayankanan=(85-dist2)/30;}
  else if (dist2 >= 85){lumayankanan =0;}
  return lumayankanan;
}
unsigned char CmJauhkanan(){
  if (dist2 <=55 ){jauhkanan =0;}
  else if (dist2 >=55 && dist2 <=85){jauhkanan=(dist2-55)/30;}
  else if (dist2 >= 85){jauhkanan =1;}
  return jauhkanan;
}

///Fuzzy jarak kiri.................................................
unsigned char CmDekatkiri(){
  if (dist <= 25){dekatkiri =1;}
  else if (dist >=25 && dist <=55){dekatkiri=(55-dist)/30;}
  else if (dist >= 55){dekatkiri =0;}
  return dekatkiri;
}
unsigned char CmLumayankiri(){
  if (dist <= 25){lumayankiri =0;}
  else if (dist >=25 && dist <=55){lumayankiri=(dist-25)/30;}
  else if (dist >=55 && dist <=85){lumayankiri=(85-dist)/30;}
  else if (dist >= 85){lumayankiri =0;}
  return lumayankiri;
}
unsigned char CmJauhkiri(){
  if (dist <=55 ){jauhkiri =0;}
  else if (dist >=55 && dist <=85){jauhkiri=(dist-55)/30;}
  else if (dist >= 85){jauhkiri =1;}
  return jauhkiri;
}


//Fuzzyfikasi
void fuzzifikasi(){
  CmDekatblkng();
  CmLumayanblkng();
  CmJauhblkng();

  CmDekatdpn();
  CmLumayandpn();
  CmJauhdpn();

  CmDekatkanan();
  CmLumayankanan();
  CmJauhkanan();
  
  CmDekatkiri();
  CmLumayankiri();
  CmJauhkiri();
}


//output nilai 1500+
void fuzzy_rule(){
  fuzzifikasi();
// jika jarak jauh maka motor pelan
rule1blg = 1750 - (jauh*250);
// jika jarak luamyan maka motor sedang
rule2ablg = 1500 + (lumayan*250);
rule2bblg = 2000 - (lumayan*250);
// jika jarak dekat maka motor cepat
rule3blg = 1750 + (dekat*250);
  outmaju = ((rule1blg*jauh) + (rule2ablg*lumayan) + (rule2bblg*lumayan) + (rule3blg*dekat)) / (jauh+lumayan+lumayan+dekat);

//output nilai 1500-
// jika jar ak jauh maka motor pelan
rule1dpn = 1250 + (blkngjauh*250);
// jika jarak luamyan maka motor sedang
rule2adpn = 1000 - (blknglumayan*250);
rule2bdpn = 1500 + (blknglumayan*250);
// jika jarak dekat maka motor cepat
rule3dpn = 1250 - (blkngdkt*250);
  outmundur = ((rule1dpn*blkngjauh) + (rule2adpn*blknglumayan) + (rule2bdpn*blknglumayan) + (rule3dpn*blkngdkt)) / (blkngjauh+blknglumayan+blknglumayan+blkngdkt);

// jika jarak jauh maka motor pelan
rule1kri = 1750 - (jauhkiri*250);
// jika jarak luamyan maka motor sedang
rule2akri = 1500 + (lumayankiri*250);
rule2bkri = 2000 - (lumayankiri*250);
// jika jarak dekat maka motor cepat
rule3kri = 1750 + (dekatkiri*250);
  outkanan = ((rule1kri*jauhkiri) + (rule2akri*lumayankiri) + (rule2bkri*lumayankiri) + (rule3kri*dekatkiri)) / (jauhkiri+lumayankiri+lumayankiri+dekatkiri);

// jika jarak jauh maka motor pelan
rule1knn = 1250 + (jauhkanan*250);
// jika jarak luamyan maka motor sedang
rule2aknn = 1000 - (lumayankanan*250);
rule2bknn = 1500 + (lumayankanan*250);
// jika jarak dekat maka motor cepat
rule3knn = 1250 - (dekatkanan*250);
  outkiri = ((rule1knn*jauhkanan) + (rule2aknn*lumayankanan) + (rule2bknn*lumayankanan) + (rule3knn*dekatkanan)) / (jauhkanan+lumayankanan+lumayankanan+dekatkanan);
}

//Fuzzy cepat maju..................................................
unsigned char pwmLambatMaju(){
  if (outmaju <= 1500){Lambatmaju =1;}
  else if (outmaju >=1500 && outmaju <=1750){Lambatmaju=(1750-outmaju)/250;}
  else if (outmaju >= 1750){Lambatmaju =0;}
  return Lambatmaju;
}
unsigned char pwmSedangMaju(){
  if (outmaju <= 1500){Sedangmaju =0;}
  else if (outmaju >=1500 && outmaju <=1750){Sedangmaju=(outmaju-1500)/250;}
  else if (outmaju >=1750 && outmaju <=2000){Sedangmaju=(2000-outmaju)/250;}
  else if (outmaju >= 2000){Sedangmaju =0;}
  return Sedangmaju;
}
unsigned char pwmCepatMaju (){
  if (outmaju <= 1500){Cepatmaju =0;}
  else if (outmaju >=1750 && outmaju <=2000){Cepatmaju=(outmaju-1750)/250;}
  else if (outmaju >= 2000){Cepatmaju =1;}
  return Cepatmaju;
}

//Fuzzy cepat mundur..................................................
unsigned char pwmCepatMundur(){
  if (outmundur <= 1000){Cepatmundur =1;}
  else if (outmundur >=1000 && outmundur <=1250){Cepatmundur=(1250-outmundur)/250;}
  else if (outmundur >= 1250){Cepatmundur =0;}
  return Cepatmundur;
}
unsigned char pwmSedangMundur(){
  if (outmundur <= 1000){Sedangmundur =0;}
  else if (outmundur >=1000 && outmundur <=1250){Sedangmundur=(outmundur-1000)/250;}
  else if (outmundur >=1250 && outmundur <=1500){Sedangmundur=(1500-outmundur)/250;}
  else if (outmundur >= 1500){Sedangmundur =0;}
  return Sedangmundur;
}
unsigned char pwmLambatMundur (){
  if (outmundur <= 1000){Lambatmundur =0;}
  else if (outmundur >=1250 && outmundur <=1500){Lambatmundur=(outmundur-1250)/250;}
  else if (outmundur >= 1500){Lambatmundur =1;}
  return Lambatmundur;
}

//Fuzzy cepat kanan..................................................
unsigned char pwmLambatKanan(){
  if (outkanan <= 1500){Lambatkanan =1;}
  else if (outkanan >=1500 && outkanan <=1750){Lambatkiri=(1750-outkanan)/250;}
  else if (outkanan >= 1750){Lambatkanan =0;}
  return Lambatkanan;
}
unsigned char pwmSedangKanan(){
  if (outkanan <= 1500){Sedangkanan =0;}
  else if (outkanan >=1500 && outkanan <=1750){Sedangkanan=(outkanan-1500)/250;}
  else if (outkanan >=1750 && outkanan <=2000){Sedangkanan=(2000-outkanan)/250;}
  else if (outkanan >= 2000){Sedangkanan =0;}
  return Sedangkanan;
}
unsigned char pwmCepatKanan (){
  if (outkanan <= 1500){Cepatkanan =0;}
  else if (outkanan >=1750 && outkanan <=2000){Cepatkanan=(outkanan-1750)/250;}
  else if (outkanan >= 2000){Cepatkanan =1;}
  return Cepatkanan;
}

//Fuzzy cepat kiri.................................................
unsigned char pwmCepatKiri(){
  if (outkiri <= 1000){Cepatkiri =1;}
  else if (outkiri >=1000 && outkiri <=1250){Cepatkiri=(1250-outkiri)/250;}
  else if (outkiri >= 1250){Cepatkiri =0;}
  return Cepatkiri;
}
unsigned char pwmSedangKiri(){
  if (outkiri <= 1000){Sedangkiri =0;}
  else if (outkiri >=1000 && outkiri <=1250){Sedangkiri=(outkiri-1000)/250;}
  else if (outkiri >=1250 && outkiri <=1500){Sedangkiri=(1500-outkiri)/250;}
  else if (outkiri >= 1500){Sedangkiri =0;}
  return Sedangkiri;
}
unsigned char pwmLambatKiri (){
  if (outkiri <= 1000){Lambatkiri =0;}
  else if (outkiri >=1250 && outkiri <=1500){Lambatkiri=(outkiri-1250)/250;}
  else if (outkiri >= 1500){Lambatkiri =1;}
  return Lambatkiri;
}

void fuzzifikasipwm(){
  fuzzy_rule();
  
  pwmLambatMaju();
  pwmSedangMaju();
  pwmCepatMaju();

  pwmCepatMundur();
  pwmSedangMundur();
  pwmLambatMundur();

  pwmLambatKiri();
  pwmSedangKiri();
  pwmCepatKiri();

  pwmLambatKanan();
  pwmSedangKanan();
  pwmCepatKanan();
}

void setup(){
 PCICR |= (1 << PCIE0);                                                   
PCMSK0 |= (1 << PCINT0);  
PCMSK0 |= (1 << PCINT1);                                              
PCMSK0 |= (1 << PCINT2);
  outch2.attach(11); // roll
  outch1.attach(6); //pitch
Serial.begin(9600);
Blue.begin(38400);
}

void loop(){
fuzzifikasipwm();
//send normal signal.......................................................
//send signal rc1
  outch1.write(rc1);
//send signal rc2
  outch2.write(rc2);
  
 //sensor
  dist = mySensor.distance();
  dist2 = mySensor2.distance();
  cm = mySensor3.distance();
  dist4 = mySensor4.distance();

if (dist<86){
    outch1.write(outkanan);
    Serial.print("\n .........................Kiri..........................................\n");
  Serial.print("dekat: ");
  Serial.print(dekatkiri);
  Serial.print("  ");
  Serial.print("lumayan : ");
  Serial.print(lumayankiri);
  Serial.print("  ");
  Serial.print("jauh : ");
  Serial.println(jauhkiri);
  Serial.print("lambat : ");
  Serial.print(Lambatkiri);
  Serial.print("\t");
  Serial.print("sedang : ");
  Serial.print(Sedangkiri);
  Serial.print("\t");
  Serial.print("cepat : ");
  Serial.println(Cepatkiri);
  Serial.print("Hasil DeFuzzy(move kanan): ");
  Serial.println(outkanan);
  Serial.print("jarak kiri ");
  Serial.print(dist);
  Serial.print("\n");
  delay(200);
}
  else {} //kiri

if (dist2<86){
    outch1.write(outkiri);
    Serial.print("\n .........................kanan..........................................\n");
  Serial.print("dekat: ");
  Serial.print(dekatkanan);
  Serial.print("  ");
  Serial.print("lumayan : ");
  Serial.print(lumayankanan);
  Serial.print("  ");
  Serial.print("jauh : ");
  Serial.println(jauhkanan);
  Serial.print("lambat : ");
  Serial.print(Lambatkanan);
  Serial.print("\t");
  Serial.print("sedang : ");
  Serial.print(Sedangkanan);
  Serial.print("\t");
  Serial.print("cepat : ");
  Serial.println(Cepatkanan);
  Serial.print("Hasil DeFuzzy(move kiri): ");
  Serial.println(outkiri);
  Serial.print("jarak kanan ");
  Serial.print(dist2);
  Serial.print("\n");
  delay(200);}
  else {} //kanan

if (dist4<86){
    outch2.write(outmaju);
        Serial.print("\n .........................depan..........................................\n");
  Serial.print("dekat: ");
  Serial.print(dekat);
  Serial.print("  ");
  Serial.print("lumayan : ");
  Serial.print(lumayan);
  Serial.print("  ");
  Serial.print("jauh : ");
  Serial.println(jauh);
  Serial.print("lambat : ");
  Serial.print(Lambatmaju);
  Serial.print("\t");
  Serial.print("sedang : ");
  Serial.print(Sedangmaju);
  Serial.print("\t");
  Serial.print("cepat : ");
  Serial.println(Cepatmaju);
  Serial.print("Hasil DeFuzzy(move mundur): ");
  Serial.println(outmaju);
  Serial.print("jarak depan ");
  Serial.print(dist4);
  Serial.print("\n");
  delay(200);}
  else {} //

 if (cm<86){
    outch2.write(outmundur);
    Serial.print("...........................belakang..........................................\n");
  Serial.print("dekat: ");
  Serial.print(blkngdkt);
  Serial.print("  ");
  Serial.print("lumayan : ");
  Serial.print(blknglumayan);
  Serial.print("  ");
  Serial.print("jauh : ");
  Serial.println(blkngjauh);
  Serial.print("lambat : ");
  Serial.print(Lambatmundur);
  Serial.print("\t");
  Serial.print("sedang : ");
  Serial.print(Sedangmundur);
  Serial.print("\t");
  Serial.print("cepat : ");
  Serial.println(Cepatmundur);
  Serial.print("Hasil DeFuzzy(move maju): ");
  Serial.println(outmundur);
  Serial.print("jarak blkng ");
  Serial.print(cm);
  Serial.print("  ");
  Serial.print("\n");
  delay(200);}
  else {} //dpn
   
/*Serial.print("\n .........................depan..........................................\n");
  Serial.print("dekat: ");
  Serial.print(dekat);
  Serial.print("  ");
  Serial.print("lumayan : ");
  Serial.print(lumayan);
  Serial.print("  ");
  Serial.print("jauh : ");
  Serial.println(jauh);
  Serial.print("lambat : ");
  Serial.print(Lambatmaju);
  Serial.print("\t");
  Serial.print("sedang : ");
  Serial.print(Sedangmaju);
  Serial.print("\t");
  Serial.print("cepat : ");
  Serial.println(Cepatmaju);
  Serial.print("Hasil DeFuzzy(move mundur): ");
  Serial.println(outmundur);
  Serial.print("jarak depan ");
  Serial.print(dist4);
  Serial.print("\n");
  
Serial.print("...........................belakang..........................................\n");
  Serial.print("dekat: ");
  Serial.print(blkngdkt);
  Serial.print("  ");
  Serial.print("lumayan : ");
  Serial.print(blknglumayan);
  Serial.print("  ");
  Serial.print("jauh : ");
  Serial.println(blkngjauh);
  Serial.print("lambat : ");
  Serial.print(Lambatmundur);
  Serial.print("\t");
  Serial.print("sedang : ");
  Serial.print(Sedangmundur);
  Serial.print("\t");
  Serial.print("cepat : ");
  Serial.println(Cepatmundur);
  Serial.print("Hasil DeFuzzy(move mundur): ");
  Serial.println(outmaju);
  Serial.print("jarak blkng ");
  Serial.print(cm);
  Serial.print("  ");
  Serial.print("\n");

Serial.print("\n .........................Kiri..........................................\n");
  Serial.print("dekat: ");
  Serial.print(dekatkiri);
  Serial.print("  ");
  Serial.print("lumayan : ");
  Serial.print(lumayankiri);
  Serial.print("  ");
  Serial.print("jauh : ");
  Serial.println(jauhkiri);
  Serial.print("lambat : ");
  Serial.print(Lambatkiri);
  Serial.print("\t");
  Serial.print("sedang : ");
  Serial.print(Sedangkiri);
  Serial.print("\t");
  Serial.print("cepat : ");
  Serial.println(Cepatkiri);
  Serial.print("Hasil DeFuzzy(move kanan): ");
  Serial.println(outkanan);
  Serial.print("jarak kiri ");
  Serial.print(dist);
  Serial.print("\n");

Serial.print("\n .........................kanan..........................................\n");
  Serial.print("dekat: ");
  Serial.print(dekatkanan);
  Serial.print("  ");
  Serial.print("lumayan : ");
  Serial.print(lumayankanan);
  Serial.print("  ");
  Serial.print("jauh : ");
  Serial.println(jauhkanan);
  Serial.print("lambat : ");
  Serial.print(Lambatkanan);
  Serial.print("\t");
  Serial.print("sedang : ");
  Serial.print(Sedangkanan);
  Serial.print("\t");
  Serial.print("cepat : ");
  Serial.println(Cepatkanan);
  Serial.print("Hasil DeFuzzy(move kiri): ");
  Serial.println(outkiri);
  Serial.print("jarak kanan ");
  Serial.print(dist2);
  Serial.print("\n"); */
}

//  delay(2000);
  

/*/ Collision Avoidance jarak <50cm..................................
/// Collision Avoidance jarak <86cm..................................
/// ..............................PITCH..............................
// obs depan..........................................................
if(cm<86){outch2.write(outmundur);}//gerak mundur

// obs depan dan kanan............................................
else if (cm<86 && dist2<86){
  outch2.write(outmundur);outch1.write(outkiri);} //gerak mundur dan kiri
  
// obs depan dan kiri.............................................
else if (cm<86 && dist<86){
  outch2.write(outmundur);outch1.write(outkanan);} // gerak mundur dan kanan

// obs depan dan belakang.........................................
else if (cm<86 && dist4<86){
  outch1.write(outkanan);} // gerak kanan
  
// no obs.............................................................
else {outch2.write(pitch);}


// obs belakang......................................................
if (dist4<86) {outch2.write(outmaju);}//gerak maju

// obs belakang dan kanan.............................................
else if (dist4<86 && dist2<86){
  outch2.write(outmaju);outch1.write(outkiri);} //gerak maju dan kiri

//obs belakang dan kiri...............................................
else if (dist4<86 && dist<86){
  outch2.write(outmaju);outch1.write(outkanan);} // gerak maju dan kanan

// no obstacle.......................................................
else {outch2.write(pitch);}


//.................................ROLL..............................
// kiri.............................................................
if (dist2<85){outch1.write(outkiri);}//gerak kiri

// obs kanan dan kiri...............................................
if (dist2<85 && dist<85){outch2.write(outmaju);} //gerak maju

// no obstacle......................................................
else {outch1.write(roll);}


// kanan.............................................................
if (dist<85){outch1.write(outkanan);}// gerak kanan

// no obstacle......................................................
else {outch1.write(roll);} */



/*// For Roll...................
if (dist2<85){outch1.write(outkiri);}//gerak kiri
else {outch1.write(roll);}

if (dist<85){outch1.write(outkanan);}// gerak kanan
else {outch1.write(roll);} */

//Reads the PWM value of Receiver...................................
ISR(PCINT0_vect){ 
  //ch1
  if(lastch1 == 0 && PINB & B0000010){
    lastch1 = 1;
    t1 = micros();
  }
  else if(lastch1 == 1 && ! (PINB & B0000010)){
    lastch1 = 0;
    rc1 = micros() - t1;
  }
  //ch2
  if(lastch2 == 0 && PINB & B00000100){
    lastch2 = 1;
    t2 = micros();
  }
  else if(lastch2 == 1 && ! (PINB & B00000100)){
    lastch2 = 0;
    rc2 = micros() - t2;
  /*ch2
  if(lastch2 == 0 && PINB & B00000010){
    lastch2 = 1;
    t2 = micros();
  }
  else if(lastch1 == 1 && ! (PINB & B00000010)){
    lastch2 = 0;
    rc2 = micros() - t2;
  }*/
}
}

Why do you want to use softwareSerial ?
You are declaring the swSerial pins the same as the hwSerial pins.

SoftwareSerial Blue(0, 1);//RX, TX
Serial.begin(9600);
Blue.begin(38400);

That makes no sense.
swSerial uses interrupts to read the RX pin. There may always be compatibility issues.

Therefor this is your own project and not about getting the IDE working, so it is outside the scope of the section you posted in.

I have moved your post here which is a better place.

The SoftwareSerial library takes over all of the Pin Change Interrupt vectors. Your sketch uses PCINT0_vect so you can't use pins 0 through 7 for Software Serial.

You will need to modify your copy of SoftwareSerial.cpp to change this part from:

#if defined(PCINT0_vect)
ISR(PCINT0_vect)
{
  SoftwareSerial::handle_interrupt();
}
#endif

#if defined(PCINT1_vect)
ISR(PCINT1_vect, ISR_ALIASOF(PCINT0_vect));
#endif

#if defined(PCINT2_vect)
ISR(PCINT2_vect, ISR_ALIASOF(PCINT0_vect));
#endif

#if defined(PCINT3_vect)
ISR(PCINT3_vect, ISR_ALIASOF(PCINT0_vect));
#endif

to:

#if defined(PCINT1_vect)
ISR(PCINT1_vect)
{
SoftwareSerial::handle_interrupt();
}
#endif

#if defined(PCINT2_vect)
ISR(PCINT2_vect, ISR_ALIASOF(PCINT1_vect));
#endif

#if defined(PCINT3_vect)
ISR(PCINT3_vect, ISR_ALIASOF(PCINT1_vect));
#endif

This will keep your SoftwareSerial from using PCINT0_vect and interfering with your sketch.

It may not cause a compile error but running software serial on the hardware serial pins 0,1 is fatal, communicating with software serial at 38400 is risky, and I wonder if you need software serial at all.

You don't say which Arduino, which Bluetooth, or if the latter has been reconfigured to run at 38400 - or needs to be.

if i modify to that, can PCINT0_vect working along with the Bluetooth ?

thank you !

If you modify SoftwareSerial to not use PCINT0_vect and you move your SoftwareSerial pins to 8-13 or A0-A5 then your sketch will be able to use both PCINT0 for reading radio signals and SoftwareSerial for communication.

I can't tell if there are other problems that will need to be solved before your sketch works.