Tugas Pendahuluan 2 Modul 2
(Percobaan 5 Kondisi 1)
1. Rangkai rangkaian di proteus sesuai dengan kondisi percobaan.
2. Tulis program untuk arduino di software Arduino IDE.
3. Compile program tadi, lalu upload ke dalam arduino.
4. Setelah program selesai di upload, jalankan simulasi rangkaian pada proteus.
2. Tulis program untuk arduino di software Arduino IDE.
3. Compile program tadi, lalu upload ke dalam arduino.
4. Setelah program selesai di upload, jalankan simulasi rangkaian pada proteus.
5. Selesai.
5. Dot Matrix
3. Rangkaian Simulasi dan Prinsip Kerja
[Kembali]
Rangkaian Simulasi Sebelum dirunning:
Prinsip Kerja :
Pada rangkaian di atas terdapat 4 buah switch pull down sebagai input yang terhubung ke arduino. Untuk output terdapat 2 output yaitu motor, dan dot matrix. Saat switch dihubungkan, maka akan memberikan logika high ke arduino. Jika pin 1 atau 3 dihubungkan maka untuk outputnya akan memutar motor ke arah kanan sesuai dengan kodingan yang telah ditetapkan, jika pin 2 atau 4 dihubungkan maka akan menampilkan panah arah ke kanan pada dot matrix sesuai dengan kodingan yang telah ditentukan.
4. Flowchart dan Listing Program
[Kembali]
Flowchart :
Listing Program :
// Library untuk mengendalikan dot matrix MAX7219
#include <LedControl.h>
// Pin yang digunakan untuk setiap komponen
#define switchPin1 13
#define switchPin2 12
#define switchPin3 11
#define switchPin4 10
#define motorIN1 1
#define motorIN2 2
#define motorEN1 3
#define DIN_PIN 5
#define LOAD_PIN 6
#define CLK_PIN 7
// Objek untuk mengendalikan dot matrix
LedControl lc = LedControl(DIN_PIN, CLK_PIN, LOAD_PIN, 1);
void setup() {
// Inisialisasi pin untuk switch
pinMode(switchPin1, INPUT);
pinMode(switchPin2, INPUT);
pinMode(switchPin3, INPUT);
pinMode(switchPin4, INPUT);
// Inisialisasi pin untuk motor
pinMode(motorIN1, OUTPUT);
pinMode(motorIN2, OUTPUT);
pinMode(motorEN1, OUTPUT);
// Inisialisasi dot matrix
lc.shutdown(0, false);
lc.setIntensity(0, 8);
lc.clearDisplay(0);
}
void loop() {
// Membaca status dari switch
bool switch1State = digitalRead(switchPin1);
bool switch2State = digitalRead(switchPin2);
bool switch3State = digitalRead(switchPin3);
bool switch4State = digitalRead(switchPin4);
// Jika switch 1 atau 3 aktif, maka motor berputar ke kanan
if (switch1State || switch3State) {
// Atur motor ke kanan
digitalWrite(motorIN1, HIGH);
digitalWrite(motorIN2, LOW);
// Aktifkan motor
digitalWrite(motorEN1, HIGH);
} else {
// Matikan motor jika tidak aktif
digitalWrite(motorEN1, LOW);
}
// Jika switch 2 atau 4 aktif, maka tampilkan panah ke kanan di dot matrix
if (switch2State || switch4State) {
// Tampilkan panah ke kanan di dot matrix
lc.setRow(0, 0, B00011000);
lc.setRow(0, 1, B00001100);
lc.setRow(0, 2, B00000110);
lc.setRow(0, 3, B11111111);
lc.setRow(0, 4, B11111111);
lc.setRow(0, 5, B00000110);
lc.setRow(0, 6, B00001100);
lc.setRow(0, 7, B00011000);
delay(500); // Tambahkan delay untuk efek visual
} else {
// Hapus tampilan jika tidak aktif
lc.clearDisplay(0);
}
}
Percobaan 5 Kondisi 1
Semua switch pull-down, switch 1 dan 3 motor ke kanan, switch 2 dan 4 panah ke kanan
6. Video Simulasi
[Kembali]
7. Download File
[Kembali]
Tidak ada komentar:
Posting Komentar