Tugas Pendahuluan 2

M3 P6

 [Kembali ke Menu Sebelumnya]


MODUL 3: Communication
Tugas Pendahuluan 1

1. Susunlah susunan komponen dalam perangkat lunak Proteus sesuai dengan kondisi eksperimen.
2. Buatlah skrip untuk perangkat Arduino menggunakan perangkat lunak Arduino IDE.
3. Lakukan proses kompilasi untuk skrip tersebut, kemudian unggah ke perangkat Arduino.
4. Setelah proses pengunggahan selesai, aktifkan simulasi rangkaian dalam perangkat lunak Proteus.

a) Modul Arduino


b) Dipswitch





c) LED

d) MAX7219



     

Percobaan 6


Percobaan 6


 Pada ercobaan ini, terdapat 2 arduino sdimana satua aruino menjadi slave dan satu lagi menjadi master. Komunikasi yang akan dpraktekkan adalah SPI, dimana komunkasi akan melalui pin MISO, MOSI, SCK, dan SS/CS. Pertama arduino slave akan menerima input dari dipswitch dimana kondisi merupakan pull-up. Input dari dipswitch akan dikirimkan melalui pin MOSI ke arduino slave yang kemudian akan di berikan output pada dotmatriks. 

Dot matriks akan aktif sesuai dengan input dipswitch mana yang aktif.

4. Flowchart [Kembali]

Percobaan 6

//Master Arduino (sebelah kanan)
//Master #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); 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] = B11111111; // 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 }
#include <SPI.h> #include <LedControl.h> //Library untuk LED Dot Matrix const int SS_PIN = 10; // Slave Select pin LedControl lc=LedControl(2,3,4,1); // Pin DIN, CLK, LOAD (CS), dan jumlah Dot Matrix yang dihubungkan ke Arduino void setup() { SPI.begin(); pinMode(SS_PIN, INPUT); // SS_PIN sebagai input agar Arduino berperan sebagai slave lc.shutdown(0,false); // Mengaktifkan display lc.setIntensity(0,8); // Mengatur kecerahan LED (nilai antara 0 dan 15) lc.clearDisplay(0); // Membersihkan tampilan dot matrix } void loop() { if (digitalRead(SS_PIN) == LOW) { // Jika dipilih oleh master byte patterns[8]; // Menerima data pola LED dari master for (int i = 0; i < 8; i++) { patterns[i] = SPI.transfer(0); } // Menampilkan pola LED pada dot matrix for (int row = 0; row < 8; row++) { lc.setRow(0, row, patterns[row]); } } }

Pada percobaan 6 modul 3, tidak terdapat kondisi, yang menyebabkan penulis hanya menjelaskan kondisi dari modul yan diberikan 
Percobaan 6






Untuk HTML di sini
Unduh Rangkaian Simulasi di sini
Unduh Program Slave di sini
Unduh Program Master di sini
Unduh Video Simulasi di sini

No comments:

Post a Comment

Periodic Relationships Among The Elements

  BAHAN PRESENTASI MATA KULIAH KIMIA 1  2020 OLEH M.Sean Mahogra Radi 2010952044 DOSEN PENGAMPU Dr.Darwison,MT Referensi: Chang, R. and Gold...