Simulasi Micro Senvo

 

Pengertian Micro Servo

Micro Servo adalah motor kecil yang dapat bergerak dengan sudut tertentu (biasanya dari 0° sampai 180°) dan dikendalikan oleh sinyal dari Arduino.
Servo banyak digunakan pada proyek seperti robot tangan, pintu otomatis, dan sensor gerak, karena bisa bergerak presisi dan terkendali.

Kode Program Arduino – Menggerakkan Micro Servo di Tinkercad

#include <Servo.h>


Servo myServo;      // object servo

int pinServo = 9;   // pin signal servo


void setup() {

  myServo.attach(pinServo);

}


void loop() {

  // putar dari 0 sampai 180 derajat

  for (int ang = 0; ang <= 180; ang += 1) {

    myServo.write(ang);

    delay(10); // atur kecepatan

  }

  // kembali dari 180 ke 0

  for (int ang = 180; ang >= 0; ang -= 1) {

    myServo.write(ang);

    delay(10);

  }

}

Cara Kerja Program Micro Servo di Tinkercad

1. Program memanggil library Servo dengan #include <Servo.h> supaya Arduino bisa mengontrol motor servo.


2. Servo dihubungkan ke pin 9 menggunakan perintah myServo.attach(pinServo).


3. Di dalam fungsi loop(), servo mulai berputar dari 0° ke 180° secara perlahan menggunakan perintah for (int ang = 0; ang <= 180; ang += 1).


4. Setelah mencapai 180°, servo kembali dari 180° ke 0° dengan perintah for (int ang = 180; ang >= 0; ang -= 1).


5. Fungsi delay(10) digunakan untuk mengatur kecepatan gerak servo agar pergerakannya halus dan tidak terlalu cepat.


Pengertian Soil Moisture Sensor

Soil Moisture Sensor adalah sensor yang digunakan untuk mendeteksi kadar air atau kelembapan tanah.
Sensor ini bekerja dengan cara mengukur hambatan listrik antara dua pin logam (probe).
Semakin basah tanah, hambatan listrik semakin kecil; semakin kering tanah, hambatan semakin besar.
Dalam proyek ini, sensor digunakan untuk mendeteksi tinggi/rendahnya kadar air, lalu menggerakkan servo motor sebagai respon otomatis.


#include <Servo.h>

Servo servoAir;               // Buat objek servo

const int pinSensorAir = 6;   // Pin sensor air
const int pinServo = 10;      // Pin servo
int statusAir = 0;            // Variabel untuk menyimpan status sensor

void setup() {
  pinMode(pinSensorAir, INPUT);
  servoAir.attach(pinServo);
  servoAir.write(0);          // Servo di posisi awal
  Serial.begin(9600);
}

void loop() {
  statusAir = digitalRead(pinSensorAir);  // Baca sensor air

  if (statusAir == HIGH) {
    Serial.println("Air tinggi, servo berputar");
    servoAir.write(90);       // Servo bergerak ke posisi 90 derajat
  } else {
    Serial.println("Air rendah, servo kembali");
    servoAir.write(0);        // Servo kembali ke posisi awal
  }

  delay(500);                 // Tunggu setengah detik
}

Cara Kerja Program Soil Moisture Sensor

  1. Program memanggil library Servo dengan #include <Servo.h> agar Arduino bisa mengontrol servo motor.

  2. Pin sensor air (pin 6) diset sebagai input, dan pin servo (pin 10) diset sebagai output.

  3. Arduino membaca kondisi sensor dengan digitalRead(pinSensorAir).

    • Jika sensor mendeteksi air tinggi (HIGH) → berarti tanah atau media cukup basah.

    • Jika air rendah (LOW) → berarti tanah kering atau kadar air sedikit.

  4. Saat air tinggi, servo akan berputar ke posisi 90° sebagai tanda aktif.

  5. Saat air rendah, servo kembali ke posisi 0° (posisi awal).

  6. Serial Monitor akan menampilkan status:

    • “Air tinggi, servo berputar”

    • “Air rendah, servo kembali”

  7. Fungsi delay(500) digunakan untuk memberi jeda setengah detik sebelum sensor membaca ulang.



