Anda di halaman 1dari 4

Yulius Wahyu Jatmiko.

ST

19040384010356

1. Buatlah sistem PLC untuk melakukan pengontrolan lampu cerdas cermat.

a. Buatlah gambaran wiring hard nya

b. Buat ladder diagram nya

c. Buat listing programnya

2. Buatlah sistem mikrokontroller untuk keamanan/deteksi/early warning sistem banjir dan bahaya
banjir. Jika banjir (akan datang) alarm berbunyi.

a. Rancanglah wiring hardnya nya (Jenis mikrokontroller dan port I/O nya bebas, sesuai kebutuhan)
b. Buatlah software untuk menjalankan sistem tersebut.

#include <LiquidCrystal.h>//pasang LCD

#include <HCSR04.h>//pasang Sensor

#define TRIGGER_PIN 13//pasang pin trigger sensor di pin 13

#define ECHO_PIN 12// pasang pin echo sensor di pin 12

#define ledlman 3 // pasang led ijo (aman) di pin 3

#define led1 4 // led kuning (hati-hati) di pin 4

#define led2 5 // led merah (bahaja) di pin 5

#define buz A0 // pasang suara pengung di analog 0

LiquidCrystal lcd(6, 7, 8, 9, 10, 11); // pasang LCD di pin tersebut

UltraSonicDistanceSensor distanceSensor(TRIGGER_PIN, ECHO_PIN); // library sensor

int z=0;

int y=20;

long distance;

void setup() {//terbaca di awal program

lcd.begin(16, 2);

lcd.print("UJICOBA"); // menampilkan kata "ujicoba"

Serial.begin (9600);

pinMode (ledlman, OUTPUT);

pinMode (led1, OUTPUT);

pinMode (led2, OUTPUT);

pinMode (A0, OUTPUT);

void loop() {//program berulang

delay(1000);//diperbaharui setiap 1 detik

double distance = distanceSensor.measureDistanceCm();//nilai terbaca dalam satuan centimeter

Serial.print("Hasil Sensor 1 :");

Serial.print(distance);

Serial.print("cm | ");

z = y-distance;
lcd.clear();

lcd.setCursor(0, 0); lcd.print("Ketinggian Air");

lcd.setCursor(0, 1); lcd.print("Jarak :");lcd.print(z);

lcd.setCursor(14, 1); lcd.print("Cm");

if (distance >= 18) // jarak aman

digitalWrite(ledlman, HIGH);//hijau menyala

digitalWrite(led1, LOW);

digitalWrite(A0, LOW);

digitalWrite(led2, LOW);

//jika jarak aman, led yang menyala warna hijau, led lain dan buzzer mati

if ((distance >= 9) && (distance <= 17)) //jarak waspada

digitalWrite(led1, HIGH);//kuning menyala

digitalWrite(A0, HIGH);//buzzer menyala

digitalWrite(led2, LOW);

digitalWrite(ledlman, LOW);

delay (1000);//setelah 1 detik

digitalWrite(A0, LOW);// buzzer mati

digitalWrite(led1, LOW);// led kuning mati

//jika air meninggi dalam jarak waspada, led kuning menyala, led lain mati. buzzer bersuara. setelah
1 detik buzzer dan led kuning mati.

if ((distance >= 2) && (distance < 9)) //jarak bahaya

digitalWrite(led2, HIGH);//led merah menyala

digitalWrite(A0, HIGH);//buzzer menyala

digitalWrite(led1, LOW);

digitalWrite(ledlman, LOW);

}
delay(500);

Anda mungkin juga menyukai