Script Arduino Uno Tong Sampah Pintar

Script Code

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Servo.h>

// Inisialisasi LCD 16x2 dengan alamat I2C 0x27
LiquidCrystal_I2C lcd(0x27, 16, 2);

// Inisialisasi sensor ultrasonik
const int trigPin = 9;
const int echoPin = 10;

// Inisialisasi servo
Servo servoMotor;
const int servoPin = 6;

// Variabel untuk menyimpan jarak yang terdeteksi
long duration;
int distance;

void setup() {

  // Inisialisasi pin
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);

  // Inisialisasi servo
  servoMotor.attach(servoPin);
  servoMotor.write(0);  // Servo pada posisi awal (tertutup)

  // Inisialisasi LCD
  lcd.init();
  lcd.backlight();

  // Menampilkan pesan awal di LCD
  lcd.setCursor(0, 0);
  lcd.print("Tong sampah Pintar");
  lcd.setCursor(0, 1);
  lcd.print("Shiappp");
  delay(2000);
  lcd.clear();
}

void loop() {

  // Mengirim sinyal trigger
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  // Membaca sinyal echo
  duration = pulseIn(echoPin, HIGH);

  // Menghitung jarak (dalam cm)
  distance = duration * 0.034 / 2;

  // Menampilkan jarak di LCD
  lcd.setCursor(0, 0);
  lcd.print("Jarak : ");
  lcd.print(distance);
  lcd.print(" cm   ");

  // Logika membuka tutup tong sampah
  if (distance <= 15) {  // Jika objek dalam jarak 15 cm
    lcd.setCursor(0, 1);
    lcd.print("Buka Tong sampah...  ");
  

    // Membuka tutup dengan menggerakkan servo
    servoMotor.write(170);  // Servo bergerak ke 90 derajat (tutup terbuka)
    delay(5000);  // Tunggu 3 detik
    lcd.clear();
    servoMotor.write(0);  // Tutup kembali
    lcd.setCursor(0, 1);
    lcd.print("Menutup     ");
  } else {
    lcd.setCursor(0, 1);
    lcd.print("Menutup     ");
  }
  delay(500);  // Jeda sebelum pengecekan jarak selanjutnya
}

 

Skema Koneksi:

Sensor Ultrasonik (HC-SR04):

  1. VCC → 5V Arduino
  2. GND → GND Arduino
  3. TRIG → Pin 9 Arduino
  4. ECHO → Pin 10 Arduino

Servo Motor:

  1. VCC → 5V Arduino
  2. GND → GND Arduino
  3. Signal → Pin 6 Arduino

LCD (I2C):

  1. SDA → Pin A4 Arduino
  2. SCL → Pin A5 Arduino
  3. VCC → 5V Arduino
  4. GND → GND Arduino
This site uses cookies to offer you a better browsing experience. By browsing this website, you agree to our use of cookies.