sampah merupakan permasalahan yang serius dilingkungan masyarakat, dikarenakan banyak sekali warga kurang sadar tentang kebersihan lingkungan. banyak seklai sampah berserakan di jalan, pemukiman, bahkan sungaipun sekarang banyak sekali sampah.
padahal bila kita bisa memilih dan memilah sampah, dari sampah kita bisa mendapatkan keuntungan melalui pengepul sampah. pada kesempatan kali ini saya akan membagikan tutorial membuat tempat sampah pintar dengan cara kerja apabila kita berdekatan dengan tempat sampah maka secara otomatis tutup sampah akan otomatis terbuka
langsung saja untuk bahan-bahan yang dibutuhkan sbb:
- 1 buah Arduino UNO.
- 1 buah sensor Ultrasonic HC-SR04
- 1 Buah Servo,
- Breadboard/Projectboard
- Kabel jumper secukupnya,
Untuk Gambar Rangkaiannya sbb:
Keterangan Rangkaian :
Kabel Data Untuk Servo (Biasanya Berwarna Orange/kuning) ===> pin 10 Arduino
Pin Trigger Sensor Ultrasonic HC-SR04 ===> pin 8 Arduino
Pin Echo Sensor Ultrasonic HC-SR04 ===> pin 9 Arduino
Kabel VCC Untuk Servo (Biasanya Berwarna Merah) ===> 5V
Kaki VCC pada Sensor Ultrasonic HC-SR04 ===> 5V
Kaki ground atau kabel hitam pada masing-masing komponen ===> Gnd pada arduino
// menambahkan lubrary Servo
#include <Servo.h>
// inialisasi variabel untuk servo
Servo servo1;
// inialisasi pin ultrasonic
const int pinTRIGGER = 8;
const int pinECHO = 9;
// inialisasi variabel pembacaan sensor ultrasonic
// gunakan "float" untuk angka dengan koma
// atau gunakan "int" untuk angka tanpa koma
float durasi, jarak;
// ======================= program pengaturan awal ====================== //
void setup()
{
// inialisasi baud rate serial monitor
Serial.begin(9600);
// inialisasi pin servo
servo1.attach(10);
// menulis derajat awal servo (menutup)
servo1.write(0);
// inialisasi stauts I/O pin
pinMode(pinTRIGGER, OUTPUT);
pinMode(pinECHO, INPUT);
delay(1000);
}
// ============================== program utama ============================= //
void loop()
{
//pembacaan sesnor ulrasonic
//Mengaktifak pin Trigger selama 10mikrodetik
//Lalu dia non aktif
digitalWrite(pinTRIGGER, HIGH);
delayMicroseconds(10);
digitalWrite(pinTRIGGER, LOW);
//Mengaktifkan pin Echo yang menerima pantulan gelombang ultrasonik
//pulseIn = Lama durasi pin Echo menerima pantulan gelombang
//Menghitung rumus jarak(Lama durasi dibagi dua)
durasi = pulseIn(pinECHO, HIGH);
jarak = ((durasi * 0.034) / 2);
// menulis data pembacaan ultrasonic pada serial monitor
// jadi kita tahu jarak obejak yang terbaca
Serial.print("Jarak
Serial.println(jarak);
// program buka tutup servo otomatis
// jika jarak objek terbaca <= 7 cm
// ubah dan sesuaikan jarak objek saat buka di sini, satuan cm
if (jarak <= 7)
{
// servo membuka, mnuju derajat 90
// ubah dan asesuaikan derajat buka di sini
servo1.write(90);
// delay membuka servo
// di sini disetting 3 detik membukanya
// ubah durasi buka di sini
delay(3000);
// servo menutup kembali, menuju derajat 0
// ubah dan sesuaikan derajat tutup di sini
servo1.write(0);
}
// jika jarak objek terbaca lebih dari pernyataan di atas
else
{
// servo menutup, menuju derajat 0
// ubah dan sesuaikan derajat tutup di sini
servo1.write(0);
}
// delay program
delay(100);
}
0 Comments:
Posting Komentar