Tugas Pendahuluan 1 Modul 3
Tugas Pendahuluan 1 Modul 3
(Percobaan 1 kondisi 2)
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. 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]
4. Rangkaian Simulasi dan Prinsip Kerja [Kembali]
Rangkaian Simulasi :
Prinsip Kerja :
Pada percobaan seri 1 kondisi 1, menggunakan dua Arduino Unos, satu berperan sebagai master dan satu lagi sebagai slave. Master Arduino terhubung ke saklar DIP sebagai input, dengan slave Arduino terhubung ke LED sebagai output. Ketika 4 saklar DIP diaktifkan, satu LED akan menyala. Jika 4 saklar DIP diaktifkan lagi, dua LED akan menyala. Namun, jika jumlah sakelar DIP yang diaktifkan selain 4 dan 7, maka semua LED akan mati atau tidak terjadi apa-apa pada output.
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. Link Download [Kembali]
⟺Download HMTL klik disini
⟺Download Simulasi Rangkaian klik disini










_%20TP1_M3_Master.jpg)
_%20TP1_M3_Slave.jpg)
Tidak ada komentar:
Posting Komentar