Modul 3: Tugas Pendahuluan 1

 

PERCOBAAN 6 (TANPA KONDISI)



1. Kondisi
[Kembali]

     Tanpa kondisi

2. Rangkaian Simulasi [Kembali]






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]

    Program membaca status dari serangkaian saklar DIP yang terhubung ke pin-pin digital Arduino. Ketika saklar diaktifkan (dalam posisi LOW), program akan mengatur pola LED menjadi menyala, sedangkan jika saklar tidak diaktifkan (dalam posisi HIGH), pola LED akan dimatikan. Data pola LED kemudian dikirim melalui SPI ke perangkat lain (misalnya, mikrokontroler atau IC lain) sebagai 'slave'. Proses ini terus berulang di dalam loop(), dengan penundaan 100 milidetik di antara setiap pembaruan untuk memastikan tampilan LED stabil.

   

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]




















0 comments:

Posting Komentar