LA1M3







Semua Switch pull-down, switch 1 dan 3 motor ke kanan, switch 1 dan 4 panah ke kanan

1.Prosedur

Langkah-langkah percobaan :

1. Rangkai semua komponen sesuai kondisi yang dipilih

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

  • arduino una
  • Dipswitch
  • LED



3. Rangkaian Simulasi dan Prinsip Kerja


    Pada percobaan ini kita menggunakan komunikasi UART antara dua Arduino, di mana satu berperan sebagai master dan yang lainnya sebagai slave. Tugas master adalah mengirim data, sementara slave bertanggung jawab untuk menerima dan mengolahnya. Komunikasi serial UART ini menggunakan metode asinkron, yang berarti tidak ada clock tunggal yang disinkronkan antara pengirim dan penerima. Data dikirim secara berurutan, dan penerima harus mengetahui kapan setiap bit data diharapkan tiba. Pada Arduino master, terdapat dip switch yang, jika ditekan, akan mengirimkan data ke Arduino slave melalui pin RX dan TX. Arduino slave kemudian membaca data yang diterima melalui komunikasi ini, sehingga dapat menyalakan LED sebagai responsnya.


A. Flowchart

  • Master

  • Slave




B. 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 
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); 
 
  // Hidupkan LED sesuai dengan tombol yang ditekan 
  if (b8 == LOW) 
    { 
      Serial.write('8'); 
    } 
  else if (b7 == LOW) 
    { 
      Serial.write('7'); 
    } 
  else if (b6 == LOW) 
    { 
      Serial.write('6'); 
    } 
  else if (b5 == LOW) 
    { 
      Serial.write('5'); 
    } 
  else if (b4 == LOW) 
    { 
      Serial.write('4'); 
    } 
  else if (b3 == LOW) 
    { 
      Serial.write('3'); 
    } 
  else if (b2 == LOW) 
    { 
      Serial.write('2'); 
    } 
  else if (b1 == LOW) 
    { 
      Serial.write('1'); 
    } 
  delay(20); 

 Slave
//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 == '1') 
    { 
      digitalWrite(led[0], 1); 
    } 
    else if (message == '2') 
    { 
      digitalWrite(led[1], 1); 
    } 
    else if (message == '3') 
    { 
      digitalWrite(led[2], 1); 
    } 
    else if (message == '4') 
    { 
      digitalWrite(led[3], 1); 
    } 
    else if (message == '5') 
    { 
      digitalWrite(led[4], 1); 
    } 
    else if (message == '6') 
    { 
      digitalWrite(led[5], 1); 
    } 
    else if (message == '7') 
    { 
      digitalWrite(led[6], 1); 
    } 
    else if (message == '8') 
    { 
      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); 



Semua Switch pull-down, switch 1 dan 3 motor ke kanan, switch 1 dan 4 panah ke kanan.

Tidak ada komentar:

Posting Komentar