Hell Yeah Pointer 5

MODUL 3

TUGAS PENDAHULUAN 1




Ubah button menjadi saklar SPDT.

Gambar 1. Rangkaian Simulasi



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
Pin Tx dan Rx Master Arduino dihubungkan ke pin Rx dan Tx Slave Arduino, kemudian pin 2 Master Arduino berfungsi sebagai input yang dihubungkan ke spdt, sedangkan pin 12 Slave Arduino berfungsi sebagai output yang dihubungkan ke LED.
Gambar 3. Resistor
Resistor dihubungkan diantara pin Arduino dan pin anoda LED sebagai pengaman (menghambat atau membatasi aliran listrik yang mengalir dalam rangkaian).
Gambar 4. LED and Pin Configuration
Pin anoda dihubungkan ke sisi positif (pin Arduino) dan pin cathode dihubungkan ke sisi negatif (ground). Maka untuk menghidupkan LED pada program diberi kondisi HIGH (1), sedangkan untuk mematikan LED diberi kondisi LOW (0).
Gambar 5. SPDT 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:
Gambar 6. Listing Program Master
  • // 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.

Gambar 7. Listing Program Slave
  • // 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. 

  • Arduino: P1 Master.ino 📩 || P1 Slave.ino 📩
  • Datasheet: Arduino.pdf 📩 || Resistor.pdf 📩 || LED.pdf 📩 || SPDT.pdf 📩 
  • Html: TP M3.html 📩 
  • Library: Arduino.zip 📩
  • Proteus: Percobaan 1.pdsprj 📩
  • Video: Percobaan 1.mp4 📩


No comments:

Post a Comment