Arduino to Arduino serial communication, gives different results

I am working for a project, where from a Arduino, I want to send some joined values as 'char', the another Arduino will receive through serial communication with the help of [TX-RX] pin, then it will split the value, and use a specific value of them as a delay of an led's on & off.

Problem is: sender Arduino is sending the data, and receiver Arduino is receiving successfully for couple of terms. Then suddenly the receiver Arduino starts showing random values, which are not getting send by the sender Arduino. I am not understanding why this is happening. Currently I am trying this on 'tinkercad'.

code i used on the sender Arduino:

char* mystr = "3000:1000:2:80:3:180";

void setup() {
  // Begin the Serial at 9600 Baud
  Serial.begin(9600);
}

void loop() {
  Serial.write(mystr); //Write the serial data
  delay(1000);
}

code i used on the receiver Arduino:

int id1, id2, id3;
int pos1, pos2, pos3;
int led = 2;
char mystr[20]; //Initialized variable to store recieved data

void setup() {
  Serial.begin(9600);
  pinMode(led, OUTPUT);
}

void loop() {
  Serial.readBytes(mystr,20); //Read the serial data and store in var
  Serial.println(mystr); //Print data on Serial Monitor
  int n = sscanf(mystr, "%d:%d:%d:%d:%d:%d", &id1, &pos1, &id2, &pos2, &id3, &pos3);
  Serial.print(F("n="));
  Serial.println(n);
  Serial.print(F("id1="));
  Serial.print(id1);
  Serial.print(F(", pos1="));
  Serial.println(pos1);
  Serial.print(F("id2="));
  Serial.print(id2);
  Serial.print(F(", pos2="));
  Serial.println(pos2);
  Serial.print(F("id3="));
  Serial.print(id3);
  Serial.print(F(", pos3="));
  Serial.println(pos3);
  digitalWrite(led, HIGH);
  delay(id1);
  digitalWrite(led, LOW);
  delay(pos1);
  delay(1000);
}

I am attaching a screenshot of the serial monitor of receiver Arduino, where you can see that after couple of term, it starts receiving random vales. https://drive.google.com/open?id=1zxQx4h9uR3dXYIDVEqtjv-g3tSNjRUhA

also posting the result i get:

300:100:2:80:3:180/
n=6
id1=300, pos1=100
id2=2, pos2=80
id3=3, pos3=180
300:100:2:100:2:80/
n=6
id1=300, pos1=100
id2=2, pos2=100
id3=2, pos3=80
300:100:2:80:3:180/
n=6
id1=300, pos1=100
id2=2, pos2=80
id3=3, pos3=180
300:100:2:80:3:180/
n=6
id1=300, pos1=100
id2=2, pos2=80
id3=3, pos3=180
300:100:2:80:3:180/
n=6
id1=300, pos1=100
id2=2, pos2=80
id3=3, pos3=180
300:100:2:80:3:180/
n=6
id1=300, pos1=100
id2=2, pos2=80
id3=3, pos3=180
300:100:2:100:2:80/
n=6
id1=300, pos1=100
id2=2, pos2=100
id3=2, pos3=80
:3:180300:2:80:3:1/
n=0
id1=300, pos1=100
id2=2, pos2=100
id3=2, pos3=80
80300:1000:3:18030/
n=4
id1=14764, pos1=1000
id2=3, pos2=18030
id3=2, pos3=80

As you can see, after running successfully couple of times, the problem begins, value of id1 starts changing continuously with random numbers.

Please help me with the error ! Thanks in advance...

Have a look at the examples in Serial Input Basics - simple reliable ways to receive data. There is also a parse example to illustrate how to extract numbers from the received text.

The technique in the 3rd example will be the most reliable. It is what I use for Arduino to Arduino communication.

You can send data in a compatible format with code like this (or the equivalent in any other programming language)

Serial.print('<'); // start marker
Serial.print(value1);
Serial.print(','); // comma separator
Serial.print(value2);
Serial.println('>'); // end marker

And please make your images visible in your Post. See this Simple Image Guide

…R