PERCOBAAN 6 (TANPA KONDISI)
Tidak ada kondisi
2. Rangkaian Simulasi
[Kembali]
Sebelum 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
}
3. Video [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]
- HTML [disini]
- File Simulasi [disini]
- Video [disini]
- Datasheet LED matrix 8x8 [disini]
- Datasheet Arduino Uno [disini]



Tidak ada komentar:
Posting Komentar