SLEEP_MODE_POWER_DOWN + SERIAL COMUNICATION

Good afternoon, we are new to the arduino language, and we are trying to communicate through Serial two Arduinos, one receiver and one transmitter, each with a 7-segment display whose value increases every time you press a key (0-9) receptor function, is noted with an LED if both Arduinos have the same value.
Until a third switch is activated, the transmitter must NOT leave the state SLEEP_POWER_MODE, and when receiver does not have a signal for 10 seconds, it shall enter the sleep mode.

Our problem is basically

The interrupt thatwakes the transmitter Arduino, is suddenly activated without being allowed by the external control, and also non-sequentially values added to the count ??of the displays, skips in twos or threes (Ex. secuence is 1, 3, 6, 9) .

Let me know if any of you can see any errors in our code and give us tips to manage better serial communication.

Greetings and thanks
Here is the code.

Receiver Code:

//

#include <avr/sleep.h>
#include <avr/power.h>
#include "TimerOne.h"

int a0 = 8;
int a1 = 9;
int a2 = 10;
int a3 = 11;
int b1 = 2;
int b2 = 3;
int ind = 7;
//int timer = 0;
int Rx = 0;
int inByte = 0;
byte count = 48;
boolean ba0 = false;
boolean ba1 = false;
boolean ba2 = false;
boolean ba3 = false;

void setup()
{
pinMode(a0, OUTPUT);
pinMode(a1, OUTPUT);
pinMode(a2, OUTPUT);
pinMode(a3, OUTPUT);
pinMode(ind, OUTPUT);
pinMode(Rx, INPUT);
pinMode(b1, INPUT);
pinMode(b2, INPUT);
attachInterrupt(0, countup, RISING);
Serial.begin(9600);
}

void wakeup()
{
}

void sleepnow()
{
Serial.println("Sleep Now");
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
sleep_enable();
delay(500);
attachInterrupt(1,wakeup, RISING);
sleep_mode();
sleep_disable();
detachInterrupt(1);
Serial.print(" Sleep Off ");
delay(2000);
}

void loop()
{
delay (1000);
ba0 = bitRead(count, 0);
ba1 = bitRead(count, 1);
ba2 = bitRead(count, 2);
ba3 = bitRead(count, 3);
digitalWrite(a0, ba0);
digitalWrite(a1, ba1);
digitalWrite(a2, ba2);
digitalWrite(a3, ba3);
if (Serial.available ()> 0)
{

inByte = Serial.read(); // Lee el byte enviado por comunicación serial
}
if (count == inByte)
{
digitalWrite(ind, 1);
Serial.print("Cuenta ");

}
else
{
digitalWrite(ind, 0);
Serial.print("No datos ");
}
Serial.print (count);
Serial.print ("-");
Serial.print (inByte);
delay (1000);
sleepnow();
}

void countup()
{
sleep_disable();
if (count == 57)
{
count = 48;
}
else
{
count++;

}
}

Emitter Code
//

#include <avr/sleep.h>
#include <avr/power.h>
#include "TimerOne.h"

int a0 = 8;
int a1 = 9;
int a2 = 10;
int a3 = 11;
int b1 = 2;
int b2 = 3;
int ind = 7;
int timer = 0;
int Tx = 1;
byte count = 0;
boolean ba0 = false;
boolean ba1 = false;
boolean ba2 = false;
boolean ba3 = false;

void setup()
{
pinMode(a0, OUTPUT);
pinMode(a1, OUTPUT);
pinMode(a2, OUTPUT);
pinMode(a3, OUTPUT);
pinMode(ind, OUTPUT);
pinMode(Tx, OUTPUT);
pinMode(b1, INPUT);
pinMode(b2, INPUT);
attachInterrupt(0, countup, RISING);
Serial.begin(9600);
}

void wakeup()
{
}

void sleepnow()
{
digitalWrite(ind, LOW);
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
sleep_enable();
delay(500);
attachInterrupt(1,wakeup, RISING);
sleep_mode();
sleep_disable();
detachInterrupt(1);
delay(2000)
}

void loop()
{
delay (1000);
digitalWrite(ind, HIGH);
ba0 = bitRead(count, 0);
ba1 = bitRead(count, 1);
ba2 = bitRead(count, 2);
ba3 = bitRead(count, 3);
digitalWrite(a0, ba0);
digitalWrite(a1, ba1);
digitalWrite(a2, ba2);
digitalWrite(a3, ba3);
Serial.print(count);
delay (500);
Serial.print(count);
delay (500);
Serial.print(count);
timer++;
if(timer==3)
{
timer == 0;
sleepnow();
}
}

void countup()
{
sleep_disable();
if (count == 9)
{
count = 0;
}
else
{
count++;
}
}