Tutorial Arduino Kontrol Servo dengan Sensor Ultrasonik

Hallo teman teman, selamat datang kembali di anakkendali.com

Pada kesempatan kali ini saya akan membagikan artikel mengenai tutorial arduino kontrol servo dengan sensor ultrasonik.

Arduino kontrol servo disini berfungsi sebagai pengatur jarak otomatis dengan titik sudut antara 0°-180° dengan menggunakan sensor ultrasonik.

Sensor ultrasonik yang saya gunakan adalah tipe HC-SR04 yang harganya relatif murah sekitar 15 ribuan saja.

Banyak sekali aplikasi yang dapat digunakan dengan menggunakan prinsip kerja dari Arduino Kontrol Servo dengan Sensor Jarak, antara lain :

Tempat Sampah Pintar Otomatis
Sprayer Pintar Otomatis
Hand Sanitizer Otomatis
Kran Air Otomatis
Kontrol Level Air Otomatis

dan masih banyak sekali aplikasi yang bisa di terapkan menggunakan prinsip kontrol servo dengan sensor jarak.

Baca Juga :  Cara Burn Bootloader Atmega328 Arduino Uno

Sensor ultrasonik bekerja dengan gelombang suara 20Khz sehingga telinga manusia tidak dapat mendengarkan suara dengan frekuensi setinggi itu.

adapun servo nya yang saya gunakan adalah tipe servo sg90, harganya juga cukup relatif murah karena bentuknya yang kecil dan torsi nya juga kecil, harga servo sg90 biasanya berkisar antara 15rb – 20rb.

kembali ke topik pembahasan yaitu tentang Tutorial Cara Mengontrol Sudut Servo dengan Sensor Jarak Ultrasonik, berikut merupakan rangkaian skematik yang harus di buat.

untuk program nya sendiri banyak sekali yang bisa kita gunakan, apakah ingin mengontrol servo secara linier berdasarkan jarak dan sudut servonya. atau menentukan sudut servo berdasarkan jarak tertentu saja, berikut adalah contoh dari berbagai program Kontrol Servo dengan Sensor Jarak

Baca Juga :  ESP8266, Cara Mengirim Data Sensor Jarak ke Thingspeak

Program Arduino Kontrol Servo dengan Jarak 1

#define pinecho1 7
#define pintriger1 6
#include <Servo.h>

Servo myservo;

float read_srf(int pintriger, int pinecho) {
  long durasi;
  float jarak;
  digitalWrite(pintriger, LOW);
  delayMicroseconds(2);
  digitalWrite(pintriger, HIGH);
  delayMicroseconds(10);
  digitalWrite(pintriger, LOW);
  delayMicroseconds(2);

  durasi = pulseIn(pinecho, HIGH);
  jarak = durasi / 58.2;

  return jarak;
}
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  pinMode (pintriger1, OUTPUT);
  pinMode (pinecho1, INPUT);
  myservo.attach(9);
}

void loop() {
  // put your main code here, to run repeatedly:
  int jarak = read_srf(pintriger1, pinecho1);
  jarak = map (jarak, 3, 30, 0, 180);
  myservo.write(jarak);
  Serial.println(jarak);
  delay(15);
}

Program Arduino Kontrol Servo dengan Jarak 2

#define pinecho1 7
#define pintriger1 6
#include <Servo.h>

Servo myservo;

float read_srf(int pintriger, int pinecho) {
  long durasi;
  float jarak;
  digitalWrite(pintriger, LOW);
  delayMicroseconds(2);
  digitalWrite(pintriger, HIGH);
  delayMicroseconds(10);
  digitalWrite(pintriger, LOW);
  delayMicroseconds(2);

  durasi = pulseIn(pinecho, HIGH);
  jarak = durasi / 58.2;

  return jarak;
}
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  pinMode (pintriger1, OUTPUT);
  pinMode (pinecho1, INPUT);
  myservo.attach(9);
  myservo.write(0);
}

void loop() {
  // put your main code here, to run repeatedly:
  int jarak = read_srf(pintriger1, pinecho1);
  if (jarak < 10) {
    myservo.write(180);
  }
  else {
    myservo.write(0);
  }
  Serial.println(jarak);
  delay(15);
}

Mungkin cukup sekian apa yang bisa saya bagikan untuk kali ini, smeoga bermanfaat dan jangan lupa membagikan artikel ini, dan komentar dibawah!

Baca Juga :  Soal Quis Pemograman Arduino Pemula
(Visited 928 times, 2 visits today)