Laporan Akhir 1 Modul 3






1. Prosedur
[Kembali]

1 Rangkai komponen sesuai percobaan dan kondisi yang dipilih.

2. Buat program menggunakan Arduino IDE.

3. Compile program yang telah dibuat lalu Upload ke dalam Arduino Uno.

4. Saat Proses Penguploadan porgram, lepas pin rx tx pada arduino master dengan arduino slave

5. Uji coba program pada rangkaian percobaan sesuai dengan kondisi yang diinginkan.

6. Selesai

2. Hardware dan Diagram Blok [Kembali]

Hardware :
Arduino Uno




Push Button




 LED




Diagram Blok :



3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Rangkaian Simulasi :


                                    

Prinsip Kerja :

Pada percobaan 1 kondisi 1 ini kita menggunakan komunikasi data UART yang mana mengirimkan data secara serial tanpa mengikuti clock menggunakan pin Rx dan pin Tx. disini kita menggunakan dipswitch pull down (maksud nya switchnya aktif ketika logika nya 1) sebagai input dari master pada arduino. dan slave (penerima) arduino yang mana nantinya output dapat dilihat pada hidup atau tidak led nya. Ketika 1 dipswitch dihidupkan maka 1 led hidup sedangkan 4 dipswitch dihidupkan maka 3 led akan hidup.


4. Flowchart dan Listing Program [Kembali]

Flowchart :

Master


 Slave


Listing Program :

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
void setup() 
{ 
 Serial.begin(9600);
 pinMode(DS1, INPUT);
 pinMode(DS2, INPUT);
 pinMode(DS3, INPUT);
 pinMode(DS4, INPUT);
 pinMode(DS5, INPUT);
 pinMode(DS6, INPUT);
 pinMode(DS7, INPUT);
 pinMode(DS8, INPUT);
}
void loop()
{
 int count = 0;
  for (int pin = DS1; pin <= DS8; pin++) {
    count += digitalRead(pin);
  }
 if (count == 1)
 {
 Serial.write('A');
 }
 else if (count == 4)
 {
 Serial.write('B');
 }
 delay(20);
}



 Slave

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

void setup() 
 Serial.begin(9600); // Memulai komunikasi serial dengan kecepatan 9600 bits per detik
 
 // Melakukan iterasi untuk setiap LED dan mengatur sebagai OUTPUT
 for (int i = 0; i < 8; i++)
 {
  pinMode(led[i], OUTPUT);
 }
}

void loop()
{
 if (Serial.available()) // Periksa apakah ada data yang tersedia untuk dibaca dari serial
{
 message = Serial.read(); // Membaca karakter yang diterima dari serial
 
 // Mengecek pesan yang diterima dan menyalakan LED yang sesuai
 if (message == '1')
 {
  digitalWrite(led[0], 1); // Menyalakan LED 1
 }
 else if (message == '2')
 {
  digitalWrite(led[1], 1); // Menyalakan LED 2
 }
 else if (message == '3')
 {
  digitalWrite(led[2], 1); // Menyalakan LED 3
 }
 else if (message == '4')
 {
  digitalWrite(led[3], 1); // Menyalakan LED 4
 }
 else if (message == '5')
 {
  digitalWrite(led[4], 1); // Menyalakan LED 5
 }
 else if (message == '6')
 {
  digitalWrite(led[5], 1); // Menyalakan LED 6
 }
 else if (message == '7')
 {
  digitalWrite(led[6], 1); // Menyalakan LED 7
 }
 else if (message == '8')
 {
  digitalWrite(led[7], 1); // Menyalakan LED 8
 }
}
delay(20); // Tunda sebentar

 // Mematikan semua LED setelah tunda
 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 (Komunikasi UART Menggunakan Arduino - sesuai rangkaian modul) er


6. Video Simulasi [Kembali]




7. Download File [Kembali]

HTML                                  klik disini
Video Percobaan                  klik disini
Listing Program                   klik disini
Datasheet Arduino               klik disini
Datasheet Dipswitch            klik disini
Datasheet 7 Segment           klik disini

Tidak ada komentar:

Posting Komentar