Senin, 29 April 2024

TP1 M3

 

PERCOBAAN 6 (TANPA KONDISI)



1. Kondisi
[Kembali]

     Tidak ada kondisi

2. Rangkaian Simulasi [Kembali]

Sebelum dijalankan


Setelah dijalankan





Listning Program:
#include <SPI.h>

const int SS_PIN = 10; // Slave Select pin
const int DIP_Pins[] = {2, 3, 4, 5, 6, 7, 8, 9}; // Pin DIP switch terhubung ke Arduino
byte patterns[8] = {0}; // Pola LED untuk ditampilkan

void setup() {
  SPI.begin();
  pinMode(SS_PIN, OUTPUT); // Perbaikan pada penulisan fungsi pinMode
  digitalWrite(SS_PIN, HIGH); // Tidak memilih slave saat ini
  for (int i = 0; i < 8; i++) {
    pinMode(DIP_Pins[i], INPUT_PULLUP); // Mengatur pin DIP switch sebagai input dengan pull-up resistor
   }
}
 
void loop() {
   // Membaca status DIP switch dan mengupdate pola LED
   for (int i = 0; i < 8; i++) {
     if (digitalRead(DIP_Pins[i]) == LOW) {
       patterns[i] = 0xFF; // Mengatur semua LED menyala jika sakelar diaktifkan
     } else {
       patterns[i] = 0; // Mengatur semua LED mati jika sakelar tidak diaktifkan
     }
   }
   
   // Mengirim data pola LED ke slave
   digitalWrite(SS_PIN, LOW); // Memilih slave
   for (int i = 0; i < 8; i++) {
     SPI.transfer(patterns[i]);
   }
   digitalWrite(SS_PIN, HIGH); // Melepas slave
   delay(100); // Delay untuk tampilan LED stabil
}


Flowchart




3. Video [Kembali]






4. Prinsip Kerja [Kembali]

    Seri di atas merupakan eksperimen komunikasi SPI. Arduino 1 bertindak sebagai master sistem dengan menggunakan saklar sebagai input, Ketika setiap saklar ditekan, 8 diantaranya terhubung ke Arduino, dan Arduino terus memeriksa status setiap tombol menggunakan fungsi digitalRead(). Ketika sebuah saklar ditekan, Arduino mengirimkan karakter yang sesuai menggunakan fungsi SPI.transfer.Karakter yang dikirim sesuai dengan saklar yang ditekan dan dibaca oleh perangkat Arduino lainnya. Arduino 2 berperan sebagai slave yang nantinya menerima masukan dari master Arduino dan menghasilkan keluaran berupa dot matriks 8x8. Prinsip kerja rangkaian diatas adalah mengontrol output dot matrik yang terhubung ke pin Arduino berdasarkanstatus dari 8 switch yang terhubung ke pin Arduino. setup() menyetel pin yang terhubung ke sakelar sebagai input. Program terus memeriksa status saklar di loop(). Saat sakelar dalam keadaan hidup, matriks titik pada baris sakelar DIP juga dalam keadaan hidup, dan sebaliknya.

   

5. Link Download [Kembali]
  1. HTML [disini]
  2. File Simulasi [disini]
  3. Video [disini]
  4. Datasheet LED matrix 8x8 [disini]
  5. Datasheet  Arduino Uno [disini]




















Tidak ada komentar:

Posting Komentar