Tugas Pendahuluan 2 (Modul 2)

   




Percobaan 6

Kontrol Putaran Motor Stepper


1. Kondisi [Kembali]

Percobaan 6 Kondisi 5
Sertakan dengan LDR ketika bernilai <2.50 putaran motor searah jarum jam

2. Alat dan Bahan [Kembali]
  • Motor Stepper


  • Motor Driver
  • Button
  • LDR
  • Arduino UNO

  • Ground


3. Gambar Rangkaian Simulasi [Kembali]




4. Flowchart dan Listing Program[Kembali]






#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 LDR A0


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(LDR, INPUT);
}
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);

 // Read LDR value
  int ldrValue = analogRead(LDR);
  float voltage = ldrValue * 5.0 / 1023.0; // Convert analog reading to voltage (0-5V)
if (voltage < 2.5) {
    // LDR detects low light, move motor clockwise
    pergerakan_2();
  }
if (voltage > 2.5) {
    // LDR detects low light, move motor clockwise
    pergerakan_4();
  }
 
if (b4 == LOW)
{
pergerakan_4(); // Pindahkan servo ke 270 derajat
}
else if (b3 == LOW)
{
pergerakan_3(); // Pindahkan servo ke 180 derajat
}
else if (b2 == LOW)
{
pergerakan_2(); // Pindahkan servo ke 90 derajat
}
else if (b1 == LOW)
{
pergerakan_1(); // Pindahkan servo ke 0 derajat
}
else {
nonpergerakan();
delay(100);
}
}

5. Video Simulasi [Kembali]





6. Prinsip Kerja Rangkaian [Kembali]
Rangkaian percobaan ini merupakan rangkaian Kontrol Putaran Motor Stepper. Motor stepper dapat berubah sesuai dengan nilai input yang diberikan secara presisi. Dalam hal ini, dibutuhkan motor driver yang mengontrol arah putaran motor stepper.