Tugas Pendahuluan 1 (M3)

 [KEMBALI KE MENU SEBELUMNYA]


Percobaan 1 Kondisi 1
Komunikasi UART Menggunakan Arduino

1. Prosedur [Kembali]

  • Rangkai semua komponen 
  • Buat program di aplikasi arduino IDE
  • Setelah selesai masukkan program ke arduino 
  • Jalankan program pada simulasi dan cobakan sesuai kondisi






Prinsip Kerja :

Pada rangkain ini, kita menggunakan 2 arduino uno yang mana satu arduino sebagai master dan satu arduino lagi sebagai slave. Arduino master terhubung ke bagian input, yaitu dipswitch yang berada pada kondisi pull down. arduino slave terhubung ke bagian output yaitu led.
ketika salah satu switch dinyalakan atau dalam kondisi high, maka 1 led akan menyala yaitu led yang terhubung ke pin 2. kemudian, jika 4 buah switch dinyalakan atau dalam kondisi high, maka 3 led akan menyala. namun, jika tidak pada 2 kondisi tersebut maka led tidak akan menyala.


Flowchart:

Arduino Master

Arduino Slave




Listing Program :
//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
int led[] = {2, 3, 4, 5, 6, 7, 8, 9};
char 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 == 'A')
 {
 digitalWrite(led[0], 1);
 }
 else if (message == 'B')
 {
 digitalWrite(led[2], 1);
 digitalWrite(led[5], 1);
  digitalWrite(led[7], 1);
 }
}
delay(20);
 digitalWrite(led[0], 0);
 digitalWrite(led[1], 0);
 digitalWrite(led[2], 0);
 digitalWrite(led[3], 0);
 digitalWrite(led[4], 0);
 digitalWrite(led[5], 0);
 digitalWrite(led[6], 0);
 digitalWrite(led[7], 0);
}

4. Kondisi [Kembali]

(Semua Switch dalam kondisi Pull-down, 1 switch mengaktifkan 1 led sementara 4 switch mengaktifkan 3 led)

HTML klik disini  
Rangkaian Simulasi  klik disini
Video Simulasi   klik disini
Listing Program Master klik disini
Listing Program Slave klik disini


Tidak ada komentar:

Posting Komentar