TUGAS PENDAHULUAN 2 Up dan Uc Modul 2
1. Prosedur [Kembali]
- Rangkailah seperti rangkaian berikut
- Buka Arduino IDE dan masukan listing program Upload program ke arduino
- Variasikan tombol yang ditekan dan amati keluarannya pada Dotmatriks
2. Hardware dan
Diagram Blok [Kembali]
Prinsip kerja dari rangkaian ini adalah, ketika Arduino menerima inputan sinyal digital dari button dan sesuai dengan program, maka Arduino akan menangkapnya sebagai sebuah instruksi, yang mana akan meneruskan ke moto stepper. Lalu akan terlihat pergerakan motor stepper yang bergerak secara beraturan.
PB1 akan menggerakkan motor ke 0 derajat, PB2 ke 90 derajat, PB3 ke 180 derajat, sedangkan PB4 ke 270 derajat. Pergerakan tadi bergerak secara clockwise (searah jarum jam). Namun apabila sensor Infrared berlogika low, maka motor stepper akan bergerak dengan arah berlawanan jarum jam.
4. Flowchart dan Listing Program [Kembali]
Flowchart
Listing
Program
#define A 8 | |
#define B 9 | |
#define C 10 | |
#define D 11 | |
#define PB1 2 | |
#define PB2 3 | |
#define PB3 4 | |
#define PB4 5 | |
#define PB5 12 | |
void setup() { | |
// put your setup code here, to run once: | |
Serial.begin(9600); | |
pinMode(A, OUTPUT); | |
pinMode(B, OUTPUT); | |
pinMode(C, OUTPUT); | |
pinMode(D, OUTPUT); | |
pinMode(PB1, INPUT_PULLUP); | |
pinMode(PB2, INPUT_PULLUP); | |
pinMode(PB3, INPUT_PULLUP); | |
pinMode(PB4, INPUT_PULLUP); | |
pinMode(PB5, INPUT_PULLUP); | |
} | |
void pergerakan_1(){ | |
digitalWrite(A,0); | |
digitalWrite(D,1); | |
digitalWrite(B,0); | |
digitalWrite(C,1); | |
} | |
void pergerakan_2(){ | |
digitalWrite(A,1); | |
digitalWrite(D,1); | |
digitalWrite(B,0); | |
digitalWrite(C,0); | |
} | |
void pergerakan_3(){ | |
digitalWrite(A,1); | |
digitalWrite(D,0); | |
digitalWrite(B,1); | |
digitalWrite(C,0); | |
} | |
void pergerakan_4(){ | |
digitalWrite(A,0); | |
digitalWrite(D,0); | |
digitalWrite(B,1); | |
digitalWrite(C,1); | |
} | |
void nonpergerakan(){ | |
digitalWrite(A, 0); | |
digitalWrite(D, 0); | |
digitalWrite(B, 0); | |
digitalWrite(C, 0); | |
} | |
void loop() { | |
int b4 = digitalRead(PB4); | |
int b3 = digitalRead(PB3); | |
int b2 = digitalRead(PB2); | |
int b1 = digitalRead(PB1); | |
int b5 = digitalRead(PB5); | |
if (b4 == LOW) | |
{ | |
pergerakan_4(); // Pindahkan servo ke 45 derajat | |
} | |
else if (b3 == LOW) | |
{ | |
pergerakan_3(); // Pindahkan servo ke 45 derajat | |
} | |
else if (b2 == LOW) | |
{ | |
pergerakan_2(); // Pindahkan servo ke 45 derajat | |
} | |
else if (b1 == LOW) | |
{ | |
pergerakan_1(); // Pindahkan servo ke 45 derajat | |
} | |
else { | |
nonpergerakan(); | |
delay(100); | |
} | |
if (b5 == LOW) | |
{ | |
pergerakan_2(); | |
delay(10); | |
pergerakan_3(); | |
delay(10); | |
pergerakan_4(); | |
delay(10); | |
pergerakan_1(); | |
delay(10); | |
pergerakan_2(); | |
delay(10); | |
pergerakan_3(); | |
delay(10); | |
pergerakan_4(); | |
delay(10); | |
pergerakan_1(); | |
delay(10); | |
} | |
} |
5. Video Demo [Kembali]
Saat Praktikum diambil
6. Kondisi [Kembali]
P6K4 Sertakan dengan IR sensor, ketika berlogika LOW putaran motor berlawanan arah jarum jam
7. Video Simulasi [Kembali]
8. Link Download [Kembali]
Download
HTML [Klik di sini]
Download file
rangkaian [Klik di sini]
Download video
rangkaian [Klik di sini]
Download program
Arduino [Klik di sini]
Download datasheet
Arduino [Klik di
sini]
Download datasheet
IR [Klik di sini]
No comments:
Post a Comment