Ibrahim Yassine
Created November 10, 2020

Meet "Golfie", the golfer arduino robot.

Golfer arduino robot controlled by IR sensor.

Meet "Golfie", the golfer arduino robot.

Things used in this project

Hardware components

Arduino UNO
Arduino UNO
×1
Jumper wires (generic)
Jumper wires (generic)
×1
SG90 Micro-servo motor
SG90 Micro-servo motor
×3
IR receiver (generic)
×1

Hand tools and fabrication machines

Box, General Purpose
Box, General Purpose

Story

Read more

Schematics

Connections

IR remote control

Picture

Code

The code

C#
#include <IRremote.h>
#include<Servo.h> // include server library
char command;
int receiver_pin = 4;   //Connect the output pin of IR receiver at pin 4

int statusled = 13;
Servo ser; // create servo object to control a servo
Servo ser2; // create servo object to control a servo
Servo ser3; // create servo object to control a servo
int poser = 0; // initial position of server
int poser2 = 0;
int poser3=0;
int val; // initial value of input
IRrecv irrecv(receiver_pin);

decode_results results;



void setup()

{
Serial.begin(9600);
ser.attach(7);// server is connected at pin 7
ser.attach(8);// server is connected at pin 8
ser3.attach(10);// server is connected at pin 10
irrecv.enableIRIn();

pinMode(statusled,OUTPUT);

digitalWrite(statusled,LOW);

// set all the motor control pins to outputs




}

void loop() {
  val = Serial.read();// then read the serial value
 

if (irrecv.decode(&results)) {

digitalWrite(statusled,LOW);

irrecv.resume();

if (results.value ==0xFF18E7)//FORWARD
{
ser.detach();
delay(15);  
ser.attach(7); 
ser2.attach(8); 
 
 poser -= 30; //
 poser2 -= 30; //
ser.write(poser);// the servo will move according to position
ser2.write(poser2);// the servo will move according to position
delay(15);//delay for the servo to get to the position
}

else if(results.value == 0xFF38C7)
{
 Serial.println("OFF Button ");
  ser.detach();
  ser2.detach();
  ser3.detach();
 

//delay for the servo to get to the position
}
else if(results.value == 0xFF5AA5) //RIGHT
{
 Serial.println("RIGHT");
 ser.attach(7);
  ser2.detach();
 

//delay for the servo to get to the position
}
else if(results.value == 0xFF10EF) //LEFT
{
 Serial.println("RIGHT");
  ser2.attach(8);
  ser.detach();
 

//delay for the servo to get to the position
}
else if(results.value == 0xFF4AB5) //swing back (down button)
{

ser3.attach(10); 
poser3 += 5; //than position of servo motor decreases by 1 (clockwise)

ser3.write(poser3);// the servo will move according to position

delay(15);//delay for the servo to get to the position
 

//delay for the servo to get to the position
}
else if(results.value == 0xFF629D) //swing forward  (2 button)
{
  
ser3.attach(10);  
poser3 -= 5; //

ser3.write(poser3);// the servo will move according to position

delay(15);//delay for the servo to get to the position
}
else if(results.value == 0xFFA25D) //low power shot (button 1)
{
  
ser3.attach(10);  
poser3 -= 120; 

ser3.write(poser3);// the servo will move according to position

delay(15);//delay for the servo to get to the position
}
else if(results.value == 0xFFE21D) //high power shot (button 3)
{
  
ser3.attach(10);  
poser3 -= 180; //than position of servo motor decreases by 1 (clockwise)

ser3.write(poser3);// the servo will move according to position

delay(15);//delay for the servo to get to the position
}
}
}

Credits

Ibrahim Yassine
4 projects • 7 followers
Contact

Comments

Please log in or sign up to comment.