Robot snow plow help

hello everyone, i am new to arduino and i need some help very badly. i am trying to make a remote control snow plow robot using arduino uno, a cytron ps2 shield, and a ps2 controller, problem is idk what is wrong with this set of code i found that someone made that works for them.

#include <Shield_PS2.h>

//declare class objects
PS2 ps2=PS2(); //PS2 class object: ps2

int FOTORES = A0;
int RELAY = 13;
int sensorValue = 0;

int ALZAPALA = 12;
int ONALZAPALA = 11;
int RUOTAPALA = 2;
int ONRUOTAPALA = 3;

int E1 = 5; //MOTORE 1 SPEED CONTROL M1_PWM
int E2 = 6; //MOTORE 2 SPEED CONTROL M2_PWM
int M1 = 4; //MOTORE 1 DIRECTION CONTROL M1_EN
int M2 = 7; //MOTORE 2 DIRECTION CONTROL M2_EN

int counter=0;
int stato=0;
int val=0;
int velo=0;
int motori=0;

void setup()
{
Serial.begin(9600);
ps2.init(9600, 8, 9); //initialize the main board to use desired (baudrate, rx, tx)
//for Arduino Mega use RX:10, TX: 11 for software serial
//for Arduino Leonardo use pin 8, 9, 10, 11 as RX and TX for software serial

pinMode (FOTORES, INPUT);
pinMode (RELAY, OUTPUT);
pinMode (RUOTAPALA, OUTPUT);
pinMode (ALZAPALA, OUTPUT);
pinMode (ONRUOTAPALA, OUTPUT);
pinMode (ONALZAPALA, OUTPUT);
pinMode (E1, OUTPUT);
pinMode (M1, OUTPUT);
pinMode (E2, OUTPUT);
pinMode (M2, OUTPUT);
stato=0;

}
void loop(){
motori=0;
if( ps2.getval(p_up)==0 || ps2.getval(p_joy_lu)==100) {
Serial.println(“AVANTI”); //
analogWrite (E1,velo); //PWM Speed Control
digitalWrite(M1,HIGH); //
analogWrite (E2,velo); //
digitalWrite(M2,HIGH); ///
motori=1;
}
if (ps2.getval(p_down)==0 || ps2.getval(p_joy_ld)==100) {
Serial.println(“INDIETRO”);
analogWrite (E1,velo);
digitalWrite(M1,LOW);
analogWrite (E2,velo);
digitalWrite(M2,LOW);
motori=1;
}
if (ps2.getval(p_right)==0 || ps2.getval(p_joy_lr)==100){
Serial.println(“DESTRA”);
analogWrite (E1,velo);
digitalWrite(M1,HIGH);
analogWrite (E2,velo);
digitalWrite(M2,LOW);
motori=1;
}
if (ps2.getval(p_left)==0 || ps2.getval(p_joy_11)==100) {
Serial.println(“SINISTRA”); //
analogWrite (E1,velo); //
digitalWrite(M1,LOW); //
analogWrite (E2,velo); //
digitalWrite(M2,HIGH); //
motori=1; //
}
if (ps2.getval(p_triangle)==0) {
Serial.println(“TRIANGOLO”); //
if (velo<250) //
{ //
velo=velo+25; //
} //
else //
{ //
ps2.vibrate(2, 255); //
delay(500); // 500 ms
ps2.vibrate(2,0); //
} //
analogWrite (M1, velo); //
analogWrite (M2, velo); //
Serial.println(velo);
}
if (ps2.getval(p_cross)==0) { //
Serial.println(“X”); //
if (velo>0 && velo<=250) //
{ //
velo=velo-25; //
}
else
{
//non fa niente
}
analogWrite (M1, velo);
analogWrite (M2, velo);
Serial.println(velo);
}
if (ps2.getval(p_circle)==0) {
Serial.println(“CERCHIO”);
if (stato==0)
{ //
stato=stato+1;
delay(100);
Serial.println(stato);
digitalWrite(RELAY, HIGH);
ps2.vibrate(2, 255); //
delay(500); // 500 ms
ps2.vibrate(2,0); //
delay(500);
ps2.vibrate(2,255);
delay(500);
ps2.vibrate(2,0);
}
else
{
stato=0;
delay(100);
Serial.println(stato);
digitalWrite(RELAY, LOW);
ps2.vibrate(2, 255); //
delay(500); // 500 ms
ps2.vibrate(2,0); //
}
}
if (ps2.getval(p_square)==0) { //
Serial.println(“QUADRATO”);
digitalWrite(E1,0);
digitalWrite(M1,LOW);
digitalWrite(E2,0);
digitalWrite(M2,LOW);
velo=0;
}
if (ps2.getval(p_l1)==0) {
Serial.println(“L1”);
digitalWrite (ONALZAPALA, HIGH); //
digitalWrite (ALZAPALA, LOW); //
}
if (ps2.getval(p_l1)==1) {
Serial.println(“L1”);
digitalWrite (ONALZAPALA, LOW); //
digitalWrite (ALZAPALA, LOW); //
}
if (ps2.getval(p_l2)==0) {
Serial.println(“L2”);
digitalWrite (ONRUOTAPALA, HIGH); //
digitalWrite (RUOTAPALA, LOW); //
}
if (ps2.getval(p_l2)==1) {
Serial.println(“L2”);
digitalWrite (ONRUOTAPALA, LOW); //
digitalWrite (RUOTAPALA, LOW); //
}
if (ps2.getval(p_r1)==0) {
Serial.println(“R1”);
digitalWrite (ONALZAPALA, HIGH); //
digitalWrite (ALZAPALA, HIGH); //
}
if (ps2.getval(p_r2)==0) {
Serial.println(“R2”);
digitalWrite (ONRUOTAPALA, HIGH); //
digitalWrite (RUOTAPALA, HIGH); //
}
if (ps2.getval(p_start)==0) {
Serial.println(“START”);
}
if (ps2.getval(p_select)==0) {
Serial.println(“SELECT”);
}
if (motori==0) { //
analogWrite (E1,0);
digitalWrite(M1,LOW);
analogWrite (E2,0);
digitalWrite(M2,LOW);
}
sensorValue = analogRead(FOTORES);
Serial.println(sensorValue);
if (sensorValue<30 || stato==0) {
// {
digitalWrite(RELAY, HIGH);
}
else
{
digitalWrite(RELAY, LOW);
delay(100);
{
//non fa niente
}
}
}

