Modul 3
Tugas Pendahuluan
1. Prosedur [Kembali]
1. Rangkai semua komponen sesuai kondisi yang dipilih seperti gambar di bawah
2. buat program di aplikasi arduino IDE
3. setelah selesai masukkan program ke arduino di proteus
4. jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi
5. Selesai
2. Hardware dan diagram blok [Kembali]
1. Arduino Uno
![]() |
| Gambar 1. Arduino |
2. LED
4. Resistor
Diagram Blok :
3. Rangkaian Simulasi dan Prinsip kerja [Kembali]
=> Gambar Rangkaian
PRINSIP KERJA
Dalam susunan sistem yang telah dirancang, terdapat dua unit Arduino yang berperan sebagai Arduino master dan Arduino slave. Arduino master terkoneksi dengan dip switch, sementara Arduino slave terkoneksi dengan serangkaian LED. Dip switch terhubung dengan pin 2, 3, 4, 5, 6, 7, 8, dan 9 pada Arduino master, sedangkan LED terhubung dengan pin 2, 3, 4, 5, 6, 7, 8, dan 9 pada Arduino slave. Saat salah satu dip switch diaktifkan, maka LED akan bergerak secara berurutan dari LED 1 hingga LED 8.
Selanjutnya, ketika tiga dip switch diaktifkan secara bersamaan, tiga LED akan berkedip sesuai dengan pola yang telah ditentukan dalam program. Sistem ini memungkinkan untuk mengatur perilaku LED secara dinamis sesuai dengan kondisi yang diatur melalui dip switch. Dengan demikian, sistem ini dapat diadaptasi sesuai dengan kebutuhan spesifik dalam berbagai aplikasi, baik untuk keperluan tampilan visual maupun sebagai indikator status dalam sistem yang lebih kompleks.
- Master
//MASTER
#define DS1 2
#define DS2 3
#define DS3 4
#define DS4 5
#define DS5 6
#define DS6 7
#define DS7 8
#define DS8 9
bool b1, b2, b3, b4, b5, b6, b7, b8;
void setup()
{
Serial.begin(9600);
pinMode(DS1, INPUT_PULLUP);
pinMode(DS2, INPUT_PULLUP);
pinMode(DS3, INPUT_PULLUP);
pinMode(DS4, INPUT_PULLUP);
pinMode(DS5, INPUT_PULLUP);
pinMode(DS6, INPUT_PULLUP);
pinMode(DS7, INPUT_PULLUP);
pinMode(DS8, INPUT_PULLUP);
}
void loop()
{
int b8 = digitalRead(DS8);
int b7 = digitalRead(DS7);
int b6 = digitalRead(DS6);
int b5 = digitalRead(DS5);
int b4 = digitalRead(DS4);
int b3 = digitalRead(DS3);
int b2 = digitalRead(DS2);
int b1 = digitalRead(DS1);
// Menghitung jumlah button yang ditekan
int pressedCount = 0;
pressedCount = b8 + b7 + b6 + b5 + b4 + b3 + b2 + b1;
if (pressedCount == 7){
Serial.write('1');
}
else if (pressedCount == 5){
Serial.write('3');
}
else{
Serial.write('0');
}
delay(20);
}
- Slave
//SLAVE
int led[] = {2, 3, 4, 5, 6, 7, 8, 9};
int message;
void setup()
{
Serial.begin(9600);
for (int i = 0; i < 8; i++)
{
pinMode(led[i], OUTPUT);
}
}
void loop()
{
if (Serial.available())
{
message = Serial.read();
if (message == '3') {
for (int i = 0; i <= 7; i++) {
digitalWrite(led[i], 0); // Menyalakan LED saat ini
}
digitalWrite(led[0], 1);
digitalWrite(led[1], 1);
digitalWrite(led[2], 1);
}
if (message == '1')
{
for (int i = 0; i <= 7; i++) {
digitalWrite(led[i], 1); // Menyalakan LED saat ini
delay(500); // Tunggu 500 ms
digitalWrite(led[i], 0); // Matikan LED saat ini sebelum pindah ke LED berikutnya
}
}
if (message == '0'){
for (int i = 0; i <= 7; i++) {
digitalWrite(led[i], 0); // Menyalakan LED saat ini
}
}
}
message = 0;
}
b. Flowchart
5. Kondisi [Kembali]Semua Switch dalam kondisi Pull-up, 1 switch aktif mengaktifkan running led dari led 1 hingga 8 sementara 3 switch aktif mengaktifkan blinking led pada 3 led.
6. Video Simulasi [Kembali]
Video 1. Rangkaian Simulasi
7. Download File [Kembali]
.png)
.png)
.png)
.png)
.png)
.png)
.png)

.png)


Tidak ada komentar:
Posting Komentar