Jumat, 29 Maret 2024


1.  Prosedur [Kembali]
  1. Rangkai komponen sesuai percobaan dan kondisi yang dipilih.
  2. Buat program menggunakan Arduino IDE.
  3. Compile program yang telah dibuat lalu Upload ke dalam Arduino Uno.
  4. Uji coba program pada rangkaian percobaan sesuai dengan kondisi yang diinginkan.
  5. Selesai

2. Hardware dan Diagram Blok [Kembali]

a) Modul Arduino 



2. Push Button


3. IC ULN2003A

3. Rangkaian Simulasi dan Prinsip Kerja [Kembali]

Rangkaian Simulasi


Prinsip Kerja

Program ini menggunakan tombol-tombol untuk mengontrol gerakan motor stepper. Tombol PB4 digunakan untuk menggerakkan motor stepper maju, tombol PB3 digunakan untuk menggerakkan motor stepper mundur, tombol PB2 digunakan untuk menggerakkan motor stepper maju dan mundur secara bergantian, dan tombol PB1 digunakan untuk menggerakkan motor stepper maju, berhenti sebentar, kemudian bergerak mundur.h button ditekan, akan memberikan logika high ke Arduino. Inputan tersebut kemudian diolah berdasarkan program yang telah di upload, sehingga nanti nya keluaran berupa perputaran motor stepper dengan kondisi sesuai program.
Program ini menggunakan tombol-tombol untuk mengontrol gerakan motor stepper. Tombol PB4 digunakan untuk menggerakkan motor stepper maju, tombol PB3 digunakan untuk menggerakkan motor stepper mundur, tombol PB2 digunakan untuk menggerakkan motor stepper maju dan mundur secara bergantian, dan tombol PB1 digunakan untuk menggerakkan motor stepper maju, berhenti sebentar, kemudian bergerak mundur.

4. Flowchart dan Listing Program [Kembali]

Flowchart 



Listing Program
#define IN1 8
#define IN2 9
#define IN3 10
#define IN4 11
#define PB1 2
#define PB2 3
#define PB3 4
#define PB4 5

Baris-baris ini mendefinisikan konstanta untuk pin-pin yang digunakan dalam program. IN1, IN2, IN3, dan IN4 adalah pin-pin yang terhubung ke motor stepper, sedangkan PB1, PB2, PB3, dan PB4 adalah pin-pin yang terhubung ke tombol-tombol (push button).

int step = 100;
int delaytime=5; //makin kecil delay, makin cepat motor berputar

Baris ini mendefinisikan variabel step dengan nilai 100 dan variabel delaytime dengan nilai 5. Variabel delaytime digunakan untuk mengatur kecepatan putaran motor stepper, semakin kecil nilai delaytime, maka motor akan berputar semakin cepat.    

void setup(){
pinMode(IN1,OUTPUT);
pinMode(IN2,OUTPUT);
pinMode(IN3,OUTPUT);
pinMode(IN4,OUTPUT);
pinMode(PB1, INPUT);
pinMode(PB2, INPUT);
pinMode(PB3, INPUT);
pinMode(PB4, INPUT);
}

Fungsi setup() dijalankan sekali pada saat awal program dijalankan. Baris-baris ini mengatur mode pin-pin yang digunakan. Pin-pin IN1, IN2, IN3, dan IN4 diatur sebagai OUTPUT untuk mengontrol motor stepper, sedangkan pin-pin PB1, PB2, PB3, dan PB4 diatur sebagai INPUT untuk membaca nilai dari tombol-tombol.