Pengertian

Sensor ultrasonik HC-SR04 adalah sensor yang berfungsi untuk mengukur jarak antara sensor dan objek di depannya menggunakan gelombang suara berfrekuensi tinggi (ultrasonik). Sensor ini bekerja dengan cara mengirimkan gelombang suara melalui pin TRIG, lalu menerima pantulannya lewat pin ECHO.
Sementara itu, servo motor adalah aktuator yang bisa bergerak dengan sudut tertentu (0°–180°) sesuai sinyal dari Arduino.

Gabungan keduanya sering digunakan pada proyek seperti pintu otomatis, tempat sampah pintar, atau robot penghindar halangan, di mana servo bergerak berdasarkan jarak objek yang terdeteksi oleh sensor ultrasonik.

#include <Servo.h>


#define TRIG_PIN 7

#define ECHO_PIN 6


Servo myServo;


void setup() {

  Serial.begin(9600);

  myServo.attach(9);

  pinMode(TRIG_PIN, OUTPUT);

  pinMode(ECHO_PIN, INPUT);

}


void loop() {

  long duration;

  int distance;


  // Kirim sinyal trigger

  digitalWrite(TRIG_PIN, LOW);

  delayMicroseconds(2);

  digitalWrite(TRIG_PIN, HIGH);

  delayMicroseconds(10);

  digitalWrite(TRIG_PIN, LOW);


  // Baca pantulan echo

  duration = pulseIn(ECHO_PIN, HIGH);

  distance = duration * 0.034 / 2; // Konversi ke cm


  Serial.print("Jarak: ");

  Serial.print(distance);

  Serial.println(" cm");


  // Logika gerakan servo berdasarkan jarak

  if (distance < 10) {

    myServo.write(0);    // Objek sangat dekat

  } 

  else if (distance < 20) {

    myServo.write(90);   // Objek sedang

  } 

  else {

    myServo.write(180);  // Objek jauh

  }


  delay(300);

}

Cara Kerja Program

  1. Arduino mengatur pin TRIG dan ECHO dari sensor ultrasonik.

    • TRIG berfungsi mengirimkan sinyal ultrasonik.

    • ECHO menangkap pantulan gelombang dari objek.

  2. Saat program berjalan, Arduino:

    • Mengirim pulsa singkat selama 10 mikrodetik melalui pin TRIG.

    • Menunggu gelombang pantulan diterima oleh pin ECHO.

    • Mengukur durasi waktu antara pengiriman dan penerimaan pantulan menggunakan pulseIn().

  3. Nilai durasi diubah menjadi jarak (cm) dengan rumus:

    jarak=(durasi×0.034)/2\text{jarak} = (\text{durasi} \times 0.034) / 2

    (karena kecepatan suara ≈ 0.034 cm/ยตs dan dibagi dua untuk perjalanan pergi-pulang).

  4. Berdasarkan jarak yang terbaca:

    • Jika jarak < 10 cm, servo bergerak ke (objek sangat dekat).

    • Jika jarak 10–20 cm, servo bergerak ke 90° (objek sedang).

    • Jika jarak > 20 cm, servo bergerak ke 180° (objek jauh).

  5. Nilai jarak juga ditampilkan di Serial Monitor untuk memantau hasil pembacaan sensor secara real-time.


Comments

  1. Halo Manu.
    Blog kamu sudah bagus. pertahankan, sisanya rapikan lagi kasi template yang berbeda ya. Semangat belajar manu.

    ReplyDelete

Post a Comment

Popular posts from this blog

Produktivitas Kerja di Era Digital

Peluang bisnis (Simpel)

Perkembangan Teknologi (IOT)