Arduino Elegoo code not uploading from certain computers

I have written code for the arduino elegoo robot and it works the way it is supposed to. It uses the IR remote. There are a few buttons with predefined paths and the robot can also be controlled using the directional buttons. There is also a servo motor connected. When I upload the code from my computer to the robot it works but when I copy the code and send it to another student it doesn't work when they upload it. Why would that be?
Here is the code:

#include <IRremote.h>
#include <Servo.h>
int RECV_PIN = 12;
IRrecv irrecv(RECV_PIN);
decode_results results;
#define IR_Go      0x00FF18E7
#define IR_Back    0x00FF4AB5
#define IR_Left    0x00FF10EF
#define IR_Right   0x00FF5AA5
#define IR_Stop    0x00FF38C7
#define one        0x00FFA25D
#define two        0x00FF629D
#define three      0x00FFE21D
#define four       0x00FF22DD
#define up         0x00FF9867
#define down       0x00FF906F
#define Lpwm_pin  5     //adjusting speed 
#define Rpwm_pin  6    //adjusting speed //
#define SERVO_PIN A5
Servo myservo;
int pinLB=2;           // defining pin2 left rear
int pinLF=4;           // defining pin4 left front
int pinRB=7;           // defining pin7 right rear
int pinRF=8;           // defining pin8 right front
unsigned char pwm_val =100;
void M_Control_IO_config(void)
{
  pinMode(pinLB,OUTPUT); // pin2
  pinMode(pinLF,OUTPUT); // pin4
  pinMode(pinRB,OUTPUT); // pin7 
  pinMode(pinRF,OUTPUT); // pin8
  pinMode(Lpwm_pin,OUTPUT); // pin5 (PWM) 
  pinMode(Rpwm_pin,OUTPUT); // pin6 (PWM)   
}
void Set_Speed(unsigned char pwm)
{
  analogWrite(Lpwm_pin,pwm);
  analogWrite(Rpwm_pin,pwm);
}
void zero()     // going forward
    {
     myservo.write(0);
    }
void ninety()     // going forward
    {
     myservo.write(90);
    }
void advance()     // going forward
    {
     digitalWrite(pinRB,LOW);  // making motor move towards right rear
     digitalWrite(pinRF,HIGH);
     digitalWrite(pinLB,LOW);  // making motor move towards left rear
     digitalWrite(pinLF,HIGH); 
    }
void turnR()        //turning right(dual wheel)
    {
     digitalWrite(pinRB,LOW);  //making motor move towards right rear
     digitalWrite(pinRF,HIGH);
     digitalWrite(pinLB,HIGH);
     digitalWrite(pinLF,LOW);  //making motor move towards left front
    }
void turnL()        //turning left(dual wheel)
    {
     digitalWrite(pinRB,HIGH);
     digitalWrite(pinRF,LOW );   //making motor move towards right front
     digitalWrite(pinLB,LOW);   //making motor move towards left rear
     digitalWrite(pinLF,HIGH);
    }    
void stopp()         //stop
    {
     digitalWrite(pinRB,HIGH);
     digitalWrite(pinRF,HIGH);
     digitalWrite(pinLB,HIGH);
     digitalWrite(pinLF,HIGH);
    }
void back()          //back up
    {
     digitalWrite(pinRB,HIGH);  //making motor move towards right rear
     digitalWrite(pinRF,LOW);
     digitalWrite(pinLB,HIGH);  //making motor move towards left rear
     digitalWrite(pinLF,LOW);
    }
void first()     // going forward
    {
     digitalWrite(pinRB,LOW);  // making motor move towards right rear
     digitalWrite(pinRF,HIGH);
     digitalWrite(pinLB,LOW);  // making motor move towards left rear
     digitalWrite(pinLF,HIGH); 
     delay(1000);              // Gof forward for 500 ms
     digitalWrite(pinRB,HIGH);//Stop
     digitalWrite(pinRF,HIGH);//Stop
     digitalWrite(pinLB,HIGH);//stop
     digitalWrite(pinLF,HIGH);//stop
     delay(500);
     digitalWrite(pinRB,LOW);  //right
     digitalWrite(pinRF,HIGH);//right
     digitalWrite(pinLB,HIGH);//right
     digitalWrite(pinLF,LOW);  //right
     delay(500);
     digitalWrite(pinRB,HIGH);//Stop
     digitalWrite(pinRF,HIGH);//Stop
     digitalWrite(pinLB,HIGH);//stop
     digitalWrite(pinLF,HIGH);//stop
     delay(500);
     digitalWrite(pinRB,LOW); //forward
     digitalWrite(pinRF,HIGH);//forward
     digitalWrite(pinLB,LOW);  //forward
     digitalWrite(pinLF,HIGH); //forward
     delay(3500);
     digitalWrite(pinRB,HIGH);//Stop
     digitalWrite(pinRF,HIGH);//Stop
     digitalWrite(pinLB,HIGH);//stop
     digitalWrite(pinLF,HIGH);//stop
     delay(500);
    }
