Professional Documents
Culture Documents
SodaPDF-compressed-UAS MIKROPROSESOR RUBEN - Reduce
SodaPDF-compressed-UAS MIKROPROSESOR RUBEN - Reduce
KELAS : EL-4C
NIM : 1905032038
UJIAN : MIKROPROSESOR
JAWABAN :
Version : 1905032038
Date : 7/11/2021
Author : ABDULLAH
Comments: EL-4C
#include <mega32.h>
#include <delay.h>
while (1)
if (PIND.4==0)
PORTB.0=1;
PORTB.1=0;
PORTB.6=1;
PORTB.7=0;
PORTC.0=1;
PORTC=0x7f;
PORTC=0x1;
PORTD.0=0;
PORTD.1=1;
PORTD.2=1;
PORTD.5=1;
PORTD.6=0;
PORTD.7=1;
lcd_gotoxy(0,0);
lcd_gotoxy(0,1);
lcd_gotoxy(0,2);
lcd_gotoxy(0,3);
delay_ms(100);
//======================================
if (PIND.3==0)
PORTB.0=1;
PORTB.1=0;
PORTB.6=0;
PORTB.7=1;
PORTC.0=0;
PORTC=0x30;
PORTC=0x4;
PORTD.0=1;
PORTD.1=1;
PORTD.3=0;
PORTD.4=1;
PORTD.5=0;
PORTD.6=1;
PORTD.7=0;
lcd_gotoxy(0,0);
lcd_gotoxy(0,1);
lcd_gotoxy(0,2);
lcd_gotoxy(0,3);
delay_ms(50);
//======================================
if (PIND.2==0)
PORTB.0=0;
PORTB.1=0;
PORTB.6=0;
PORTB.7=0;
PORTC.0=0;
PORTC=0x19;
PORTC=0x48;
PORTD.0=0;
PORTD.1=0;
PORTD.4=0;
PORTD.5=0;
PORTD.6=0;
PORTD.7=0;
lcd_gotoxy(0,0);
lcd_gotoxy(0,1);
lcd_gotoxy(0,2);
lcd_gotoxy(0,3);
delay_ms(50);
}
1.) Jika button 1 di tekan maka :
Lcd menampilkan tulisan
7seg-com-an = angka 8
Traffic light = merah dan hijau
Kedua motor bergerak searah ke arah kiri
Led 1 dan 3 hidup
VID_20210711_230817.mp4
2.) RANCANGAN ARDUINO TERKONEKSI INPUT DAN OUTPUT :
INPUT = MINIMAL 3 { SENSOR API, SENSOR GAS, BUTTON }
OUTPUT = MINIMAL 3 { LCD, POMPA, KIPAS, LED, TRAFFIC LIGHT, MOTOR }
JAWABAN :
void setup() {
// put your setup code here, to run once:
pinMode(pompa, OUTPUT);
pinMode(kipas, OUTPUT );
pinMode(sensor_gas, INPUT);
pinMode(sensor_api, INPUT);
lcd.begin(20,4);
pinMode(tr_merah , OUTPUT);
pinMode(tr_kuning, OUTPUT);
pinMode(tr_hijau, OUTPUT);
pinMode(button, INPUT);
pinMode(led, OUTPUT);
pinMode(motor_plus, OUTPUT);
pinMode(motor_negatif, OUTPUT);
void loop() {
lcd.setCursor(0,0);
lcd.print (" TRAFFIC HIDUP ");
lcd.setCursor(0,1);
lcd.print (" GAS TERDETEKSI ");
lcd.setCursor(0,2);
lcd.print (" API TERDETEKSI ");
lcd.setCursor(0,3);
lcd.print (" POMPA HIDUP ");
digitalWrite(tr_merah, HIGH);
digitalWrite(tr_kuning,HIGH);
digitalWrite(tr_hijau, HIGH);
digitalWrite(pompa, HIGH);
digitalWrite(kipas, LOW);
delay(1000);
}
lcd.setCursor(0,0);
lcd.print (" PROGRAM ARDUINO ");
lcd.setCursor(0,1);
lcd.print (" GAS TERDETEKSI ");
lcd.setCursor(0,2);
lcd.print (" API TERDETEKSI ");
lcd.setCursor(0,3);
lcd.print (" POMPA HIDUP ");
digitalWrite(tr_merah, HIGH);
digitalWrite(tr_kuning,HIGH);
digitalWrite(tr_hijau, LOW);
delay(1000);
}
//==========================================================
==================
else
digitalWrite(kipas, LOW);
digitalWrite(pompa, LOW);
lcd.setCursor(0,0);
lcd.print (" SISTEM ARDUINO ");
lcd.setCursor(0,1);
lcd.print (" GAS TIDAK AKTIF ");
lcd.setCursor(0,2);
lcd.print (" API TIDAK AKTIF ");
lcd.setCursor(0,3);
lcd.print (" POMPA MATI ");
digitalWrite(tr_merah, LOW);
digitalWrite(tr_kuning, HIGH);
digitalWrite(tr_hijau, HIGH);
delay(1000);
//==========================================================
==================
lcd.setCursor(0,0);
lcd.print (" TRAFFIC MERAH ");
lcd.setCursor(0,1);
lcd.print (" GAS TERDETEKSI ");
lcd.setCursor(0,2);
lcd.print (" API TERDETEKSI ");
lcd.setCursor(0,3);
lcd.print (" POMPA HIDUP ");
digitalWrite(tr_merah, HIGH);
digitalWrite(tr_kuning, LOW);
digitalWrite(tr_hijau, LOW);
digitalWrite(kipas, LOW);
digitalWrite(pompa, HIGH);
delay(1000);
}
//==========================================================
==================
lcd.setCursor(0,0);
lcd.print (" TRAFFIC KUNING ");
lcd.setCursor(0,1);
lcd.print (" GAS TERDETEKSI ");
lcd.setCursor(0,2);
lcd.print (" API TIDAK ADA ");
lcd.setCursor(0,3);
lcd.print (" KIPAS HIDUP ");
digitalWrite(tr_merah, LOW);
digitalWrite(tr_kuning, HIGH);
digitalWrite(tr_hijau, LOW);
digitalWrite(kipas, HIGH);
digitalWrite(pompa, LOW);
delay(1000);
delay(1000);
}
//==========================================================
==================
else
digitalWrite(kipas, LOW);
digitalWrite(pompa, HIGH);
lcd.setCursor(0,0);
lcd.print (" TRAFFIC HIJAU ");
lcd.setCursor(0,1);
lcd.print (" GAS TIDAK AKTIF ");
lcd.setCursor(0,2);
lcd.print (" API AKTIF ");
lcd.setCursor(0,3);
lcd.print (" POMPA HIDUP ");
digitalWrite(tr_merah, LOW);
digitalWrite(tr_kuning, LOW);
digitalWrite(tr_hijau, HIGH);
delay(1000);
}
//==========================================================
==================
lcd.setCursor(0,0);
lcd.print (" RUBEN SIMAREMARE ");
lcd.setCursor(0,1);
lcd.print (" 1905032038 ");
lcd.setCursor(0,2);
lcd.print (" EL-4C ");
lcd.setCursor(0,3);
lcd.print (" TEKNIK LISTRIK ");
digitalWrite(tr_merah, HIGH);
digitalWrite(tr_kuning,HIGH);
digitalWrite(tr_hijau, HIGH);
digitalWrite(button, LOW);
digitalWrite(led, HIGH);
digitalWrite(motor_plus , HIGH);
digitalWrite(motor_negatif , LOW);
digitalWrite(pompa, HIGH);
digitalWrite(kipas, HIGH);
delay(1000);
//==========================================================
==================
lcd.setCursor(0,0);
lcd.print (" SISTEM ARDUINO ");
lcd.setCursor(0,1);
lcd.print (" AKHIRNYA ");
lcd.setCursor(0,2);
lcd.print (" SELESAI ");
lcd.setCursor(0,3);
lcd.print (" TERIMA KASIH ");
digitalWrite(tr_merah, HIGH);
digitalWrite(tr_kuning,LOW);
digitalWrite(tr_hijau, HIGH);
digitalWrite(button, LOW);
digitalWrite(led, HIGH);
digitalWrite(motor_plus , LOW);
digitalWrite(motor_negatif , HIGH);
digitalWrite(pompa, HIGH);
digitalWrite(kipas, LOW);
delay(1000);
//==========================================================
==================
lcd.setCursor(0,0);
lcd.print (" ");
lcd.setCursor(0,1);
lcd.print (" ");
lcd.setCursor(0,2);
lcd.print (" ");
lcd.setCursor(0,3);
lcd.print (" ");
digitalWrite(tr_merah, LOW);
digitalWrite(tr_kuning,LOW);
digitalWrite(tr_hijau, LOW);
digitalWrite(button, LOW);
digitalWrite(led, LOW);
digitalWrite(motor_plus , LOW);
digitalWrite(motor_negatif , LOW);
digitalWrite(pompa, LOW);
digitalWrite(kipas, LOW);
delay(1000);
}
// put your main code here, to run repeatedly:
}
1.) Jika sensor api dan gas terdeteksi maka :
Pompa hidup
Traffic light hidup : merah, kuning hijau
Lcd menampilkan tulisan
2.) Jika antara sensor gas aktif atau sensor api aktif maka :
Pompa hidup
Traffic light hidup : merah, kuning
Lcd menampilkan tulisan
3.) Jika saat kedua sensor mati maka :
Pompa mati
Traffic light hidup : kuning, hijau
Lcd menampilkan tulisan
6.) Jika sensor gas tidak aktif, sensor api aktif maka :
Pompa hidup
Traffic light hidup : hijau
Lcd menampilkan tulisan
7.) Menghidupkan motor melalui push button maka :
Traffic light hidup : merah, kuning, hijau
Putaran motor ke arah kanan
Led, pompa, kipas hidup
Sensor api dan gas mati
Lcd menampilkan tulisan
VID_20210711_151102.mp4
VID_20210711_151102.mp4