Berikut adalah ide kami bertiga yang prihatin dengan musibah banjir di Indonesia. Kami ingin membantu warga dalam mendeteksi banjir sehingga meminimalisir dampak yang terjadi. Dengan menggunakan arduino kami membuat alat tersebut.
Cara Kerja:
Alat ini menggunakan sensor ultrasonik sebagai pendeteksi dari benda dengan cara pemantulan suara oleh transmiter dan di tangkap leh receiver. Respon itu di eksekusi oleh arduino sebagai komponen mikrokontroler sederhana atau bisa di katakan sebagai otak dari sistem alat ini. Dalam program Arduino dapat menampilkan Output sesuai keinginan kita, sesuai program yang kita buat. Output dari sistem kerja ini, berupa display dari LCD 16x2 dan action dari Lampu LED dan Buzzer. Buzzer dan Lampu LED ini aktif jika nilai dari ketinggian yang di tangkap oleh sensor terpenuhi.
Cara Kerja:
Alat ini menggunakan sensor ultrasonik sebagai pendeteksi dari benda dengan cara pemantulan suara oleh transmiter dan di tangkap leh receiver. Respon itu di eksekusi oleh arduino sebagai komponen mikrokontroler sederhana atau bisa di katakan sebagai otak dari sistem alat ini. Dalam program Arduino dapat menampilkan Output sesuai keinginan kita, sesuai program yang kita buat. Output dari sistem kerja ini, berupa display dari LCD 16x2 dan action dari Lampu LED dan Buzzer. Buzzer dan Lampu LED ini aktif jika nilai dari ketinggian yang di tangkap oleh sensor terpenuhi.
Berikut komponen-komponen yang dibutuhkan :
- Sensor Ultrasonik Ping
- LCD 16x2
- Arduino
- LED
- Buzzer
Setelah mendapatkan komponen tersebut, kita hanya perlu menghubungkannya satu persatu sesuai dengan gambar dibawah ini.
Berikut Videonya :
Video Rakitan di Protoboard
Video Rakitan di Protoboard
Video Simulasi
Diharapkan alat ini bisa digunakan tanpa perlu komputer lagi. Untuk itu, perlu ditambahkan sebuah alat (potensio atau tombol naik&turun) untuk mengatur batas maksimum ketinggian air secara fleksibel (sesuai keinginan), yang hasilnya ditampilkan di LCD. Jadi ketika sensor mendeteksi ketinggian air yang lebih dari batas maksimum yang ditampilkan di LCD, maka seharusnya buzzer berbunyi. Jadi LCD harus menampilkan 2 buah nilai, yaitu nilai ketinggian yang dibaca oleh sensor dan nilai batas maksimum ketinggian.
BalasHapusane bisa mnta code program di arduino nya ga gan.. untuk mengukur ketinggian air dengan ultrasonic ping
BalasHapusmas knapa pakai komputer alatnya
BalasHapusBoleh minta rincian harganya?
BalasHapusboleh minta coding arduinonya untuk alat pendeteksi banjirnya, kak?
BalasHapusboleh minta programnya gan
BalasHapusbang boleh minta rangkaian ISIS nya ?
BalasHapusboleh minta codingannya engga? makasiih
BalasHapusBolem mnta kodingnya gk om buat tugas akhir saya please ariidrianto@gmail.com
BalasHapusgan mnta kodingnya om please ariidrianto@gmail.com
BalasHapusMas Bisa minta source codenya ga? buat tugas kuliah. nama agan nanti tak cantumin di skripsi . kirim ke eky.riyadani@students.unnes.ac.id
BalasHapusmakasih
boleh minta codingnya
BalasHapusYg mau coding nya chat me
BalasHapus#include
HapusLiquidCrystal lcd(3,4,5,6,7,8);
#define TH1 45
#define TH2 95
#define TH3 200
#define TH4 400
#define TH5 600
#define CONV_FACTOR 0.00812
int ledArray [] = {10,11,12,13,9};
int geiger_input = 2;
long count = 0;
long countPerMinute = 0;
long timePrevious = 0;
long timePreviousMeassure = 0;
long time = 0;
long countPrevious = 0;
float radiationValue = 0.0;
void setup(){
pinMode(geiger_input, INPUT);
digitalWrite(geiger_input,HIGH);
for (int i=0;i<5;i++){
pinMode(ledArray[i],OUTPUT);
}
Serial.begin(19200);
lcd.begin(16, 2);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Radiation Sensor");
lcd.setCursor(0,1);
lcd.print("Board - Arduino");
delay(1000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Program percobaan");
delay(1000);
lcd.clear();
lcd.setCursor(0,1);
lcd.print("Radiasi nuklir");
delay(500);
for (int i=0;i<5;i++){
delay(200);
lcd.scrollDisplayLeft();
}
delay(500);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" - Libelium -");
lcd.setCursor(0,1);
lcd.print("www.libelium.com");
delay(1000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("CPM=");
lcd.setCursor(4,0);
lcd.print(6*count);
lcd.setCursor(0,1);
lcd.print(radiationValue);
attachInterrupt(0,countPulse,FALLING);
}
void loop(){
if (millis()-timePreviousMeassure > 10000){
countPerMinute = 6*count;
radiationValue = countPerMinute * CONV_FACTOR;
timePreviousMeassure = millis();
Serial.print("cpm = ");
Serial.print(countPerMinute,DEC);
Serial.print(" - ");
Serial.print("uSv/h = ");
Serial.println(radiationValue,4);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("CPM=");
lcd.setCursor(4,0);
lcd.print(countPerMinute);
lcd.setCursor(0,1);
lcd.print(radiationValue,4);
lcd.setCursor(6,1);
lcd.print(" uSv/h");
if(countPerMinute <= TH1) ledVar(0);
if((countPerMinute <= TH2)&&(countPerMinute>TH1)) ledVar(1);
if((countPerMinute <= TH3)&&(countPerMinute>TH2)) ledVar(2);
if((countPerMinute <= TH4)&&(countPerMinute>TH3)) ledVar(3);
if((countPerMinute <= TH5)&&(countPerMinute>TH4)) ledVar(4);
if(countPerMinute>TH5) ledVar(5);
count = 0;
}
}
void countPulse(){
detachInterrupt(0);
count++;
while(digitalRead(2)==0){
}
attachInterrupt(0,countPulse,FALLING);
}
void ledVar(int value){
if (value > 0){
for(int i=0;i<=value;i++){
digitalWrite(ledArray[i],HIGH);
}
for(int i=5;i>value;i--){
digitalWrite(ledArray[i],LOW);
}
}
else {
for(int i=5;i>=0;i--){
digitalWrite(ledArray[i],LOW);
}
}
}
Gan Ada produk siap pakainya gan
BalasHapusKalau Ada boleh rekomendasikan ke Saya utk di implememtasikan real,
Contact Saya :
tony.panjaitan@gmail.com
WA. 081210030365
Bang coding nya gak adaya
BalasHapus