i am normally getting the issue of
Arduino: 1.6.8 (Windows 7), Board: “Arduino/Genuino Uno”

C:\Users\bre.vilcheck\Desktop\sketch_RobotPlow_V1\sketch_RobotPlow_V1.ino:5:24: fatal error: Shield_PS2.h: No such file or directory

#include <shield_ps2.h>

^

compilation terminated.

exit status 1

Error compiling for board Arduino/Genuino Uno.

This report would have more information with

“Show verbose output during compilation”

option enabled in File → Preferences.

can someone probally help me trouble shoot this and fix it please?

It's dying on the very first line of the code; the error gives you enough information to solve it. Unfortunately, we can't really help you on this, because we don't have access to your computer. But you do.

Have you installed the library shield_ps2.h?

And a good advice: you should never copy/paste a code if you don't fully understand how it works. Break it up into smaller parts and read documentation and tutorials to get a full understanding of how things works.

Also, please read the post "how to use this forum" to make a proper question next time.

In case I am not being clear enough; and before you accuse me of being unhelpful - the first line of code in your code is:

#include <Shield_PS2.h>

The error you are getting reads:

C:\Users\bre.vilcheck\Desktop\sketch_RobotPlow_V1\sketch_RobotPlow_V1.ino:5:24: fatal error: Shield_PS2.h: No such file or directory

#include <shield_ps2.h>

^

Notice that it is pointing at the same line as the first line. Given that, what do you think the error “fatal error: Shield_PS2.h: No such file or directory” means in this context?

While you are at it.

Go and read the instructions, then go back and modify your post (use the "More --> Modify" option to the bottom right of the post) to mark up the code as such so we can examine it conveniently and accurately.

Note: Also mark up any data in the same way. This includes error output that you get from the IDE.

This make it much more practical to sort it all out.