error: no matching function for call to 'print(byte [8])'

hello everyone

I’m an amateur in arduino and I’m having a trouble in the master device for school project

the error message is error: no matching function for call to 'print(byte [8])'

I don’t know where’s the problem in the code

#include <SoftwareSerial.h>
#include <LiquidCrystal.h>
#define DataIn 36    //defining the coming data from Bluetooth slave
float X;                    //these is for printing results
int Y, Z;                   //these is for printing results
String A, B, C;         //these is for printing results
char inChar;
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
byte Blue[8]=
{
  B00110,
  B10101,
  B01101,
  B00110,
  B01101,
  B10101,
  B00110,
  B00000
};                         //this is the byte i want to print
int Buzzer(2);
int H, G, K;
byte Heart[8] = {
  B00000,
  B01010,
  B11111,
  B11111,
  B01110,
  B00100,
  B00000,
  B11111
};               //I didn't used this byte until I find the correct way to print the first byte
SoftwareSerial BTS(0,1);

void setup() {
  
  lcd.createChar(0, Blue);
  BTS.begin(38400);
  lcd.begin(20,4);//20 by 4 are the dimensions of the LCD (in number of characters)
  lcd.setCursor(0,0);
  lcd.print("Baby WatchOut Device");
  lcd.setCursor(2,4);
  lcd.print("starting...");
  delay(5000);
  lcd.clear();
}

void loop() {
  if(BTS.available()>0)
  {
    BConnect();
    BConnect();
    BConnect();
    if(Serial.available() > 0)
    {
      lcd.setCursor(0,0);
      lcd.print("Connecting...");
      delay(3000);
      lcd.setCursor(0,9);
      lcd.print(Blue);
      DataSep();
    }
  }
else 
{
   lcd.setCursor(1,1);
   lcd.print("please check the other device");
}
}...

Another problem is the printed data is gone into one panel not going through the screen

This line?

      lcd.print(Blue);

Did you mean to use "write" instead of "print"?

Another problem is the printed data is gone into one panel not going through the screen

If the code doesn't compile, it doesn't send anything anywhere.

Blue is a custom character data table, it makes no sense to try to print the data array as a string of regular characters.

Also, You must call begin() before you call createChar()

--- bill

bperrybap:
Blue is a custom character data table, it makes no sense to try to print the data array as a string of regular characters.

Also, You must call begin() before you call createChar()

--- bill

it gives me the error in begin() now

nakashima3taiki:
it gives me the error in begin() now

..and you're not going to show us the code, or the error, and we have to guess?

No thanks.

#include <SoftwareSerial.h>
#include <LiquidCrystal.h>
#define DataIn 36    //defining the coming data from Bluetooth slave
float X;                    //these is for printing results
int Y, Z;                   //these is for printing results
String A, B, C;         //these is for printing results
char inChar;
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
byte Blue[8]=
{
  B00110,
  B10101,
  B01101,
  B00110,
  B01101,
  B10101,
  B00110,
  B00000
};                         //this is the byte i want to print
int Buzzer(2);
int H, G, K;
byte Heart[8] = {
  B00000,
  B01010,
  B11111,
  B11111,
  B01110,
  B00100,
  B00000,
  B11111
};               //I didn't used this byte until I find the correct way to print the first byte
SoftwareSerial BTS(0,1);

void setup() {
  lcd.begin();
  lcd.createChar(0, Blue);
  BTS.begin(38400);
  lcd.begin(20,4);//20 by 4 are the dimensions of the LCD (in number of characters)
  lcd.setCursor(0,0);
  lcd.print("Baby WatchOut Device");
  lcd.setCursor(2,4);
  lcd.print("starting...");
  delay(5000);
  lcd.clear();
}

void loop() {
  if(BTS.available()>0)
  {
    BConnect();
    BConnect();
    BConnect();
    if(Serial.available() > 0)
    {
      lcd.setCursor(0,0);
      lcd.print("Connecting...");
      delay(3000);
      lcd.setCursor(0,9);
      lcd.print(Blue);
      DataSep();
    }
  }
else 
{
   lcd.setCursor(1,1);
   lcd.print("please check the other device");
}
}...

the error is:

error: no matching function for call to 'LiquidCrystal::begin()'

begin() should only be called once.
You are now calling it twice.
Look at the error message. Your first call to begin() is missing the required parameters.
The second call to begin() should be removed.

i just replaced the Blue in lcd.print(Blue);to:lcd.write(byte(0));

and I tried on the second byte (Heart) and it worked

the code now is

#include <SoftwareSerial.h>
#include <LiquidCrystal.h>
#define DataIn 36    //defining the coming data from Bluetooth slave
float X;                    //these is for printing results
int Y, Z;                   //these is for printing results
String A, B, C;         //these is for printing results
char inChar;
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
byte Blue[8]=
{
  B00110,
  B10101,
  B01101,
  B00110,
  B01101,
  B10101,
  B00110,
  B00000
};                         //this is the byte i want to print
int Buzzer(2);
int H, G, K;
byte Heart[8] = {
  B00000,
  B01010,
  B11111,
  B11111,
  B01110,
  B00100,
  B00000,
  B11111
};               
SoftwareSerial BTS(0,1);

void setup() {
  lcd.createChar(0, Blue);
  lcd.createChar(1, Heart);
  BTS.begin(38400);
  lcd.begin(20,4);//20 by 4 are the dimensions of the LCD (in number of characters)
  lcd.setCursor(0,0);
  lcd.print("Baby WatchOut Device");
  lcd.setCursor(2,4);
  lcd.print("starting...");
  delay(5000);
  lcd.clear();
}

void loop() {
  if(BTS.available()>0)
  {
    BConnect();
    BConnect();
    BConnect();
    if(Serial.available() > 0)
    {
      lcd.setCursor(0,0);
      lcd.print("Connecting...");
      delay(3000);
      lcd.setCursor(0,9);
      lcd.write(byte(0));
      DataSep();
    }
  }
else 
{
   lcd.setCursor(1,1);
   lcd.print("please check the other device");
}
}...

thanks everyone helped me
and i also apologize to AWOL for being idiot and not doing something necessary