I looked at your blocks and Clock.
It looks like you are trying to continually adjust the background image of one of your Arrangements to simulate a glowing arc of varying length on a round speedometer, with a dozen different images for different speeds.
Most people use a Canvas and draw their own arcs for this.
But you are stuck at the data transmission and reception part, which needs to be fixed first.
Your .ino transmits data only if it has incoming data:
void loop(void){
if (Serial.available())
char veri = Serial.read();
while (Serial1.available())
char veri = Serial1.read();
Serial1.print(HIZ);
Serial1.println("|");
//Serial1.print(heading);
//Serial1.print("|");
//Serial1.print(lat);
//Serial1.print("|");
//Serial1.println(lng);
//Serial1.print("|");
//Serial1.print(hours);
//Serial1.print(":");
//Serial1.print(minutes);
//Serial1.println("|");
//----------------------------------------------------------
Read_GPS();
//----------------------------------------------------------
gosterge_cubugu_konumu = map(HIZ,0,200,0,90); //SET NEEDLE
// show needle and dial
xx = gosterge_cubugu_konumu;
if (xx<45)
{xx=xx+135;}
else
{xx=xx-45;}
//----------------------------------------------------------
//Display Data on Oled
{
u8g.firstPage();
do {
gauge(xx);
}
while( u8g.nextPage() );
}
//----------------------------------------------------------
}
This part is wrong, since you don't send requests from AI2 back to Serial1, so you will never send HIZ to Ai2.
There are plenty of BlueTooth .ino examples on this board by other Power Users (@Juan_Antonio, @Chris_Ward, etc.)
also see
FAQ Section: BlueTooth Starter Guides
I leave it to others to set your .ino right, sending text data periodically.
Brfore you play with your input data, display it in a Label.Text, just to make sure data is incoming.
Here is the general code structure for how to test an input number (after you remove that '|' garbage)...
(HIZ has the incoming number)
Init a global list of all your image speed numbers, ascending numerically:
init global speeds = CSV TO LIST('0,10,22,32,40,50,60,70,80,90,100,110,120,130,140,150,160,170,173')
(those are the numeric parts of your speed image files, in ascending order.)
Loop over the speeds list, to find the highest speed less than HIZ:
for each speed in speeds
if HIZ >= speed then
set image file name to JOIN('main_img_speed', speed, '.png')
end for each
You will end up with the last image file name matching HIZ.