void second()     // going forward
    {
     digitalWrite(pinRB,LOW);  // making motor move towards right rear
     digitalWrite(pinRF,HIGH);
     digitalWrite(pinLB,LOW);  // making motor move towards left rear
     digitalWrite(pinLF,HIGH); 
     delay(1000);              // Gof forward for 500 ms
     digitalWrite(pinRB,HIGH);//Stop
     digitalWrite(pinRF,HIGH);//Stop
     digitalWrite(pinLB,HIGH);//stop
     digitalWrite(pinLF,HIGH);//stop
     delay(500);
     digitalWrite(pinRB,LOW);  //right
     digitalWrite(pinRF,HIGH);//right
     digitalWrite(pinLB,HIGH);//right
     digitalWrite(pinLF,LOW);  //right
     delay(500);
     digitalWrite(pinRB,HIGH);//Stop
     digitalWrite(pinRF,HIGH);//Stop
     digitalWrite(pinLB,HIGH);//stop
     digitalWrite(pinLF,HIGH);//stop
     delay(500);
     digitalWrite(pinRB,LOW); //forward
     digitalWrite(pinRF,HIGH);//forward
     digitalWrite(pinLB,LOW);  //forward
     digitalWrite(pinLF,HIGH); //forward
     delay(4000);
     digitalWrite(pinRB,HIGH);//Stop
     digitalWrite(pinRF,HIGH);//Stop
     digitalWrite(pinLB,HIGH);//stop
     digitalWrite(pinLF,HIGH);//stop
     delay(500);
    }
void third()     // going forward
    {
     digitalWrite(pinRB,LOW);  // making motor move towards right rear
     digitalWrite(pinRF,HIGH);
     digitalWrite(pinLB,LOW);  // making motor move towards left rear
     digitalWrite(pinLF,HIGH); 
     delay(1000);              // Gof forward for 500 ms
     digitalWrite(pinRB,HIGH);//Stop
     digitalWrite(pinRF,HIGH);//Stop
     digitalWrite(pinLB,HIGH);//stop
     digitalWrite(pinLF,HIGH);//stop
     delay(500);
     digitalWrite(pinRB,LOW);  //right
     digitalWrite(pinRF,HIGH);//right
     digitalWrite(pinLB,HIGH);//right
     digitalWrite(pinLF,LOW);  //right
     delay(500);
     digitalWrite(pinRB,HIGH);//Stop
     digitalWrite(pinRF,HIGH);//Stop
     digitalWrite(pinLB,HIGH);//stop
     digitalWrite(pinLF,HIGH);//stop
     delay(500);
     digitalWrite(pinRB,LOW); //forward
     digitalWrite(pinRF,HIGH);//forward
     digitalWrite(pinLB,LOW);  //forward
     digitalWrite(pinLF,HIGH); //forward
     delay(4500);
     digitalWrite(pinRB,HIGH);//Stop
     digitalWrite(pinRF,HIGH);//Stop
     digitalWrite(pinLB,HIGH);//stop
     digitalWrite(pinLF,HIGH);//stop
     delay(500);
    }
void fourth()     // going forward
    {
     digitalWrite(pinRB,LOW);  // making motor move towards right rear
     digitalWrite(pinRF,HIGH);
     digitalWrite(pinLB,LOW);  // making motor move towards left rear
     digitalWrite(pinLF,HIGH); 
     delay(1000);              // Gof forward for 500 ms
     digitalWrite(pinRB,HIGH);//Stop
     digitalWrite(pinRF,HIGH);//Stop
     digitalWrite(pinLB,HIGH);//stop
     digitalWrite(pinLF,HIGH);//stop
     delay(500);
     digitalWrite(pinRB,LOW);  //right
     digitalWrite(pinRF,HIGH);//right
     digitalWrite(pinLB,HIGH);//right
     digitalWrite(pinLF,LOW);  //right
     delay(500);
     digitalWrite(pinRB,HIGH);//Stop
     digitalWrite(pinRF,HIGH);//Stop
     digitalWrite(pinLB,HIGH);//stop
     digitalWrite(pinLF,HIGH);//stop
     delay(500);
     digitalWrite(pinRB,LOW); //forward
     digitalWrite(pinRF,HIGH);//forward
     digitalWrite(pinLB,LOW);  //forward
     digitalWrite(pinLF,HIGH); //forward
     delay(5000);
     digitalWrite(pinRB,HIGH);//Stop
     digitalWrite(pinRF,HIGH);//Stop
     digitalWrite(pinLB,HIGH);//stop
     digitalWrite(pinLF,HIGH);//stop
     delay(500);
    }     
void IR_Control(void)
{
   unsigned long Key;
   if(irrecv.decode(&results)) //judging if serial port receives data   
 {
     Key = results.value;
    switch(Key)
     {
       case IR_Go:advance();   //UP
       break;
       case IR_Back: back();   //back
       break;
       case IR_Left:turnL();   //Left    
       break;
       case IR_Right:turnR(); //Righ
       break;
       case IR_Stop:stopp();   //stop
       break;
       case one:first(); //go to first spot
       break;
       case two:second();
       break;
       case three:third();
       break;
       case four:fourth();
       break;
       case up:zero();
       break;
       case down:ninety();
       default: 
       break;      
     } 
     irrecv.resume(); // Receive the next value
    } 
  
}
void setup() 
{ 
   M_Control_IO_config();
   Set_Speed(pwm_val);
   irrecv.enableIRIn(); // Start the receiver
   Serial.begin(9600);   //initializing serial port, Bluetooth used as serial port, setting baud ratio at 9600 
   stopp();  
   myservo.attach(SERVO_PIN);
}
void loop() 
{  
   
   IR_Control();
   
   
}

Doesn't upload or doesn't execute (run)?

It doesn't execute. It says it uploads correctly.

Does this just happen with this one robot or other robots too.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.