Senin, 18 Maret 2024

Tugas Pendahuluan 2 M2

 



 Modul 1
(Percobaan 6 Kondisi 1)

1. Prosedur 
[Kembali]

1. Siapkan semua komponen yang akan di rangkai pada proteus
2. Rangkai rangkaian di proteus sesuai dengan kondisi percobaan.
3. Buat program di arduino di software Arduino IDE.
4. Compile program tersebut dan upload ke dalam arduino pada proteus
5. Setelah program selesai di upload, jalankan simulasi rangkaian pada proteus.
6. Finish

2. Hardware dan Diagram Blok [Kembali]

Hardware :

a) Arduino Uno



2. Push Button





3. LCD




4. Power Supply



Diagram Blok  :



3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Rangkaian Simulasi Sebelum dirunning:



Rangkaian Simulasi Setelah dirunning:


Prinsip Kerja : 

    Pada rangkaian di atas, menggunakan Push button, Resistor, Arduino dan LCD. Setelah rangkaian sudah selesasi masukkan kodingan program ke Arduino Uno pada proteus. Untuk melakukan semua setup pada rangkaian proteus yang sudah dibuat,  Pada rangkaian ini, button difungsikan sebagai input dan output akan ditampilkan pada LCD. Kemudian, dalam fungsi loop, program akan terus membaca program berulang dari awal hingga akhir program. 

    Pada button menggunakan prinsip kerja PULL UP., dimana kondisi awalnya yaitu OFF berada pada saat berlogika 1 dan kondisi ON pada saat berlogika 0. Apabila Button 1 ditekan, button yang awalnya berlogika 1 akan menjadi logika 0 dan akan ditampilkan output pada LCD yaitu "Dito1". Apabila Button 2 ditekan, maka LCD akan menampilkan "Dito2". Apabila Button 3 ditekan, maka LCD akan menampilkan "Dito3" dan terus begitu sampai pada button 8. Apabila terjadi kondisi dimana diluar kondisi yang sudah kita tuliskan di program maka, LCD akan menampilkan "Error". Apabila semua buton dalam keadaan OFF, maka LCD akan menampilkan "Silahkan Tekan Buttonnya".

4. Flowchart dan Listing Program [Kembali]

Flowchart :



Listing Program :

#include <LiquidCrystal.h>
#define PB1 A0
#define PB2 A1
#define PB3 A2
#define PB4 A3
#define PB5 A4
#define PB6 A5
#define PB7 12
#define PB8 13
const int rs = 11, en = 10, d4 = 6, d5 = 5, d6 = 4, d7 = 3;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
bool Button1,Button2,Button3,Button4,Button5,Button6,Button7,Button8;
void setup() {
 Serial.begin(9600);
 lcd.begin(16,2);
 pinMode(PB1, INPUT);
 pinMode(PB2, INPUT);
 pinMode(PB3, INPUT);
 pinMode(PB4, INPUT);
 pinMode(PB5, INPUT);
 pinMode(PB6, INPUT);
 pinMode(PB7, INPUT);
 pinMode(PB8, INPUT);
}
void loop() {
 Button1 = digitalRead(PB1);
 Button2 = digitalRead(PB2);
 Button3 = digitalRead(PB3);
 Button4 = digitalRead(PB4);
 Button5 = digitalRead(PB5);
 Button6 = digitalRead(PB6);
 Button7 = digitalRead(PB7);
 Button8 = digitalRead(PB8);
 if(Button1==LOW & Button2==HIGH & Button3==HIGH & Button4==HIGH & Button5==HIGH & Button6==HIGH & Button7==HIGH & Button8==HIGH){
 lcd.clear();
 lcd.setCursor(0, 1);
 lcd.print("Dito1");
 }
 else if(Button2==LOW & Button1==HIGH & Button3==HIGH & Button4==HIGH & Button5==HIGH & Button6==HIGH & Button7==HIGH & Button8==HIGH){
 lcd.clear();
 lcd.setCursor(0, 2);
 lcd.print("Dito2");
 }
 else if(Button3==LOW & Button2==HIGH & Button1==HIGH & Button4==HIGH & Button5==HIGH & Button6==HIGH & Button7==HIGH & Button8==HIGH){
 lcd.clear();
 lcd.setCursor(1, 0);
 lcd.print("Dito3");
 }
 else if(Button3==HIGH & Button2==HIGH & Button1==HIGH & Button4==LOW & Button5==HIGH & Button6==HIGH & Button7==HIGH & Button8==HIGH){
 lcd.clear();
 lcd.setCursor(2, 0);
 lcd.print("Dito4");
 }
 else if(Button3==HIGH & Button2==HIGH & Button1==HIGH & Button4==HIGH & Button5==LOW & Button6==HIGH & Button7==HIGH & Button8==HIGH){
 lcd.clear();
 lcd.setCursor(1, 1);
 lcd.print("Dito5");
 }
 else if(Button3==HIGH & Button2==HIGH & Button1==HIGH & Button4==HIGH & Button5==HIGH & Button6==LOW & Button7==HIGH & Button8==HIGH){
 lcd.clear();
 lcd.setCursor(1, 2);
 lcd.print("Dito6");
 }
 else if(Button3==HIGH & Button2==HIGH & Button1==HIGH & Button4==HIGH & Button5==HIGH & Button6==HIGH & Button7==LOW & Button8==HIGH){
 lcd.clear();
 lcd.setCursor(2, 1);
 lcd.print("Dito7");
 }
 else if(Button3==HIGH & Button2==HIGH & Button1==HIGH & Button4==HIGH & Button5==HIGH & Button6==HIGH & Button7==HIGH & Button8==LOW){
 lcd.clear();
 lcd.setCursor(2, 2);
 lcd.print("Dito8");
 }
 else if(Button3==HIGH & Button2==HIGH & Button1==HIGH & Button4==HIGH & Button5==HIGH & Button6==HIGH & Button7==HIGH & Button8==HIGH){
 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.print("Silahkan Tekan");
 lcd.setCursor(0, 1);
 lcd.print("Salah Satu Button");
 }
 else{
 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.print("Error");
 }
 delay(100); // Tambahkan penundaan agar tampilan tidak berubah terlalu cepat
}


5. Kondisi [Kembali]

Percobaan 6 Kondisi 1
Button 1 - 8 menampilkan Dito1 - Dito8 secara berurut

6. Video Simulasi [Kembali]





7. Download File [Kembali]

Download Rangkaian Simulasi Klik Disini

Download HTML Klik Disini

Download Video Percobaan Klik Disini

Download Kodingan Program Klik Disini

Download Datasheet Arduino Klik Disini

Download Datasheet Button Klik Disini

Download Datasheet LCD Klik Disini








Tidak ada komentar:

Posting Komentar

Jawaban UTS No.3 Up

     [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Tujuan 2. Alat dan Bahan 3. Dasar Teori 4. Percobaan 5. File Download   Jawaban No.3 1. Tu...