×

Xpander Robot : Explorer & Claw

6. Pemrograman : DC Motor Gearbox

Berikut ini langkah pertama adalah melakukan test per bagian mekanik yang bergerak, sebelum kita melakukan pemrograman keseluruhan untuk robot. Perhatikan video berikut ini :

Servo yang digunakan terdapat dua buah yaitu di bagian capitan dan pergelangan, untuk koneksi servo kita bisa langsung hubungkan servo dengan Arduino Shield pada bagian sudut atas, terdapat text Servo 1 dan Servo 2, test tersebut terhubung dengan pin Digital Arduino Pin D10 (Servo 1) dan Pin D9 (Servo 2). Sehingga untuk pemrogramannya kita dapat melakukan test pergerakan sebagai berikut :

Servo Gripper

Pergerakan Gripper/ capitan memerlukan gerak yang tidak penuh dari servo, sekitar 75 derajat putaran saja (untuk buka tutup gripper). Oleh karena itu kita perlu melakukan testing mulai dari pergerakkan terkecil (posisi menutup gripper), hingga gripper terbuka. Kabel servo memiliki 3 buah kabel, ketiga kabel tersebut diperuntukkan sebagai Vcc (sumber tegangan servo), Ground, dan Signal (PWM – untuk mengatur posisi dan kecepatan gerak servo). Berikut ini script yang digunakan untuk mengatur 1 buah Servo menggunakan arduino uno R3.

/*
 * Bas on Tech - SG90 tower pro servo
 *
 * This course is part of the courses on https://arduino-tutorials.net
 *  
 * (c) Copyright 2019 - Bas van Dijk / Bas on Tech
 * This code and course is copyrighted. It is not allowed to use these courses commercially
 * without explicit written approval
 * 
 * YouTube:    https://www.youtube.com/c/BasOnTech
 * Facebook:   https://www.facebook.com/BasOnTechChannel
 * Instagram:  https://www.instagram.com/BasOnTech
 * Twitter:    https://twitter.com/BasOnTech
 *
 * Servo specifications https://servodatabase.com/servo/towerpro/sg90
 * 
 * Brown  -> GND
 * Red    -> 5V
 * Orange -> A8
 * 
 */

#include <Servo.h>    // Import the Servo library to control the servo

Servo servo;          // Initialise the servo object to control the servo

int pos = 10;         // variable for the position of the servo

void setup() {
  servo.attach(10);    // Tell the servo object that we've connected to pin 10
  servo.write(0);     // Helps to adjust the initial position
  delay(40);  
}

void loop() {
  
  // Make the pos variabele go from 0 to 75
  for (pos = 0; pos <= 75; pos++) {
    servo.write(pos);  // Set the position of the servo
    delay(10);         // Wait for 10ms for the servo to process the command
  }

  // Make the pos variabele go from 75 to 0
  for (pos = 75; pos >= 0; pos--) {
    servo.write(pos);  // Set the position of the servo
    delay(10);         // Wait for 10ms for the servo to process the command
  }
 
}

Pages: 1 2 3 4 5