MODUL 3
TUGAS PENDAHULUAN 1
Ubah button menjadi saklar SPDT.
Rangkaian pada percobaan 1 terdiri dari 2 Arduino UNO (Master dan Slave), resistor 220 Ω, LED-Blue, dan SW-SPDT.
Gambar 2. Arduino and Pin Configuration |
Gambar 3. Resistor |
Gambar 4. LED and Pin Configuration |
SW-SPDT digunakan sebagai pengganti push button pada rangkaian percobaan ini. Pin COM dihubungkan ke pin 2 pada Arduino, pin A dihubungkan ke VCC, dan pin B dihubungkan ke GND.
Kemudian Arduino akan diprogram sesuai kondisi di aplikasi Arduino IDE:
- // MASTER
- #define spdt 2 menunjukkan pendeklarasian pin 2 untuk spdt.
- void setup (){ menunjukkan kode dalam fungsi ini hanya dibaca satu kali:
- pinMode (spdt, INPUT_PULLUP); menunjukkan spdt sebagai input dengan input_pullup dimana resistor pullup internal akan diaktifkan.
- Serial.begin(9600);} menunjukkan kecepatan data dan penerimaan data melalui port serial dengan kecepatan 9600 bit per second (bps).
- void loop (){ menunjukkan semua kode dalam fungsi ini akan dibaca berulang:
- int nilai=digitalRead(spdt); menunjukkan nilai didapatkan dari pembacaan SPDT.
- if(nilai == 0){ menunjukkan jika SPDT dihubungkan ke pin B (GND) maka kode di dalam if dieksekusi.
Serial.print("1");} menunjukkan perintah print 1 pada serial monitor.
- else{ menunjukkan jika SPDT dihubungkan ke pin A maka kode di dalam else dieksekusi.
Serial.print("2");} menunjukkan perintah print 2 pada serial monitor.
- delay(200); menunjukkan jeda waktu 200 ms sebelum melakukan perulangan.
Pada program Master, jika SPDT dihubungkan ke pin A, maka pada serial monitor muncul 2. Jika SPDT dihubungkan ke pin B, maka pada serial monitor muncul 1.
- // SLAVE
- #define led 12 menunjukkan pendeklarasian pin 12 untuk LED.
- void setup (){ menunjukkan kode dalam fungsi ini hanya dibaca satu kali:
- pinMode (led, OUTPUT); menunjukkan led sebagai output.
- Serial.begin(9600);} menunjukkan kecepatan data dan penerimaan data melalui port serial dengan kecepatan 9600 bit per second (bps).
- void loop (){ menunjukkan semua kode dalam fungsi ini akan dibaca berulang:
- if(Serial.available()>0) menunjukkan jika jumlah byte (karakter) yang tersedia untuk dibaca dari port serial lebih dari 0 maka kode di dalam if dieksekusi..
- int data=Serial.read(); menunjukkan data didapatkan dari serial data yang masuk.
- if(data=='1'){ menunjukkan jika data yang masuk 1 maka kode di dalam if dieksekusi.
digitalWrite(led, HIGH);} menunjukkan lED akan hidup.
- else{ menunjukkan jika data yang masuk selain 1 maka kode di dalam else dieksekusi.
digitalWrite(led, LOW);}}} menunjukkan lED akan mati.
Pada program Slave, jika data yang masuk adalah 1 maka LED akan hidup dan jika data yang masuk adalah 2 maka LED akan mati. Ini menunjukkan komunikasi UART bekerja, dimana jika SPDT dihubungkan ke pin B maka LED akan hidup dan jika dihubungkan ke pin A maka LED akan mati.
No comments:
Post a Comment