Zyad Reda
Published © CC BY-NC

Presentation Slide Switcher Bot!

Why slide your presentation slides in a classical way, while you can slide it using robot!

BeginnerFull instructions provided624
Presentation Slide Switcher Bot!

Things used in this project

Hardware components

Arduino UNO
Arduino UNO
×1
SG90 Micro-servo motor
SG90 Micro-servo motor
I used 2 MG995 servos and 1 micro servo
×3
1Sheeld
1Sheeld
×1

Software apps and online services

Arduino IDE
Arduino IDE

Hand tools and fabrication machines

3D Printer (generic)
3D Printer (generic)

Story

Read more

Custom parts and enclosures

STL Files

if hyperlink (404) didn't work: https://www.thingiverse.com/thing:3854594

Schematics

connections

I used 3 servos just for the look, but actually only one servo will be used.

Code

Code

Arduino
change angle value depending on the height of the keyboard
/*
Arduino Joystick Servo Control Project
 
This example shows an application on 1Sheeld's gamepad shield.
 
By using this example, you can control a servo motor using Joystick from 1Sheeld.
You can move the servo up, right and left using the shield direction buttons.
 
OPTIONAL:
To reduce the library compiled size and limit its memory usage, you
can specify which shields you want to include in your sketch by
defining CUSTOM_SETTINGS and the shields respective INCLUDE_ define. 
*/
 
#define CUSTOM_SETTINGS
#define INCLUDE_GAMEPAD_SHIELD
 
/* include 1Sheeld library */
#include <OneSheeld.h>
 
/* include Servo library */
#include <Servo.h>
 
/* define servo pin */
int servo_pin = 7;

int angle = 90; //change angle value depending on the height of the keyboard

/* make a servo object */
Servo servo;
 
void setup() {
  
  /* start communication with 1shield */
  OneSheeld.begin();
 
  /* attach servo pin */
  servo.attach(servo_pin);
 
  /* initially move servo angel to position 0 degree */
  servo.write(0);
  delay(1000);
}
 
void loop() {
 
  /* move servo angel to the most up when up button is pressed */
  if(GamePad.isUpPressed())
  {
    
    
    for(int i = 0; i < angle; i++){
      servo.write(i);
    }
    
    delay(500);
    
    for(int i = angle; i > 0; i--){
      servo.write(i);
    }
    
    delay(500);
    
  }
  
 
}

Credits

Zyad Reda

Zyad Reda

3 projects • 1 follower

Comments