void loop(){
int b4 = digitalRead(PB4);
int b3 = digitalRead(PB3);
int b2 = digitalRead(PB2);
int b1 = digitalRead(PB1);

Fungsi loop() dijalankan berulang-ulang selama program berjalan. Baris-baris ini membaca nilai dari tombol-tombol yang terhubung ke pin-pin PB1, PB2, PB3, dan PB4 dan menyimpannya dalam variabel b1, b2, b3, dan b4.

if (b4 == HIGH){
  maju();
else if (b3 == HIGH){
  mundur();
}
else if (b2 == HIGH){
  for (int i = 0; i < 60; i ++){
    maju();
  }
  for (int i = 0; i < 60; i++){
    mundur();  
  }
}
else if (b1 == HIGH){
  for (int i = 0; i < 50; i++){
    maju();
  }
  delay(2000);
  for (int i = 0; i < 50; i++){
    mundur();
  }
}
}

Baris-baris ini menggunakan pernyataan if dan else if untuk memeriksa nilai dari tombol-tombol yang ditekan. Jika tombol PB4 ditekan (b4 == HIGH), maka fungsi maju() akan dipanggil untuk menggerakkan motor stepper maju. Jika tombol PB3 ditekan (b3 == HIGH), maka fungsi mundur() akan dipanggil untuk menggerakkan motor stepper mundur. Jika tombol PB2 ditekan (b2 == HIGH), maka motor stepper akan bergerak maju selama 60 langkah, kemudian bergerak mundur selama 60 langkah. Jika tombol PB1 ditekan (b1 == HIGH), maka motor stepper akan bergerak maju selama 50 langkah, berhenti selama 2 detik, kemudian bergerak mundur selama 50 langkah.



void maju(){
//step 4
step1();
delay(delaytime);
//step 3
step2();
delay(delaytime);
//step 2
step3();
delay(delaytime);
//step 1
step4();
delay(delaytime);
}

void mundur(){
//step 4
step4();
delay(delaytime);
//step 3
step3();
delay(delaytime);
//step 2
step2();
delay(delaytime);
//step 1
step1();
delay(delaytime);
}

Fungsi maju() digunakan untuk menggerakkan motor stepper maju. Fungsi ini memanggil fungsi-fungsi step1(), step2(), step3(), dan step4() secara berurutan dengan jeda waktu delaytime di antara setiap langkah. Urutan ini menghasilkan gerakan maju pada motor stepper. Fungsi mundur() digunakan untuk menggerakkan motor stepper mundur. Fungsi ini memanggil fungsi-fungsi step4(), step3(), step2(), dan step1() secara berurutan dengan jeda waktu delaytime di antara setiap langkah. Urutan ini menghasilkan gerakan mundur pada motor stepper.

void step1(){
digitalWrite(IN1,LOW);
digitalWrite(IN2,LOW);
digitalWrite(IN3,HIGH);
digitalWrite(IN4,HIGH);
}
void step2(){
digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW);
digitalWrite(IN3,LOW);
digitalWrite(IN4,HIGH);
}
void step3(){
digitalWrite(IN1,HIGH);
digitalWrite(IN2,HIGH);
digitalWrite(IN3,LOW);
digitalWrite(IN4,LOW);
}
void step4(){
digitalWrite(IN1,LOW);
digitalWrite(IN2,HIGH);
digitalWrite(IN3,HIGH);
digitalWrite(IN4,LOW);
}

Fungsi-fungsi step1(), step2(), step3(), dan step4() digunakan untuk mengatur logika tinggi/rendah pada pin-pin IN1, IN2, IN3, dan IN4 yang terhubung ke motor stepper. Setiap fungsi mewakili satu langkah dalam urutan gerakan motor stepper. Dengan mengatur kombinasi logika tinggi/rendah pada pin-pin ini, motor stepper dapat digerakkan maju atau mundur sesuai dengan urutan yang dipanggil.
Secara keseluruhan, program ini menggunakan tombol-tombol untuk mengontrol gerakan motor stepper. Tombol PB4 digunakan untuk menggerakkan motor stepper maju, tombol PB3 digunakan untuk menggerakkan motor stepper mundur, tombol PB2 digunakan untuk menggerakkan motor stepper maju dan mundur secara bergantian, dan tombol PB1 digunakan untuk menggerakkan motor stepper maju, berhenti sebentar, kemudian bergerak mundur.

5. Kondisi [Kembali]

Modul 2 Percobaan 6

6.  Video Simulasi [Kembali]




7. Download File [Kembali]

HTML                    klik disini
File Rangkaian       klik disini
Video Percobaan    klik disini
Listing Program     klik disini
Datasheet Arduino klik disini
Datasheet Button   klik disini
Datasheet  Motor stepper + IC ULN2003  klik disini

Tidak ada komentar:

Posting Komentar

Entri yang Diunggulkan

Laporan Akhir Project M4

Laporan Akhir Demo Project [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Pendahuluan 2. Tujuan 3. Alat dan Bahan 4. Dasar Teori 5. Percobaan   ...