Chrome Pointer

TP1 Modul 3




Tugas Pendahuluan 1 Modul 3
( Percobaan 1 Kondisi 2 )


1. Prosedur
[Kembali]

1. Rangkai rangkaian di proteus sesuai dengan kondisi percobaan.
2. Tulis program untuk arduino di software Arduino IDE.
3. Compile program tadi, lalu upload ke dalam arduino.
4. Setelah program selesai di upload, jalankan simulasi rangkaian pada proteus.

2. Hardware dan Diagram Blok [Kembali]

Hardware :

1.Arduino Uno




2.Dipswitch




3.Led




4. Resistor


 
Diagram Block :


3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Rangkaian Simulasi :



Prinsip Kerja :

Pada rangkaian percobaan 1 kondisi 1, terdapat dua Arduino Uno yang digunakan, dimana satu Arduino bertindak sebagai master dan yang lainnya sebagai slave. Arduino master terhubung ke bagian input, yaitu dipswitch yang terhubung dalam kondisi pull down. Sedangkan, Arduino slave terhubung ke bagian output, di mana terdapat LED.

Arduino Master bertindak sebagai arduino yang akan memberikan commando/perintah yang berasal dari inputannya ke arduino slave. sedangkan arduino slave bertindak sebagai penerima/ yang menjalankan commando tersebut dalam bentuk output yakni LED.

Jadi ketika input swtich yang on pada dipswitch berjumlah 4, maka output yang dihasilkan berupa 1 LED akan ON. kondisi selanjutnya ketika switch yang on berjumlah 4, maka output yang dihasilkan berupa 2 LED akan Menyala/on. Namun ketika jumlah dipswitch yang on berjumlah selain 4 dan 7, maka semua LED akan t dalam keadaan off atau tidak terjadi apa apa pada output.


4. Flowchart dan Listing Program [Kembali]

Flowchart :

Master



Slave

Listing Program :

MASTER

// Definisi nomor pin dipswitch pada arduino
#define DS1 2
#define DS2 3
#define DS3 4
#define DS4 5
#define DS5 8
#define DS6 9
#define DS7 10
#define DS8 11

// Fungsi setup() dijalankan sekali pada awal
void setup() 
 // Memulai komunikasi Serial pada baud rate 9600
 Serial.begin(9600);
 
 // Mengatur semua pin dipswitch sebagai input
 pinMode(DS1, INPUT);
 pinMode(DS2, INPUT);
 pinMode(DS3, INPUT);
 pinMode(DS4, INPUT);
 pinMode(DS5, INPUT);
 pinMode(DS6, INPUT);
 pinMode(DS7, INPUT);
 pinMode(DS8, INPUT);
}

// Fungsi loop() dijalankan berulang kali
void loop()
{
 // Inisialisasi variabel count untuk menghitung jumlah input yang HIGH
 int count = 0;
 
  // Melakukan looping dari pin DS1 sampai DS8
  for (int pin = DS1; pin <= DS8; pin++) {
    // Menambahkan nilai ke count jika pin dalam keadaan HIGH
    count += digitalRead(pin);
  }
  
  // Jika 7 pin terdeteksi HIGH, mengirim 'A' melalui Serial
 if (count == 7)
 {
  Serial.write('A');
 }
 // Jika 4 pin terdeteksi HIGH, mengirim 'B' melalui Serial
 else if (count == 4)
 {
  Serial.write('B');
 }
 
 // Menunggu 20 milidetik sebelum melakukan loop berikutnya
 delay(20);
}

SLAVE

// Inisialisasi array dengan nomor pin untuk 8 LED
int led[] = {2, 3, 4, 5, 6, 7, 8, 9};
char message; // Variabel untuk menyimpan pesan yang diterima

// Fungsi setup() dijalankan sekali pada awal
void setup() 
 // Memulai komunikasi Serial pada baud rate 9600
 Serial.begin(9600);
 
 // Mengatur semua pin LED sebagai output
 for (int i = 0; i < 8; i++)
 {
  pinMode(led[i], OUTPUT);
 }
}

// Fungsi loop() dijalankan berulang kali
void loop()
{
 // Memeriksa apakah ada data yang tersedia untuk dibaca dari Serial
 if (Serial.available())
 {
  // Membaca pesan dari Serial
  message = Serial.read();
  
  // Jika pesan adalah 'A', nyalakan LED pertama (index 0 dalam array led)
  if (message == 'A')
  {
   digitalWrite(led[0], HIGH);
  }
  // Jika pesan adalah 'B', nyalakan LED ke-4 dan ke-8 (index 3 dan 7 dalam array led)
  else if (message == 'B')
  {
   digitalWrite(led[3], HIGH);
   digitalWrite(led[7], HIGH);
  }
 }
 // Menunggu 20 milidetik
 delay(20);
 
 // Mematikan semua LED setelah penundaan
 // Ini memastikan LED hanya menyala sementara setelah menerima pesan
 digitalWrite(led[0], LOW);
 digitalWrite(led[1], LOW);
 digitalWrite(led[2], LOW);
 digitalWrite(led[3], LOW);
 digitalWrite(led[4], LOW);
 digitalWrite(led[5], LOW);
 digitalWrite(led[6], LOW);
 digitalWrite(led[7], LOW);
}

5. Kondisi [Kembali]

 Percobaan 1 Kondisi 2 :
 Semua Switch dalam kondisi Pull-down, 7 switch mengaktifkan 1 led sementara 4 switch     mengaktifkan 2 led

6. Video Simulasi [Kembali]




7. Download File [Kembali]
HTML                          klik disini
File Rangkaian             klik disini
Video Percobaan          klik disini
Listing Program           klik disini
Datasheet Arduino       klik disini
Datasheet Dipswitch    klik disini
Datasheet LED            klik disini

Tidak ada komentar:

Posting Komentar